2013-10-20 84 views
-2

我一直在試圖讓這個程序正常工作。它會進行編譯,但不是提示用戶輸入,而是指出不正確的東西。For Loop無法正常工作(C++)

提示:

向10當然標記(從0到100),之後狀態的用戶(在標籤中)多少是經過標記。

我的代碼:

#include <iostream> 
#include <time.h> 
#include <stdlib.h> 

using namespace std; 

int main() 
{ 
    int mark; 
    int passinggrades = 0; 
    for(int i = 0; i > 10; i++) 
    { 
     cout << "Enter Mark:"; 
     cin >> mark; 
     while(mark >= 50) 
     { 
      passinggrades++; 
     } 
    } 
    cout << j << " of your marks were passing grades."; 
    return 0; 
} 

回答

5

循環條件是錯誤的:

for (int i=0; i>10;i++) 

反轉比較簽署

for (int i=0; i<10;i++) 

此外,你可能想在這一行if

while(mark >= 50) 

更改爲

if(mark >= 50) 

即使輸出線是錯誤的。代碼中沒有j。這樣做:

cout << passinggrades << " of your marks were passing grades."; 
+0

'cout << j <<「你的分數是通過分數的。」;'''''''也應該是''級數'。 – ctor

+0

@ctor謝謝。在我沒有讀到這兩個錯誤之後。 – Kunal

2
for (int i=0; i>10;i++) 

你開始在i = 0和執行,同時i > 10循環(這是從來沒有的,因爲它爲0)。

2

我想你想

if(mark >= 50) 

,而不是無限循環

while(mark >= 50) 

此外,i<10喜歡別人說。

0

三個問題: ONE: 當你說:

while(mark >= 50) 
{ 
    passinggrades++; 
} 

50+輸入將使你的程序會卡在外觀永遠。而是使用:

if(mark >= 50) 
{ 
    passinggrades++; 
} 

二:

,而不是在for循環i>10,使用i<10

三:(用於註釋由於構造函數)

j沒有定義,並且應該是換成passinggrades

+0

'j'也是未定義的。 – ctor