您好,我是新来的,我有一个小问题,如果您能帮助我,我将不胜感激

学生测验

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/

10-11 00:50