2014-04-03 157 views
0

我環顧四周如何解決這個問題,但我一定在尋找錯誤的東西,因爲我找不到任何東西。進程仍在運行C++

我剛剛開始學習C++,我遇到過一個問題,一旦它已經被編譯並且正在運行,它會完成,否則我會關閉窗口,但是這個過程仍在運行。當我使用任務管理器結束這個過程時,它絕對注意到了。

這是我寫的東西,我需要添加或取出什麼才能確保過程在完成或手動關閉後終止?

#include <iostream> 
using namespace std; 

int main() 
{ 

    int grade; 

    cout << "Please enter your grade (0-100) "; 
    cin >> grade; 

    if (grade == 100) 
     cout << "You got a perfect score" << endl; 
    else if (grade >= 90 && grade <= 99) 
     cout << "You scored an A" << endl; 
    else if (grade >= 80 && grade < 90) 
     cout << "You scored a B" << endl; 
    else if (grade >= 70 && grade < 80) 
     cout << "You scored a C" << endl; 
    else if (grade >= 60 && grade < 70) 
     cout << "You scored a D" << endl; 
    else if (grade >= 0 && grade < 60) 
     cout << "You scored an F" << endl; 

    system("pause"); 
} 
+0

一般來說,你的'main'沒有返回任何東西。在'pause'後面的最後一行嘗試'return 0;'。當它應該出現時,我還沒有嘗試過有沒有返回的主。 –

+0

正在使用哪個編譯器? –

+0

添加返回0;完美地工作。我正在使用Microsoft Visual Studio 2013的C++編譯器 –

回答

0

會出現系統(「暫停」);正在阻止代碼退出。通過調用它,你告訴程序在退出之前等待某種輸入。

此外,您需要在函數結尾處有一個返回值,因爲操作系統期望返回一個int值。

See this for alternatives

0

它,因爲你使用的是

系統( 「暫停」);

和你的代碼等待輸入,

,做你的主函數的返回類型呵護!