Ребята, почему этот код становится бесконечным циклом? Я изучаю C++ так что если вы можете объясните решение, для меня это было бы очень важно!важное решение для цикла while
// Odd_or_Even.cpp : This program determinate if a number is Odd or Even
//
#include "stdafx.h"
#include "std_lib_facilities.h";
int main()
{
int num = 0;
bool repeat = true;
while (repeat == true)
{
cout << "Please enter an integer to determinate if it's odd or even: ";
cin >> num;
cout << "\nReading data...";
if (!cin) {
cout << "Failed\n";
cout << "There is some problem with the number, sorry!\n";
cout << "\n";
cin.clear();
}
else
{
cout << "God job, now stop lose time.";
repeat = false;
}
}
keep_window_open();
return 0;
}
Спасибо!
EDIT: ok Я набрал if для блокировки цикла, но если вы попытаетесь написать письмо, вместо числа, оно все равно идет в цикле!
У вас должна быть строка, которая изменит значение repeat на false в выражении if – brenners1302
Да, я знаю, но я хочу, чтобы, когда я говорю «извините», он возвращается в начало и повторяется, вместо этого выход становится бесконечным в : cout << "Failed \ n"; cout << «Существует некоторая проблема с номером, извините! \ N"; cout << "\ n"; – RavenJe
, если он вернется к началу, чтобы вызвать другое значение, когда вы предлагаете закончить цикл? – brenners1302