gpt4 book ai didi

带 While 循环的 C++ Switch 语句

转载 作者:行者123 更新时间:2023-11-28 06:03:46 25 4
gpt4 key购买 nike

我有一个系统,用户可以输入任意数量的输入并进行一些计算。

这是完成这个任务的主循环:

int main() {
char op;

while(op != 'x'){
cout << "Please select: " << endl;
cout << "1 ---> A" << endl;
cout << "2 ---> B" << endl;
cout << "3 ---> C " << endl;
cout << "4 ---> D " << endl;
cout << "5 ---> Calculate" << endl;
cout << "x ---> Exit" << endl;

op = std::getchar();

switch(op){
case '1':
cout<<"1";
break;
case '2':
cout<<"2";
break;
case '3':
cout<<"3";
break;
case '4':
cout<<"4";
break;
case '5':
cout<<"5";
break;
case 'x':
return 0;
default:
continue;
}

}
return 0;
}

但是,在控制台中我看到 cout 语句两次而不是一次。示例控制台如下所示:

Please select: 
1 ---> A
2 ---> B
3 ---> C
4 ---> D
5 ---> Calculate
x ---> Exit
1
1Please select:
1 ---> A
2 ---> B
3 ---> C
4 ---> D
5 ---> Calculate
x ---> Exit
Please select:
1 ---> A
2 ---> B
3 ---> C
4 ---> D
5 ---> Calculate
x ---> Exit

关于如何在用户做出选择后只显示一次 cout 语句有什么想法吗?

最佳答案

之后输入流中似乎还有一些字符
    op = std::getchar();

添加一行以忽略输入流中的其余行。

    op = std::getchar();
int temp;
while ( (temp = std::getchar()) != '\n' && temp != EOF );

关于带 While 循环的 C++ Switch 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32788299/

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