为什么我的开关盒在do while循环中不起作用,甚至在应该继续的时候也会脱离循环



预期的行为是将名称作为输入并再次运行while循环,但它只是转到下一行,什么也不做。

#include <iostream>
using namespace std;   
int main()
{
int ch,mb;
bool y=true;
char name;
cout<<"Enter 1,2 or 3 : ";
do{
cin>>ch;
switch(ch)
{
case 1:
cout<<" nt 1.ENTER CUSTOMER NAME :";    
cin>>name;     
continue;
case 2:
cout<<" nt 2.ENTER MOBILE NUMBER:";
cin>>mb;
continue;
case 3:
y=false;
}
}while(y!=false);
}

它不会"什么都不做";它等待下一个输入。因为这就是你让它做的!

如果要获得另一个提示,请将cout<<"Enter 1,2 or 3 : ";移动到循环内


顺便说一句,char一个字节,所以这并不适合读取整个客户名称;此外,您应该避免使用int作为电话号码。

使用break;而不是继续;break将执行移到开关的末尾。

编辑:我认为问题是你再也看不到你的提示了。所以在你的循环中移动它。

最新更新