0

宿題用のプログラムを書く必要がありますが、文字列入力に問題があります。

問題は、2 >= 入力ができないことです。スキップするだけです。どうしてか分かりません。私は誰かが私を説明できることを望んでいました。

私のコード:

for (int f1=0; f1<5; f1++) {
    temp_st = new Schulernoten();
    cout << "Name eingabe: ";

    name = "\n";
    getline(cin, name);
    temp_st->set_name(name);

    // note for informatik
    cout << endl << "Note Informatik eingabe: ";
    cin >> note;
    while (temp_st->check_note(note)) {
        cout << "Falsch eingabe: ";
        cin >> note;
    }
    temp_st->set_note_inf(note);

    // note for math
    cout << endl << "Note Math eingabe: ";
    cin >> note;
    while (temp_st->check_note(note)) {
        cout << "Falsch eingabe: ";
        cin >> note;
    }
    temp_st->set_note_mat(note);

    // ausdrucken
    cout << temp_st->get_name() << endl << temp_st->get_note_inf() << endl << temp_st->get_note_mat() << endl << endl;
}

私の出力のサンプル:

Name eingabe: Depeche Soul

Note Informatik eingabe: 1

Note Math eingabe: 1
Depeche Soul
1
1

Name eingabe: 
Note Informatik eingabe: 2

Note Math eingabe: 1

2
1

Name eingabe: 
Note Informatik eingabe:

ご覧のとおり、最初の入力は正常に機能し、その後、空きスペースを残してすすります。

どうすればこれを修正できますか? ありがとう

4

1 に答える 1