-2

我一直在努力让这个程序正常工作。它确实可以编译,但是它没有提示用户输入,而是说明了一些不正确的内容。

提示:

向用户询问 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;
}
4

4 回答 4

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."; 
于 2013-10-20T22:35:25.130 回答
2
for (int i=0; i>10;i++)

您从开始i = 0并执行循环 while i > 10(永远不会,因为它是 0)。

于 2013-10-20T22:35:33.207 回答
2

我想你想要

    if(mark >= 50)

而不是无限循环

    while(mark >= 50)

另外,i<10就像其他人说的那样。

于 2013-10-20T22:35:39.410 回答
0

三个问题: 一:当你说:

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

50+ 的输入会使您的程序永远停留在外观中。而是使用:

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

二:

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

三:(感谢ctor的评论)

j未定义,应替换为passinggrades.

于 2013-10-20T22:38:19.533 回答