| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2071 人关注过本帖
标题:为什么std::cin.get();无法解决输出结果一闪而过?
只看楼主 加入收藏
guti305
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-10-3
收藏
 问题点数:0 回复次数:8 
为什么std::cin.get();无法解决输出结果一闪而过?

不知道哪里写错了,请指点一下。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,b,sum;
cout<<"本程序为测试两数之和"<<endl;
cout<<"请输入第一个数";
cin>>a;
cout<<"请输入第二个数";
cin>>b;
sum=a+b;
cout<<"两数之和为"<<sum;
std::cin.get();
return 0;
}

[此贴子已经被作者于2006-10-17 15:06:08编辑过]

搜索更多相关主题的帖子: get std cin 一闪而过 结果 
2006-10-17 15:00
冷血无情
Rank: 1
等 级:新手上路
帖 子:29
专家分:0
注 册:2006-9-25
收藏
得分:0 
我用VC6.0可以啊

2006-10-17 22:11
freeforever
Rank: 4
等 级:业余侠客
威 望:3
帖 子:368
专家分:201
注 册:2005-11-2
收藏
得分:0 

其实我也很无聊!
2006-10-18 14:36
tanyemin
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2006-10-15
收藏
得分:0 

我用VC++也可以啊


2006-10-18 22:24
xxllbb
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-7-10
收藏
得分:0 

在有的编译器下 必须要两个cin.get();
我是看书上说的

2006-10-20 14:46
jiangzw625
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2006-3-27
收藏
得分:0 

第一次cin后输入缓冲区里是[数,回车]-〉[回车]
第二次cin后输入缓冲区里是[回车,数,回车]-〉[回车]
所以cin.get()后把回车吸收了,就无法输入中断了。


马马乎乎
2006-10-20 20:55
gao86
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-9-6
收藏
得分:0 
我是新手,如有不对,还请指出。我是使用dev-c++的编译器。
我是这么改的:
#include <iostream>
#include<cstdlib>
using namespace std;
int main()
{
int a,b,sum;
cout<<"本程序为测试两数之和"<<endl;
cout<<"请输入第一个数";
cin>>a;
cout<<"请输入第二个数";
cin>>b;
sum=a+b;
cout<<"两数之和为"<<sum;
system("pause");//直接按回车就可以了。
return 0;
}


#include <iostream>
using namespace std;
int main()
{
int a,b,sum;
cout<<"本程序为测试两数之和"<<endl;
cout<<"请输入第一个数";
cin>>a;
cout<<"请输入第二个数";
cin>>b;
sum=a+b;
cout<<"两数之和为"<<sum;
char response;
cin>>response;//按任意一个键,再回车
return 0;
}
你的程序如楼上所说的里在return 0;再加个cin.get();
不过你的可以把#include <cmath>和std::cin.get();前的“std::”给去掉,你前面已经有了using namespace std;了。

2006-11-07 22:23
ysol
Rank: 1
等 级:新手上路
帖 子:107
专家分:0
注 册:2006-6-11
收藏
得分:0 
以下是引用guti305在2006-10-17 15:00:31的发言:

不知道哪里写错了,请指点一下。
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int a,b,sum;
cout<<"本程序为测试两数之和"<<endl;
cout<<"请输入第一个数";
cin>>a;
cout<<"请输入第二个数";
cin>>b;
sum=a+b;
cout<<"两数之和为"<<sum;
cin.sync();//清除输入缓冲区
std::cin.get();
return 0;
}


2006-11-07 23:42
子时之龙
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2006-7-29
收藏
得分:0 
最后加上一个 system "pause";
就OK了

龙已经出现了! 只因在子时, 人们无法察觉…………
2006-11-09 16:48
快速回复:为什么std::cin.get();无法解决输出结果一闪而过?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019150 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved