2015-11-23 62 views
3

我目前正在學習通過使用網頁程序編寫C++,在那裏我正在做一門課程。現在,最近我得到了下面的練習:C++在循環中添加數字練習

使用一段時間或do-while循環,使一個程序,要求用戶輸入數字,直到用戶輸入數字0

不斷加在一起

我寫了下面的代碼,希望它會帶來的行使結論:

#include <iostream> 
using namespace std; 
int main(void){ 
int sum = 0; 
int number; 
do 
{ 
    cout <<endl; 
    cin >> number; 
    sum += number; 
    cout << "The total so far is: " << sum << endl; 
} while (number != 0); 
cout << "The total is: " << sum << endl; 
} 

然而,當我運行的代碼我從網站的以下反饋(有兩個環節一個在左邊另一個在右邊):

Instructions of the exercise and Webpage feedback on the exercise

你能告訴我什麼我做錯了,或者你能提出替代解決方案,然後我提供的代碼?感謝您的任何反饋!

+3

我想這不期待你用'cout << endl;'引入的額外換行符? – TartanLlama

+0

你也應該打印'。'每個數字之後。 – Tempux

+0

這工作正常在視覺工作室2013 –

回答

2

工作代碼爲:

#include <iostream> 

using namespace std; 

int main(){ 
    int sum = 0, numbers; 
    do{ 
    cout << "The total so far is: " << sum << endl; 
    cin >> numbers; 
    cout<< "Number: "<< numbers; 
    sum += numbers; 
} while (numbers != 0); 

cout << "The total is: " << sum << endl; 
return 0; 
} 

你必須在該行COUT >> ENDL錯誤;。另外,輸出應該與說明相匹配。這就是爲什麼你的答案是「錯誤的」。

+0

http://i.stack.imgur.com/xJoN7.png http://i.stack.imgur.com/kOgw3。png 當我運行這段代碼時,我在網頁的控制檯以及Visual Studio中得到了正確的結果,但由於某種原因,當我提交代碼進行測試時,它不打印字符串,從而導致練習不正確。我的假設是錯誤在於網頁。 – Noir

+1

如何不打印'數字'?期望可能是程序在'cout <<「之後停止輸入數字:」;'然後在那之後添加'cin >>數字'。使用當前的答案,在''Number:「被打印並且在控制檯上得到兩次輸入:一次作爲實際輸入並且一次作爲'cout <<」結果:Number:「<< numbers; '此外,練習描述和檢查器中的預期結果有衝突:描述列出了0的原始和,但未包含在預期輸出列中。 – sendaran

0

我猜測網站正在做一個簡單的比較檢查。

你能刪除第一個cout << endl;

因爲這是更接近預期的輸出。

至於爲什麼你沒有得到「迄今爲止的總數」讓我難住。

當您在本地運行時,您是否看到「迄今總計」文本?

0

您應該檢查用戶是否輸入一個號碼或確保加法運算

1

我想你應該設計完全相同的輸出指令的字符。

#include <iostream> 

using namespace std; 

int main(){ 
    int sum = 0, numbers; 
    do{ 
    cin >> numbers; 
    sum += numbers; 
    cout << "The total so far is: " << sum << endl; 
} while (numbers != 0); 

cout << "The total is: " << sum << endl; 
return 0; 
} 
1

至於我,那麼我會寫程序如下方式

#include <iostream> 

int main() 
{ 
    int sum = 0; 
    int number; 

    std::cout << "Enter a sequence of numbers (0-exit): "; 

    while (std::cin >> number && number != 0) sum += number; 

    std::cout << "The total is: " << sum << std::endl; 
} 

如果需要輸出部分和那麼你就可以添加更多的輸出語句

#include <iostream> 

int main() 
{ 
    int sum = 0; 
    int number; 

    std::cout << "Enter a sequence of numbers (0-exit): "; 

    while (std::cin >> number && number != 0) 
    { 
     std::cout << "The total so far is: " << (sum += number) << std::endl; 
    } 

    std::cout << "\nThe total is: " << sum << std::endl; 
}