0
這是我的代碼。目的是輸入一個學生類的Vector,包含名字和家庭作業的成績。C++輸入字符串包含ASCII 26(替代)字符。如何擺脫它?
istream& input(istream& is, student& s){
is.clear();
cout << "Enter student name: ";
getline(is,s.name);
grade(is,s.homework);
return is;
}
istream& grade(istream& is, vector<double>& homework){
if(is){
homework.clear();
double x;
cout << "Enter grade of student - Ctrl-Z to stop: ";
while(is>>x)
homework.push_back(x);
is.clear();
}
return is;
}
的問題是,第一個學生的名字就可以了,但是當程序讀取下一個學生的名字(從輸入鍵盤),它總是與替代(ASCII 26)字符開始。我猜想問題來自輸入流,當我用CTRL - Z來表示作業成績輸入的結束。你們能提出一個解決方案嗎?