-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++)

at で開始し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

3 つの問題: 1: あなたが言うとき:

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

50+ を入力すると、プログラムは永久に外観に固執してしまいます。代わりに次を使用します。

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

2:

i>10forループの代わりに、使用しますi<10

THREE: (コメントありがとうございます)

jは定義されていないため、 に置き換える必要がありpassinggradesます。

于 2013-10-20T22:38:19.533 に答える