我是 C++ 中的业余练习代码,我无法让我的代码正常工作。我希望有人能找到我的问题或指出我正确的方向。
我只是想创建一个开关/案例菜单供用户选择。我希望他们不能输入任何不正确的值作为输入。唯一正确的值是 1、2、3 或 4。如果输入了任何更低、更大或非数字的值,我希望它们陷入循环,直到它们输入正确的值。
我的工作错误检查问题是,当他们实际输入正确的值时,他们仍然卡在循环中?!我曾尝试重新排列我的代码,但随后该错误再次炸毁了我的程序。
感谢您的任何建议、代码输入等。我不知道为什么它不起作用!!!
并在相关说明中。我在让我的 jgrasp 下载为 c++ 正常工作时遇到问题,所以我下载了一个名为 code::block 的编译器。由于某种原因,它无法注册 system("") 命令?!任何想法或更好的编译器将不胜感激。谢谢。哦,这是我第一个问题的代码......在代码之后是我的开关/案例菜单开始的地方。感谢您的任何帮助
int main()
{
string name;
int ans2, ans3, count = 0, extra, select = 1, arraycount = 0, choice;
bool flag = true;
cout << "Hello World" << endl;
cout << "Enter your name: ";
cin >> name;
cout << "Thank you for using this program " + name << endl;
while (select != 4)
{
cout << "MAIN MENU\n";
cout << "Please enter a corrisponding numeric for your selection.\n";
cout << "1. You are Michael...\n";
cout << "2. You are Tim\n";
cout << "3. You are someone else\n";
cout << "4. Program exit\n";
cout << "Enter your selection: ";
cin >> select;
do
{
while(!(cin >> select))
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Invalid input. Try again: ";
}
cout << "You entered: " << select << endl;
if (select != 1 && select != 2 && select != 3 && select != 4)
{
flag = false;
cout << "Error. Please enter a valid selection.";
cout << "Enter your selection";
cin >> select;
}
else
flag = true;
}while(flag == false);
cout << "\n\nThank you for your choice\n";
//system("pause");
//system("cls");