编写四个自定义函数,分别实现以下四个功能。1.添加操作。在数组中添加一个记录,键盘输入一个学生的前三项信息。2.计算操作。计算每个学生的总分,并显示每个学生的姓名和总分。3.统计操作。用指针法,统计并显示最高总分和对应的学生姓名。4.查询操作。输入一个学号,输出该学生的学号、姓名和总分。
时间: 2024-03-17 10:41:55 浏览: 49
好的,我可以为您编写这四个函数,以下是示例代码:
```c++
#include <iostream>
#include <string>
using namespace std;
const int MAX = 100; // 最大学生数
struct Student {
string name; // 姓名
int id; // 学号
int score1; // 成绩1
int score2; // 成绩2
int score3; // 成绩3
int totalScore; // 总分
};
Student students[MAX]; // 存储学生信息的数组
int numStudents = 0; // 记录学生数
// 添加操作
void addStudent() {
if (numStudents >= MAX) {
cout << "学生数已达到最大值!" << endl;
return;
}
cout << "请输入学生姓名、学号、成绩1、成绩2、成绩3(用空格隔开):" << endl;
cin >> students[numStudents].name >> students[numStudents].id >> students[numStudents].score1 >> students[numStudents].score2 >> students[numStudents].score3;
students[numStudents].totalScore = students[numStudents].score1 + students[numStudents].score2 + students[numStudents].score3;
numStudents++;
cout << "添加成功!" << endl;
}
// 计算操作
void calcTotalScore() {
cout << "学生总分如下:" << endl;
for (int i = 0; i < numStudents; i++) {
cout << students[i].name << " " << students[i].totalScore << endl;
}
}
// 统计操作
void findMaxScore() {
int maxScore = -1;
string maxName;
for (int i = 0; i < numStudents; i++) {
if (students[i].totalScore > maxScore) {
maxScore = students[i].totalScore;
maxName = students[i].name;
}
}
cout << "最高分为: " << maxScore << ",最高分学生为:" << maxName << endl;
}
// 查询操作
void findStudent() {
int id;
cout << "请输入要查询的学生学号:" << endl;
cin >> id;
for (int i = 0; i < numStudents; i++) {
if (students[i].id == id) {
cout << "学号:" << students[i].id << ",姓名:" << students[i].name << ",总分:" << students[i].totalScore << endl;
return;
}
}
cout << "未找到该学生!" << endl;
}
int main() {
while (true) {
cout << "请选择操作:1.添加 2.计算总分 3.统计最高分 4.查询学生 5.退出" << endl;
int choice;
cin >> choice;
switch (choice) {
case 1:
addStudent();
break;
case 2:
calcTotalScore();
break;
case 3:
findMaxScore();
break;
case 4:
findStudent();
break;
case 5:
return 0;
default:
cout << "无效的选项,请重新选择!" << endl;
break;
}
}
return 0;
}
```
以上代码实现了添加、计算、统计和查询四个操作,可以根据需要进行修改和扩展。
阅读全文