预期的行为是将名称作为输入并再次运行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<<" \n\t 1.ENTER CUSTOMER NAME :";
cin>>name;
continue;
case 2:
cout<<" \n\t 2.ENTER MOBILE NUMBER:";
cin>>mb;
continue;
case 3:
y=false;
}
}while(y!=false);
}
最佳答案
它不会“无所事事”;它等待下一个输入。因为那就是你告诉它要做的!
如果要再次提示,请在循环内移动cout<<"Enter 1,2 or 3 : ";
行。
顺便说一句,char
是一个字节,因此实际上不适合读取整个客户名称。此外,you should avoid using int
s for telephone numbers。
关于c++ - 为什么我的do case循环内的开关盒无法正常工作,即使应该继续运行也会中断循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61529077/