现在需要输入一组学生的姓名和成绩,然后输出这些学生的姓名和等级。 输入时,首先要输入学生数(正整数)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
时间: 2023-06-24 19:08:30 浏览: 171
题目中涉及到一个 Student 类,我们需要定义该类并重载流插入和流提取运算符。
具体实现如下:
```c++
#include <iostream>
#include <string>
using namespace std;
class Student {
public:
string name;
int score;
friend istream& operator>>(istream& is, Student& s) {
is >> s.name >> s.score;
return is;
}
friend ostream& operator<<(ostream& os, const Student& s) {
os << s.name << " ";
if (s.score >= 60) {
os << "PASS";
} else {
os << "FAIL";
}
return os;
}
};
int main() {
int repeat;
cin >> repeat;
for (int i = 0; i < repeat; i++) {
Student st;
cin >> st;
cout << i + 1 << ". " << st << endl;
}
return 0;
}
```
在主函数中,先输入学生个数 repeat,然后循环 repeat 次,每次输入一个学生对象 st,并输出其序号、姓名和等级。其中,序号为 i+1。
阅读全文