gpt4 book ai didi

c++ - 为项目创建一个简单的控制菜单,循环打印提示的次数比预期的多

转载 作者:太空宇宙 更新时间:2023-11-04 12:55:45 25 4
gpt4 key购买 nike

我对这段代码的意图是使用 switch 语句作为我正在处理的项目的简单控制菜单。这段代码的问题是第一个“cout”语句像这样打印了两次:

What would you like to do? (Press a letter):

What would you like to do? (Press a letter):

而不是我所期望的:

What would you like to do? (Press a letter):

这是我的代码(为了便于阅读,我删除了 case 语句中的所有内容):

char cMenu;

while (true) {
cout << endl << "What would you like to do?" << endl <<"(Press a letter): " << endl;
cin >> cMenu;

switch (cMenu)
{
case 'C':
case 'c':
{
cout << "*";
break;
}
case 'J':
case 'j':
{
cout << "*";
break;
}
case 'S':
case 's':
{
cout << "*";
break;
}
case 'X':
case 'x':
cout << "*";
break;
}
}

最佳答案

感谢 u/lcs 提醒我“cin.ignore”的存在。

我的解决方案是添加以下行:

 cin.ignore(100,'\n');

就在我输入“cMenu”以忽略任何前导新行之前。

关于c++ - 为项目创建一个简单的控制菜单,循环打印提示的次数比预期的多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46797590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com