У меня возникли трудности с правильной работой моей программы. Для той части проекта, с которой у меня возникли трудности, мне нужно создать функцию, которая проверяет два разных числа, введенных пользователем. Однако всякий раз, когда я запускаю программу, я получаю две ошибки.
Во-первых, ввод сначала читается как ввод 0 (хотя я этого не делал).
А во-вторых, он обрабатывает первый ввод через тест проверки второго ввода.
Прототипы функций:
int validate(int , int);
Главный:
do
{
//display the menu
displayMenu();
cin >> choice;
validate(choice, months);
// process the user's choice
if (choice != QUIT_CHOICE)
{
// get the number of months
cout << over3 << "For how many months? ";
cin >> months;
validate(choice, months);
}
И рассматриваемый прототип функции:
int validate(int choice, int months)
{
while (choice < 1 || choice > 4)
{
cout << over3 << choice << " is not between 1 and 4! Try again: ";
cin >> choice;
}
while (months < 1 || months > 12)
{
cout << over3 << months << " is not between 1 and 12! Try again: ";
cin >> months;
}
}