2013-10-20 53 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