输入一个正整数n,再输入n个学生的姓名和百分制成绩,将其转换为两级制成绩后输出。要求定义和调用函数set_grade(stu, n),其功能是根据结构数组stu中存放的学生的百分制成绩score,将其转换为两级制成绩,并赋给grade。百分制成绩到两级制成绩的转换规则:大于或等于60分为P,否则为F。
时间: 2024-03-26 10:35:22 浏览: 81
运用结构体数组与输入函数进行存放学生的学号姓名等数据
4星 · 用户满意度95%
好的,这是一个关于成绩转换的问题。以下是代码实现:
```c++
#include <iostream>
#include <string>
using namespace std;
struct Student {
string name;
double score;
char grade;
};
void set_grade(Student stu[], int n) {
for(int i = 0; i < n; i++) {
if(stu[i].score >= 60) {
stu[i].grade = 'P';
}
else {
stu[i].grade = 'F';
}
}
}
int main() {
int n;
cout << "请输入学生个数n:";
cin >> n;
Student stu[n];
for(int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的姓名和百分制成绩:";
cin >> stu[i].name >> stu[i].score;
}
set_grade(stu, n);
cout << "转换后的成绩为:" << endl;
for(int i = 0; i < n; i++) {
cout << stu[i].name << "的成绩为:" << stu[i].grade << endl;
}
return 0;
}
```
代码中定义了一个结构体Student,包含姓名、百分制成绩和两级制成绩。set_grade函数根据学生的百分制成绩score,将其转换为两级制成绩grade,并赋给结构体中的成员变量。在主函数中,先输入学生的个数和姓名、百分制成绩,再调用set_grade函数进行成绩转换。最后输出转换后的成绩。
阅读全文