怎样在在C++中输出一个五行的表格?还有我发现以下的代码(部分)输入英文字母后会没反应,怎样解决?

int menu()
{
int choose;
cin>>choose;
while(choose!=0&&choose!=1&&choose!=2&&choose!=3&&choose!=4)
{
system("cls");
cout<<"输入错误!必须输入数字0到4!"<<endl;
menu();
}
return choose;
}
void main()
{
if(choose==1)
......

这么改:
int menu()
{
int choose;
cin>>choose;
while(cin.fail()) //这里!这里!这里!这里!这里!这里!这里!这里!这里!
{
system("cls");
cout<<"输入错误!必须输入数字0到4!"<<endl;
menu();
}
return choose;
}追问

试了一下,我在你的代码后面加上了
void main()
{
int k=menu();
cout<<k;
}
输入个英文字母就变成了死循环,不断输出输入错误。。。

追答

不好意思,疏忽了,疏忽了,还得将输入置位回去,这么改就OK了:)

int menu()
{
int choose;
cin>>choose;
while(cin.fail()) //这里!这里!这里!这里!这里!这里!这里!这里!这里!
{
system("cls");
cout<<"输入错误!必须输入数字0到4!"<<endl;
cin.clear (istream::goodbit);//这里!这里!这里!这里!这里!这里!这里!
cin.ignore();//这里!这里!这里!这里!这里!这里!这里!这里!这里!
menu();
}
return choose;
}

void main()
{
int k=menu();
cout<<k;
}

温馨提示:内容为网友见解,仅供参考
无其他回答

怎样在在C++中输出一个五行的表格?还有我发现以下的代码(部分)输入英文...
int choose;cin>>choose;while(cin.fail()) \/\/这里!这里!这里!这里!这里!这里!这里!这里!这里!{ system("cls");cout<<"输入错误!必须输入数字0到4!"<<endl;menu();} return choose;}

C++文件的输入和输出
C++中的文件输入\/输出(1): 你的第一个程序 首先我将给出一段代码,接着再逐行进行解释。我们的第一个程序将建立一个文件,并写入一些字符: #include <iostrream.h> #include <fstream.h> void main() \/\/ 程序从这里开始运行 { ofstream SaveFile(“cpp-home.txt”); SaveFile << “Hello World!”; S...

在c++的输入输出流中,“cout.width(3)”还有“cout.fill(' ')”是啥...
setprecision(int)设置输出浮点数的精确度 1)整数值不受影响,2)浮点值被四舍五入而不是被截取。因此当精度为4时,3.14159变成3.142,精度为3时变成3.14。缺省情况下,当小数部分为0时,不显示小数点,如果要强制输出小数点应使用showpoint操纵符(noshowpoint操纵符重新设置缺省行为).setw(int)设置...

c++中怎样输出一个字符的ASCⅡ码?
可以将字符转为整型(int)再输出即可输出ASCII码值。在C++语言中,输出到终端一般使用cout的<<操作。字符型变量,存储在char类型的变量中,或者直接是字符常量。当cout<<字符变量或常量时,输出的是对应字符。说明cout对输出的类型是有做判断,并区分类型进行输出的。ASCII码值属于整型,所以,可以把字符型...

如何在C++实现输出浮点数十分位上的数
然后将个位上的数取出来就行了。d*10取整(强制转换成int就行了),去掉小数点后的部分,比如上面的2.5就成了2了。最后%10,假设取整后的数是27,对10取模就是7了。代码: cout<<(int(d*10) )%10;百分位不知道你要不要求,也一样。你的不扩大倍数是指仅仅要求保留原来的数吗?是的话我...

c++ 要求double型变量 输入的只能是数字,输入字母报错并返回_百度知 ...
这样说吧 C++在输入中能实现类型检查 cin是标准流对象 >>是数据析取运算符(将流中的数据送往变量中)——就是在这个过程对流中的数据进行类型检查 正如你的 double f;cin>>f;如果输入了非double型数据,1、cin的一些状态位会改变(这些状态位用来流对象(例如cin)是否可以正常使用)2、cin对象中...

用c++代码编写程序求出一段话中的顿号、逗号、句号有多少个,还有一段话...
你的问题需要一个扫描程序,在程序中设你的问题需要一个扫描程序,在程序中设定不同的符号,然后再使用累加,这样就能得到结果定不同的符号,然后再使用累加,这样就能得到结果你的问题需要一个扫描程序,在程序中设定不同的符号,然后再使用累加,这样就能得到结果你的问题需要一个扫描程序,在程序中设定...

c++中,在一个类中参数传递中出现的一个问题
p2=((p2.getx()+X),(p2.gety()-Y)); \/\/由问题的地方 因为你没有重载Point类的赋值函数,执行 p1=((p1.getx()-X),(p1.gety()+Y));时,会进行复制构造函数的操作,也就是说系统会现调用构造函数生成一个临时变量(是具体编译平台,有些不生成临时变量),再将临时变量赋给P1,这...

C语言中char类型的数据输入和输出时怎么控制啊?
1、首先打开Microsoft Visual C++软件,单击“文件”菜单->“新建”,新建一个文件,文件名后缀为.c。2、新建好文件后,输入如下内容。3、然后我们在{ }之间输入函数的内容,我们先定义变量c1,变量的类型为char,字符型。4、用printf语句进行输出。5、当内容输入好后,我们点击图中工具按钮,对程序...

Visual C++ 各种字母的标识含义
属性部分 全局变量 g_常量 c_c++类成员变量 m_静态变量 s_类型部分 指针 p 函数 fn 无效 v 句柄 h 长整型 l 布尔 b 浮点型(有时也指文件)f 双字 dw 字符串 sz 短整型 n 双精度浮点 d 计数 c(通常用cnt)字符 ch(通常用c)整型 i(通常用n)字节 by 字 w 实型 r 无符号 u ...

相似回答
大家正在搜