C++ Cin输入字母后 程序立刻结束 怎么办??

作者&投稿:蓍非 (若有异议请与网页底部的电邮联系)
如何结束 cin 输入~

ctrl+z然后按两下回车就行了

ctrl+z然后按两下回车就行了

你应该用字符串读入,然后判断这个字符串是否是浮点数。
其实浮点数有字母也是正常的呀,像1.23e10,就代表1.23x10^10次方,213H,代表这个是16进制的数。

你定义的a是整形,你输入字符当然退出
你可以改成:
int age;
char name,country;
cout <<...
cin >> age;
cin >>name;
cin >>country;

cin>>a; 程序预期输入的是数字,你输入非法字符后,cin这个对象就失效了,在以后的输入语句中也就不会再阻塞等待输入了。修正如下:

int age;
char name[32];
string country;

do{
cout<<"age=";
cout.flush();
cin.clear();
cin>>age;
}while (cin.fail());

cout<<"name="<<flush;
cin>>name;

cout<<"country="<<ends;
cin>>country;

cout<<"age="<<age<<endl;
cout<<"name="<<name<<endl;
cout<<"country="<<country<<endl;

你定义的数据类型错误,只要将int改为char就可以了。

在程序结束前再加个cin>>a;


白玉县13634665451: C++ Cin输入字母后 程序立刻结束 怎么办?? -
禽唐威特: cin>>a; 程序预期输入的是数字,你输入非法字符后,cin这个对象就失效了,在以后的输入语句中也就不会再阻塞等待输入了.修正如下: int age; char name[32]; string country; do{ coutcout.flush(); cin.clear(); cin>>age; }while (cin.fail()); coutcin>>name; coutcin>>country; coutcoutcout

白玉县13634665451: c++ 输入字母 要立即退出!!!急!! -
禽唐威特: #includeusing namespace std; int main() { char s; coutcoutcoutcoutcoutcoutcin>>s; switch(s) { case '2':break; default:exit(0); } coutcoutint b,c,d; cin>>b; cin>>c; d=b+c; coutsystem("pause"); return 0; } 是这样么?输入的是2继续,其他的就退出?

白玉县13634665451: 如何用c++语言编写代码,使输入一个小写字母,假如该字母在字母表的前半部分,就输出该字母的下个字母, -
禽唐威特: #includevoid main() { char c; cout<<"输入一个小写字母"< cin>>c; if(c>='a'&&c<='m') cout<<++c< }

白玉县13634665451: c/c++中,输入字母后,程序马上结束. 我急!!求了 -
禽唐威特: 建议你 这么改 我没改GOTO 语句 但我知道你的意思了 你要判别输入的键值 然后执行相应的退出或继续操作 一下我改的部分可以实现你的想法#include #include#define Q 0x1b //定义Esc键的键值 main() { int a,n,c; char ch; q: printf("please input...

白玉县13634665451: c++编程中有时为什么scanf能输入而cin则直接跳出程序哈!
禽唐威特: cin是个输入流,先调用cin 对象的SetWide()设置字符宽度,cin>>b就ok了;

白玉县13634665451: 怎么解决c++输入字母时的死循环 -
禽唐威特: 在scanf("%d",&a);之前加一句fflush(stdin); 清缓存如: int a,b; printf("enter the number:\n"); fflush(stdin); scanf("%d",&a);

白玉县13634665451: C++编程怎么实现输入一个字符后程序结束 -
禽唐威特: 1 读取字符;2 判断读到的字符值,如果符合执行3,否则退出函数.3 结束程序.如果是任意字符,那么2可以省略.结束程序可以调用系统函数exit.参考代码如下:#include<stdlib.h>//exit函数声明于此文件中.void get_key_and_exit(void) { char c; c = getchar(); if(c == 'Y' || c=='y')//当输入y时退出,不区分大小写. exit(0);//退出程序.}

白玉县13634665451: c++ 为什么打入字母会死循环 怎么解决 -
禽唐威特: 试图读取整数,没有读到,只要把输入缓冲区清空了继续读就可以了,空格等也是字符,读整数包括浮点数时,如果有空白符会被跳过,但会不自动跳过非空白非数字字符,你得主动点,一句 cin.clear(); 就清空了全部...或者你这里干脆不要...

白玉县13634665451: c++,每次运行输入了数字之后立刻就结束了,无法输入字符串,为啥啊 -
禽唐威特: int main(){int i;char s[20]; for(i=0;i<20;i++) s[i]=' ';cin.getline(s,20);for(i=0;i<20;i++) if(s[i] != ' ') cout<<s[i];return 0; } //这样. //你a和s不是相同类型的,回出问题. //还有,输出字符串要用循环,字符串数组名s只是数组元素的首地址. //此方法简单易会,适合新手. //或者用string

白玉县13634665451: C++如何实现我按一个字母程序就立即输出这个字母,而不是有一个光标等着我输入,并且输入后按回车才执 -
禽唐威特: 不会的,它的输入函数就是那样设计的,除非你自己重载输入函数,修改底层代码,那完全是给自己找麻烦

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网