У меня были проблемы с выполнением этого задания. Мне просто трудно понять, и я не совсем уверен, что делать. Я исследовал и смотрел видео и не смог найти нужную конкретную информацию. Это куча вопросов, поэтому я надеюсь, что кто-то не только даст мне ответы, но и объяснит мне, чтобы у меня было сильное понимание :). Вот вопросы:
1) В этом упражнении нам дали некоторый программный код, который будет принимать два целых числа в качестве входных данных
и оценить, какой из них имеет большее значение. Эта оценка происходит в нескольких местах
по всему коду. Напишите функцию, которую программа могла бы использовать для выполнения этой же оценки
вместо дублирования кода снова и снова. Начните с написания подходящего объявления функции
к началу файла кода. Вам придется решить, вернется ли ваша функция
какой-то вывод или нет.
2) С написанным заявлением приступите к определению функции, включая соответствующие части
код, который будет оценивать, какое из двух целых чисел является наибольшим. Если вы заявили ранее, что ваш
Функция вернет значение, обязательно определите, что оно здесь вернет.
3) Используйте ваш результат из частей (1) и (2), чтобы уменьшить количество дублирующегося кода в основной функции
обеспечивается путем замены нескольких экземпляров целочисленного сравнения вызовом для вызова
Функция, которую вы создали. Помните, что функция потребует передачи двух целых чисел в
в качестве аргументов, и если вы возвращаете какое-то значение из функции, оно должно использоваться (хранится в
переменная, выводимая на экран и т. д.). Как совет, проверьте, правильно ли работает ваша функция после
заменяя только одну из оценок, не заменяйте их все сразу (если функция работает правильно
для первой замены, то она должна работать для остальных).
4) Так как созданная вами функция сравнивает только значения ее параметров и не записывает
для них (т.е. изменить значение, хранящееся в них) мы должны указать в объявлении функции и
Определение, что эти параметры должны рассматриваться как константы. Сделайте необходимое
внесите изменения в функцию и повторите тестирование, чтобы убедиться, что функция все еще работает. Подтвердите функцию
не позволит вам изменить данные параметров, пытаясь включить операцию в функцию
это изменило бы значение одной из переменных (например, число2 + = 10;)
— Вот код (прошу прощения за долгое написание):
#include <iostream>
int main(void)
{
using std::cout;
using std::cin;
using std::endl;
int nNum1 = 10, nNum2 = 11;
cout << "This program will compare two numbers and report which one is larger.\n\n"<< "Proceeding with evaluation...\n" << endl;
cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
if (nNum1 > nNum2)
cout << nNum1 << endl;
else if (nNum1 < nNum2)
cout << nNum2 << endl;
else
cout << "Neither of them! It's a draw." << endl;
int numberA = 234;
int numberB = 234;
cout << "\nUsing numbers: " << numberA << " and " << numberB << ", the larger one is: ";
if (numberA > numberB)
cout << numberA << endl;
else if (numberA < numberB)
cout << numberB << endl;
else
cout << "Neither of them! It's a draw." << endl;
int one = 'a';
int two = 'A';
cout << "\nUsing numbers: " << one << " and " << two << ", the larger one is: ";
if (one > two)
cout << one << endl;
else if (one < two)
cout << two << endl;
else
cout << "Neither of them! It's a draw." << endl;
cout << "\nUsing numbers: " << 13 << " and " << 84 << ", the larger one is: ";
if (13 > 84)
cout << 13 << endl;
else if (13 < 84)
cout << 84 << endl;
else
cout << "Neither of them! It's a draw." << endl;
int input1 = 0;
int input2 = 0;
cout << "\nPlease enter a number: ";
cin >> input1;
cout << "\nPlease enter a second number: ";
cin >> input2;
cout << "\nUsing numbers: " << input1 << " and " << input2 << ", the larger one is: ";
if (input1 > input2)
cout << input1 << endl;
else if (input1 < input2)
cout << input2 << endl;
else
cout << "Neither of them! It's a draw." << endl;
cout << "\n\tThank you for running me :3\n" << endl;
return 0;
}
Вы в основном должны реорганизовать код, чтобы заменить дублирующуюся часть кода в вашем main
функция.
Если вы посмотрите внимательно, вы увидите, что этот код повторяется:
cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
if (nNum1 > nNum2)
cout << nNum1 << endl;
else if (nNum1 < nNum2)
cout << nNum2 << endl;
else
cout << "Neither of them! It's a draw." << endl;
Так что поместите это в функцию:
void CompareNumbers(int nNum1, int nNum2)
{
cout << "\nUsing numbers: " << nNum1 << " and " << nNum2 << ", the larger one is: ";
if (nNum1 > nNum2)
cout << nNum1 << endl;
else if (nNum1 < nNum2)
cout << nNum2 << endl;
else
cout << "Neither of them! It's a draw." << endl;
}
И вызовите это в своей основной функции вместо дублирования указанного блока кода.