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; }