2012-07-28 101 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",然後重新啓動循環。如果分析成功,請將該號碼添加到計數器並重新啓動循環。