我这个代码为什么只能先输入A才可以正常运行
#include<iostream>#include<cstdlib>
using namespace std;
int main()
{
char ch1 = 'A';
char ch2 = 'D';
char ch3 = 'S';
char ch4 = 'Q';
char ch5 ;
cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one: ";
cin >> ch5;
switch(ch5)
{
case 'A' : cout<<"数据已经增加"<<endl;
}
cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one: ";
cin >> ch5;
switch(ch5)
{
case 'D' : cout<<"数据已经删除"<<endl;
}
cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one: ";
cin >> ch5;
switch(ch5)
{
case 'S' : cout<<"数据已经排序"<<endl;
}
cout << "Menu: A(dd) D(elete) S(ort) Q(uit), Select one: ";
cin >> ch5;
switch(ch5)
{
case 'Q' : cout<<endl;break;
}
return 0;
} 这是因为在程序中,只有在输入A、D、S、Q这四个字符中的一个时,才会执行相应的操作。如果输入其他字符,程序将会继续等待输入,造成程序看起来“卡住了”。
为了解决这个问题,可以在switch语句后添加一个default分支,用于处理输入了其他字符的情况。例如:
switch(ch5)
{
case 'A' : cout<<"数据已经增加"<<endl; break;
case 'D' : cout<<"数据已经删除"<<endl; break;
case 'S' : cout<<"数据已经排序"<<endl; break;
case 'Q' : cout<<endl; break;
default: cout<<"无效的选择"<<endl; break;
}
这样,当输入了除A、D、S、Q以外的字符时,程序就会输出“无效的选择”,而不会继续等待输入。
页:
[1]