设为首页 加入收藏

TOP

1.4.4 读入未知数目的输入
2013-10-07 00:30:23 来源: 作者: 【 】 浏览:61
Tags:1.4.4 未知数 目的 输入

1.4.4  读入未知数目的输入

对1.4.1小节的求和程序稍作改变,还可以允许用户指定一组数求和。这种情况下,我们不知道要对多少个数求和,而是要一直读数直到程序输入结束。输入结束时,程序将总和写到标准输出:

#include <iostream>
int main()
{
    int sum = 0, value;
    // read till end-of-file, calculating a running total of all values read
    while (std::cin >> value)
       sum += value;  // equivalent to sum = sum + value
    std::cout << "Sum is: " << sum << std::endl;
    return 0;
}

如果我们给出本程序的输入:

3 4 5 6 

那么输出是:

sum is: 18

与平常一样,程序首先包含必要的头文件。main中第一行定义了两个int变量,命名为sum和value。在while条件中,用value保存读入的每一个数:

while (std::cin >> value)

这里所产生的是,为判断条件,先执行输入操作

std::cin >> value

它具有从标准输入读取下一个数并且将读入的值保存在value中的效果。输入操作符(1.2.2节) 返回其左操作数。while条件测试输入操作符的返回结果,意味着测试std::cin。

当我们使用istream对象作为条件,结果是测试流的状态。如果流是有效的——也就是说,如果读入下一个输入是可能的——那么测试成功。遇到文件结束(end-of-file)或遇到无效输入时,如读取了一个不是整数的值,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。

在遇到文件结束(或一些其他输入错误)之前, 测试会成功并且执行while循环体。循环体是一条使用复合赋值操作符的语句,这个操作符将它的右操作数加到左操作数上。< xml:namespace prefix = std />

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇1.5.1 Sales_item类 下一篇1.5.2 初窥成员函数

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: