2012-06-15 48 views
-1

我有一段非常簡單的代碼。我的目標是當我輸入四位數字來檢查和驗證,可以被3整除。只是簡單的程序,但出了點問題

 #include <iostream> 
    using namespace std; 
    int main() 
{ 
    int number; 
    cout<<"number: "; 
    cin>>number; 
    if(number%3==0) 
    { 
    cout<<"divisible by 3"; 
    }else{ 
     cout<<"not divisible by 3"; 
    } 
} 

而且不行。

我真的很抱歉。似乎問題出在Dev ++中。我將刪除此線程

+4

「不工作」不是問題。解釋你的觀察是什麼問題。 – tenfour

+0

「不要工作」是一個無用的報告。如果有效,你不會在SO上發佈。 – Amadan

+0

我剛剛構建它並在這裏運行它,它似乎工作正常。所以我們中的一個人有點傻了! – Rook

回答

4

您的程序很好。用endl結束輸出行以清空輸出。如果你仍然認爲它不起作用,請解釋你在做什麼,結果是什麼,以及你期望的結果。

+0

我認爲沖洗輸出是無關緊要的。添加換行符可以提高可讀性,但這與沖洗無關。 – juanchopanza

+0

@juanchopanza:我同意,但OP沒有具體說明什麼是壞的,這是我能看到的唯一的問題,我可以考慮「破碎」。 – jxh

+0

好點。 OP似乎沒有意識到代碼沒有被破壞。 – juanchopanza

0

您必須乘以該數的組成數字,然後檢查是否是被3整除

編輯:是的,在這裏工作的罰款也。 。

0

嘗試插入

return 0; 

你,你使用的是

int main() 

或者更確切地說,使用

void main() 

而且烏斯工作結束你的代碼之前: - )

+1

C++標準實際上允許您省略main的return語句,但不允許您將main聲明爲void。我知道一個奇怪的選擇,但事實就是如此。 – cgmb

+2

「相反,使用void main()'」是相當有缺陷的,因爲標準將main定義爲返回int的函數。 –

+0

'main'在'C++'中隱式返回0。而'void main()'不是一個標準兼容簽名。 – juanchopanza

2

請問控制檯窗口立即消失?自從我做了一個C++控制檯應用程序以來,這已經有一段時間了,但我記得調試和發佈中的行爲對於運行後窗口是否關閉是不同的。

有更好的方法,但爲了快速檢查,我通常在最後添加一個額外的cin來強制程序不退出。

有上int main()沒有返回值將導致大多數編譯器警告,這是對指定類型的返回值的最佳實踐,但不會在這種情況下

+0

是的,但我添加系統(「暫停」);最後。 – Goro

-1

我認爲會導致錯誤你忘了圖書館: 也許stdlib:#include

+0

nope,cin和cout在iostream中 – penelope