Если вы создадите al oop следующим образом:
int myInt = 1;
while (myInt)
{
std::cin >> myInt;
}
l oop будет продолжаться до тех пор, пока пользователь не введет 0. Это потому, что условные операторы используют 0 в качестве «ложного», и в этом случае любое другое значение как "true".
Проблема с вашей реализацией состоит в том, что вы вводите данные пользователя только один раз, и даже если пользователь вводит "0" (в формате char), соответствующее целочисленное значение равно 48. Вы можете добавить это:
HANDLE color=GetStdHandle(STD_OUTPUT_HANDLE);
cout<<"Press any key to start...";
int stop=getchar();
while(stop){
for(i=10;i<=15;i++){
cout <<("\n\t\t\t\t\t Welcome to my program\n");
SetConsoleTextAttribute(color,i);
Sleep(100);
system("cls");
}
std::cin >> stop;
}
Теперь l oop запустится, когда пользователь нажмет любую клавишу, затем запустится внутренняя l oop, затем пользователю потребуется снова ввести ключ , Если в этот раз пользователь введет «0», то while () l oop прекратит работу и программа продолжит работу.
Если вы пытаетесь сохранить все oop работающими во время поиска чтобы пользовательский ввод сломал l oop, вы пытаетесь выполнить гораздо более сложную задачу. Посмотрите в библиотеку std :: thread, если вы заинтересованы в этом.