所以我正在编写这段代码,并使用了 switch 语句。我想要做的是,当选择任何无效选项时,程序应该显示一条消息,然后在一段时间后仅清除该消息,同时保持选项仍在屏幕上。在到目前为止的代码中,我使用 Windows.h 库的 Sleep 函数进行暂停,还使用 goto 返回询问选项,但似乎不知道如何从屏幕上删除错误消息。我无法使用,system("cls");因为在选择此选项之前我有一个菜单,有点像登录,所以我不希望它消失,直到选择了有效的选项。这是我的代码:
cout<<endl<<"\t\t\t\t\t\t - Access Denied! -"<<endl;
cout<<"\t\t\t\t\t\t + Press [1] To Try Again. +"<<endl;
cout<<"\t\t\t\t\t\t + Press [2] To Go Back. +"<<endl;
char TryAgain = ' ';
cout<<"\t\t\t\t\t\t >>[ ]<< ";
InvalidOption:
SetConsoleCursorPosition(hStdout, { 84, 14 });
cin>>TryAgain;
switch (TryAgain)
{
case '1':
goto LoginAgain;
case '2':
break;
default:
{
cout<<"\t\t\t\t\t Select A Valid Option!";
Sleep ( 450 );
cout << "\b";
goto InvalidOption;
}
}
Run Code Online (Sandbox Code Playgroud)
是的,我正在使用大量的/t,也许还有一堆其他的东西,但这只是我正在尝试的示例代码,而不是直接在我的原始项目上进行实验。