| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3870 人关注过本帖
标题:关于使用cin输入作为while循环控制条件的问题
取消只看楼主 加入收藏
jr9910
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-9-2
收藏
 问题点数:0 回复次数:4 
关于使用cin输入作为while循环控制条件的问题
初学C++,遇到个简单问题想请教,题目很简单,输入数据,每次输入后显示当前所有输入的和,直到输入0程序结束。
我的实现(使用VS2008编译)如下:
// 每次输入数字以后报告到目前为止输入所有数字的和,输入0程序终止
#include <iostream>

int main()
{
    using namespace std;

    double x;
    double sum = 0;

    while (cin >> x) 这样使用不行,不知道为什么cin >> x始终为真
    {
        sum = sum + x;
        cout << "Now, sum = " << sum << endl;
    }

    cout << "Input 0, Warnnig.......\nTerminated!";
    cin.get();
    cin.get();
    return 0;
}
我的意图是使用cin>>x作为循环控制条件,当输入为0时,while条件为false,程序退出。但是实际执行起来发现cin>>x始终为真。请高手指点一下!
搜索更多相关主题的帖子: cin 条件 输入 
2010-09-02 22:35
jr9910
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-9-2
收藏
得分:0 
我大概懂你的意思,但是当输入为0时,while的结束条件就满足了,这条cin语句是否应该不再执行了呢?
2010-09-03 10:42
jr9910
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-9-2
收藏
得分:0 
回复 4楼 makebest
看的程序还比较少,但用cout同时输出过多个值,所以cin >> x >> y >> z的这种用法也是可以理解的。
2010-09-03 13:45
jr9910
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-9-2
收藏
得分:0 
回复 6楼 okboy
现在把cin这块弄明白了:cin函数返回cin。如果cin位于测试条件当中,将被转化为bool类型。如果输入成功,则转化后的值为true,否则为false。因此上面程序如果使用cin直接作为控制条件,在输入数字的情况下,将永远为true。楼上说的很好,但再详细些就好了。
2010-09-07 22:25
jr9910
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2010-9-2
收藏
得分:0 
回复 4楼 makebest
这种使用方法我今天看到实际例子了
2010-09-07 22:27
快速回复:关于使用cin输入作为while循环控制条件的问题
数据加载中...
 
   



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

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