Это очень простая программа, которую я хочу запустить. Пользователю предлагается выбрать один из трех вариантов программ, которые появляются в отдельности в коде.Базовый ввод £ Бесконечный цикл
Я хочу принимать только целые входы со значениями 1,2,3,4 и 5, например. По какой-то причине текущая программа принимает только 1 вход, а цикл while повторяется бесконечно для нецелого ввода.
Может ли кто-нибудь заметить эти две проблемы и предложить некоторые исправления для меня? Заранее спасибо.
Код:
#include <iostream>
using namespace std;
int main() {
int programversion;
cout << "Which program version would you like to run? Basic [1], advanced [2], or advanced-variant [3]?\n";
cin >> programversion;
while (programversion != (1||2||3))
{
cout << "That is not a correct input integer - please choose [1], [2] or [3]\n";
cin >> programversion;
}
if (programversion == 1)
{
cout << "You chose option 1.\n";
}
if (programversion == 2)
{
cout << "You chose option 2.\n";
}
if (programversion == 3)
{
cout << "You chose option 3.\n";
}
return 0;
}
Ваше '(programversion! = (1 || 2 || 3))' условие неверно, но вы должны были обнаружить, что отлаживая ваш код. – xxbbcc