Мне задали задачу создать игру 20 вопросов, используя C++, где пользователь думает о числе от 1 до 100, после чего компьютер догадается. Чтобы сделать это, я пытался научиться использовать оператор switch, поскольку я чувствую, что это поможет мне в моем основном коде. Однако я не могу заставить его работать с постоянной ошибкой незаконного разрыва кода. Я попытался изменить код и искать в Интернете ответы, но я не смог их найти. Мой код выглядит следующим образом:20 Вопросы Game - Заявление о переключении
#include <iostream>
using namespace std;
int main()
{
int i;
cout << "Enter an integer: ";
cin >> i;
switch (int i)
{
case i > 1 :
{
cout << "int greater than 1, less than 5"; endl;
break;
}
case i > 5 :
{
cout << "int greater than 5 less than 10"; endl;
break;
}
case i > 10 :
{
cout << "int greater than 10"; endl;
break;
}
}
system("PAUSE");
return 0;
}
И ошибка, которая показывает это:
error C2043: illegal break
Если кто-то может помочь мне ответить, почему эти ошибки продолжают показывать его будет очень признателен!
Ах, добро пожаловать в мир «С' switch' оператор не ведет себя, как я хотел бы это. " Вы вернетесь много раз. – japreiss
Язык C++ не разрешает операторы реляционных компараторов в операциях 'case'. Значение в выражении 'case' должно быть константой. –
Требуется ли у вашего задания ровно 20 вопросов? Потому что это откровенно перекидыш, в диапазоне 1-100 вам, вероятно, потребуется всего около 10 вопросов, чтобы программа угадала номер. –