使用结构体储存学生信息(包括学号,姓名,3门课程成绩,总分),要求实现对学生信息修改和删除操作,最多50名学生。
时间: 2023-04-13 07:03:04 浏览: 69
下面是一个示例代码:
```
#include<iostream>
using namespace std;
const int MAX_STUDENT = 50;
struct Student {
int id;
string name;
int score1;
int score2;
int score3;
int total;
};
Student students[MAX_STUDENT];
int student_count = 0;
void add_student(int id, string name, int score1, int score2, int score3) {
if (student_count >= MAX_STUDENT) {
cout << "已达到最大学生人数,无法添加新学生" << endl;
}
else {
Student new_student;
new_student.id = id;
new_student.name = name;
new_student.score1 = score1;
new_student.score2 = score2;
new_student.score3 = score3;
new_student.total = score1 + score2 + score3;
students[student_count] = new_student;
student_count++;
}
}
void update_student(int id, string name, int score1, int score2, int score3) {
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
students[i].name = name;
students[i].score1 = score1;
students[i].score2 = score2;
students[i].score3 = score3;
students[i].total = score1 + score2 + score3;
cout << "学生信息已修改" << endl;
return;
}
}
cout << "未找到学号为" << id << "的学生" << endl;
}
void delete_student(int id) {
for (int i = 0; i < student_count; i++) {
if (students[i].id == id) {
for (int j = i; j < student_count - 1; j++) {
students[j] = students[j + 1];
}
student_count--;
cout << "学生信息已删除" << endl;
return;
}
}
cout << "未找到学号为" << id << "的学生" << endl;
}
```
这段代码定义了一个结构体`Student`,用来存储学生的学号,姓名,三门课程成绩和总分。它还定义了一个名为`students`的数组来存储最多50名学生的信息,并实现了三个函数:`add_student`用来添加学生信息,`update_student`用来修改学生信息,`delete_student`用来删除学生信息。代码中还有一个`student_count`变量来记录当前学生数量,用来确保不会超过最大人数。