-->
当前位置:首页 > 题库 > 正文内容

6-2 学生成绩的输入和输出(运算符重载) (10 分)

Luz3年前 (2021-03-08)题库2336
6-2 学生成绩的输入和输出(运算符重载) (10 分)

现在需要输入一组学生的姓名和成绩,然后输出这些学生的姓名和等级。

输入时,首先要输入学生数(正整数)N。接着输入N组学生成绩,每组成绩包括两项:第一项是学生姓名,第二项是学生的成绩(整数)。

输出时,依次输出各个学生的序号(从1开始顺序编号),学生姓名,成绩等级(不小于60为PASS,否则为FAIL)

函数接口定义:

面向Student类对象的流插入和流提取运算符

裁判测试程序样例:

#include <iostream>#include <string>using namespace std;/* 请在这里填写答案 */int main(){    int i, repeat;
   Student st;    cin>>repeat;    for(i=0;i<repeat;i++){        cin>>st;        cout<<st<<endl;
   }    return 0;
}

输入样例:

3
Li 75
Zhang 50
Yang 99

输出样例:

1. Li PASS
2. Zhang FAIL
3. Yang PASS
作者
何振峰
单位
福州大学
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
int num=0;
class Student{
    public:
    string name;
    int score;
    friend ostream & operator << (ostream & os ,Student &s);
    friend istream & operator >> (istream & is ,Student &s);
};
istream & operator >>(istream & is ,Student &s ){
is>> s.name>>s.score;
return is;
}
ostream & operator <<(ostream & os ,Student &s){
num++;
os<<num<<". "<<s.name<<" ";
if(s.score>=60){
    os<<"PASS";
}
else{
    os<<"FAIL";
}
    return os;
}