В этой программе все варианты, отличные от 0 до 4, являются недействительными, поэтому пользователю снова и снова предлагается его выбор. Затем, когда введен выбор «1», программа выполнит добавление двух чисел. Поэтому он будет продолжать запрашивать два числа (x и y), а затем распечатывать результат вычисления. Затем пользователь может выбрать другой расчет. Пока пользователь не выбирает вариант «5» для выхода из программы, программа будет продолжать выполнять разные вычисления, выбранные пользователем. Я хочу выйти из программы при выборе == 5. Но он возвращает меня только: «Ваш выбор недействителен, пожалуйста, введите снова». Вот код:Вложенный цикл do-while и while-loop
#include <iostream>
using namespace std;
int main()
{
int choice, x, y, z;
do
{
cout << "Math is easy!" << endl << "1. Perform addition" << endl << "2. Perform subtraction" << endl <<
"3. Perform multiplication" << endl << "4. Perform division" << endl << "5. Quit" << endl << "Please enter your choice[1 - 5]:" << endl;
cin >> choice;
while (choice < 1 || choice > 4)
{
cerr << "Your choice is invalid, please enter again.";
cin >> choice;
}
cout << "Please enter x:" << endl;
cin >> x;
cout << "Please enter y:" << endl;
cin >> y;
if (choice == 1)
{
z = x + y;
cout << x << "+" << y << "=" << z << endl;
}
if (choice == 2)
{
z = x - y;
cout << x << "-" << y << "=" << z << endl;
}
if (choice == 3)
{
z = x * y;
cout << x << "*" << y << "=" << z << endl;
}
if (choice == 4)
{
z = x/y;
cout << x << "+" << y << "=" << z << endl;
}
} while (choice != 5);
system("pause");
return 0;
}
Как это сделать?
Вы видите, я надеюсь, что когда вы входите в 5, ваш цикл «while» отвергает его и снова спрашивает. Поэтому вам нужен специальный код для проверки 5 до этого цикла. – bobwki