Я просто пытаюсь заставить пользователя указать свое имя/возраст и проверить, правильно ли оно. Если нет, то они получат 4 попытки до того, как программа прервется. Однако мои циклы while не замыкаются, вместо этого они просто продолжают переход к следующему циклу. Я пробовал изменения вещей внутри в то время как скобка (op != 1) (!(op = 1))
и т.д.Почему этот цикл C++ While не работает?
int main() {
system("Color 0A");
string name;
int age;
int tries = 0;
int op = 0;
cout << "Hello User" << endl;
Sleep(3000);
while ((op != 1) && (tries < 4)) {
name = entName(name);
cout << "So your name is " << name << "?" << endl;
cout << "Enter '1' for YES or '2' for NO. ";
cin >> op;
if (op == 1) {
cout << "Perfect!";
}
if (op == 2) {
cout << "Please Try Again!";
tries+ 1;
}
if (tries = 4) {
//abort the program
}
}
int op2 = 0;
int tries2 = 0;
while ((op2 != 1) && (tries2 < 4)) {
op2 = 3;
age = entAge();
cout << "So you are " << age << " years old?" << endl;
while ((op2 != 1) && (op2 != 2)) {
cout << "Enter '1' for YES or '2' for NO. ";
cin >> op2;
if (op2 == 1) {
cout << "Perfect!\n";
}
if (op2 == 2) {
cout << "Please Try Again!\n";
tries2++;
}
if (tries2 = 4) {
//abort the programhi
}
}
}
return 0;
}
Я довольно новыми для C++, так что я извиняюсь, если у него есть простой ответ. Но в любом случае, я отлаживал это более получаса, и я смотрел онлайн 20 минут.
Вы понимаете '=' is assign и '==' правильно сравнение? – Li357
«Я пробовал вариацию вещей внутри скобки». Программирование путем угадывания действительно не очень хорошо, что вы знаете. – Rakete1111
Включить все предупреждения в вашем компиляторе; они поймают такие вещи. '-Wall -Wextra' и' -Weverything', если вы используете clang. – Ryan