您好,我是新来的,我有一个小问题,如果您能帮助我,我将不胜感激
学生测验
while (!input.eof()) {
stud.read(input);
if (== 'M')
stud.print();
}
现在,在这里我无法解决所有问题,我可以成功打印所有内容,但我不知道
if ( == 'M')
,也不知道要放入什么内容,因此我只能根据男性对它们进行分类,而仅提供有关如何解决问题的线索?我有2个头文件包含Student和GradeRecord类,并且在另一个c ++文件中都具有getter和setters。
这是
stud.read(input)
的读取位置void Student::read(ifstream &file){
char sex;
string line;
double math, computer, english;
string name;
getline(file, name, ',');
s.setName(name);
file >> sex;
file.ignore();
s.setSex(sex);
file >> math;
file.ignore();
s.grade.setMathGrade(math);
file >> computer;
file.ignore();
s.grade.setComputerGrade(computer);
file >> english;
file.ignore();
s.grade.setEnglishGrade(english);
}
然后根据此功能进行打印。
void Student::print(){
s.getSex();
double m = s.grade.getMathGrade();
double c = s.grade.getComputerGrade();
double e = s.grade.getEnglishGrade();
double a = s.grade.getAverage();
cout << left << setw(24) << s.getName() << setw(15) << left << letterGrade(m) << setw(15) << left << letterGrade(c) << setw(15) << left << letterGrade(e) << setw(15) << left << s.grade.getTotal() << setw(15) << left << letterGrade(a) << endl;
}
已编辑
我不知道如何输入完整的代码,所以我用word doc编写了它
enter link description here
最佳答案
假设getSex
只是返回一个M或F作为一个字符,if (stud.getSex() == 'M')
就足够了。顺便说一句,我不相信我会见过呼叫stud.getSex()
,更不用说在如此完全无辜的情况下了。
关于c++ - 从文件读取时对类(class)性别进行排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27532042/