2012-07-28 104 views
0

我想创造一些东西(我想可能是一个循环?),这将允许我让用户输入几个数字,然后输入像“完成”,以获得所有数字添加向上。用户输入在C++结束循环

例如,如果我有一个浮动(称之为X现在)他们可以输入“7 进入进入进入进入”,它会增加这些数字,让X该值。我遇到问题的地方在于,我需要用户能够输入任意数量的数字(例如1到70之间的数字),而不必指定要输入多少个数字,只需在输入时输入他们完成了。

谢谢大家

+0

可以结束输入文件的结尾(在Windows上是ctrl-z,在UNIX上是ctrl-d)? – chris 2012-07-28 03:42:50

+0

这听起来像是家庭作业,在这种情况下,使用0(或者如果0是有效输入,则为-1)来终止输入循环 – Musa 2012-07-28 03:46:18

+0

您正在寻找的是while循环,但如果上述条件为好吧,你不需要确保它不会中断。 – chris 2012-07-28 03:46:41

回答

2

你需要使用一个无限循环(while (true)for (;;))到下一个输入读入一个字符串。

检查字符串是否为done。如果是这样,break的循环。

然后尝试使用函数std::stod将该字符串解析为double(不要使用float)。

如果解析失败,可选择打印错误消息,如"Bad input, try again",然后重新启动循环。如果分析成功,请将该号码添加到计数器并重新启动循环。