预期的行为是将名称作为输入并再次运行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将执行移到开关的末尾。
编辑:我认为问题是你再也看不到你的提示了。所以在你的循环中移动它。