| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 893 人关注过本帖
标题:[求助]cin怎么无法接收浮点数啊
只看楼主 加入收藏
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
收藏
 问题点数:0 回复次数:9 
[求助]cin怎么无法接收浮点数啊

以下是源程序: #include <iostream.h> #include <stdio.h>

int main() { int n; cout<<"input a int number:"; cin>>n; cout<<n;

float x; cout<<"input a float number:"; cin>>x; //执行此句后查看x就是输入的值 cout<<x; //到这里就不输出了,我猜是cin没接收到,是不是有什么格式的问题啊

getchar(); }

搜索更多相关主题的帖子: cin 点数 cout int 
2005-08-14 08:41
风の影子
Rank: 2
等 级:新手上路
威 望:3
帖 子:664
专家分:0
注 册:2005-5-19
收藏
得分:0 

问题出在你的getchar()上了! 如果有这个函数的话要两次回车才能输出第2次输入的数 如果把他去掉就没问题了! 你如果用的是VC++ 6.0 编译本身会有一个和getchar类似的功能调用,不用你再调用这个函数! 另外你的主函数好像有点问题,我这里没有通过编译 改了一下,去掉了没什么用的声明,最后结果如下: #include <iostream.h>

void main(void) { int n; cout<<"input a int number:"; cin>>n; cout<<n<<endl;

float x; cout<<"input a float number:"; cin>>x; cout<<x<<endl;

}

2005-08-14 08:52
风の影子
Rank: 2
等 级:新手上路
威 望:3
帖 子:664
专家分:0
注 册:2005-5-19
收藏
得分:0 
另外不是因为CIN接受不到数据
而是调用了getchar()导致还要输入一个字符后才能输出
你可以自己试下看!
2005-08-14 08:56
Antigloss
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2004-12-30
收藏
得分:0 

这是因为 cout<<x 还没有真正输出到屏幕,只是输出到了“输出缓冲区”,而此时 getchar() 被调用了,故而要多按一次回车。解决方法很简单,加入 flush 强制清空“输出缓冲区”就可以了。代码如下 #include <iostream> #include <cstdio>

using std::cout; using std::cin; using std::flush;

int main() { int n; cout<<"input a int number:"; cin>>n; cout<<n;

float x; cout<<"input a float number:"; cin>>x; cout<<x << flush; /* 加入 flush 强制清空输出缓冲区就可以了 */

getchar();

return 0; }

2005-08-14 10:59
风の影子
Rank: 2
等 级:新手上路
威 望:3
帖 子:664
专家分:0
注 册:2005-5-19
收藏
得分:0 

不用这么兜圈子的吧??

2005-08-14 12:51
ajey2004
Rank: 1
等 级:新手上路
帖 子:164
专家分:0
注 册:2004-12-30
收藏
得分:0 
问题已解决,谢谢大家拉

2005-08-14 16:30
vcsky
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-8-19
收藏
得分:0 
我在VC++6.0上试了一下上面的程序,其实不用这么复杂,前面都没有问题,只要在最后改一下 cout<<x<<endl; //加上endl后问题就解决了 return 0; }

2005-08-19 12:45
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
vcsky,风の影子,Antigloss, 你们三位说的都对,说的都很好啊。

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-20 03:47
ltn
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2005-9-3
收藏
得分:0 
の影子说得对,你也可以把最后一行改为 getc('/n'); getchar();
2005-09-03 13:53
weiweiqiao
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-7-29
收藏
得分:0 
学到了许多。。
谢谢各位:)

maCr.Qw
2005-09-04 22:36
快速回复:[求助]cin怎么无法接收浮点数啊
数据加载中...
 
   



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

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