无法退出无限循环

问题描述 投票:0回答:1

我的程序通过输入任何键开始,然后用户看到变色文字“欢迎使用我的程序”。现在,用户应该按任意键才能继续,但是他不能退出改变文本颜色的无限循环。为了让您更好地理解,我让您看一下代码。

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");
    }
}
c++ text colors infinite-loop
1个回答
0
投票

[当您使用getchar()从用户那里获取输入时,它将在整数stop中存储用户输入的缓冲区的十进制值。

例如:如果用户输入'0',则stop变量将存储值48(字符'0'的十进制值)。

[而while循环将在stop不等于0时继续运行,这绝不是因为所有字符的十进制值都不为0,其十进制值为0的唯一字符是NULL。] >

要解决您的问题,您将需要根据需要添加退出选项。

© www.soinside.com 2019 - 2024. All rights reserved.