名前、ID、電子メール、および整数である 3 つの成績を取る学生オブジェクトを作成しようとしています。
私のコードは非常に単純で、次のとおりです。
studentObj* newStudent = new studentObj;
cout << "Student First Name: ";
getline(cin, newStudent->name);
cout << "Student ID: ";
getline(cin, newStudent->id);
cout << "Student Email: ";
getline(cin, newStudent->email);
cout << "Grade 1: ";
cin >> newStudent->gradeOne;
cout << "Grade 2: ";
cin >> newStudent->gradeTwo;
cout << "Term Grade: ";
cin >> newStudent->termGrade;
cout << "Student Name: " + newStudent->name << endl;
cout << "Student ID: " + newStudent->id << endl;
cout << "Student Email: " + newStudent->email << endl;
cout << "Grade 1: " + newStudent->gradeOne << endl;
cout << "Grade 2: " + newStudent->gradeTwo << endl;
これで問題なく動作すると思っていましたが、残念ながらそうではありません。getline()
とを混在させるのは問題のようcin
です。
出力は次のとおりです。
Student Name: Test Tester
Student ID: abcdef
Student Email: email@test.com
rade 1:
ade 2:
m Grade:
いくつかの場所に追加しようとしcin.ignore(numeric_limits<streamsize>::max(),'\n');
ましたが、うまくいきません。助言がありますか?`