请编写程序,定义用于存储学生信息的结构体数组,输入学生的准考证号、姓名和各科成绩信息,利用void void insertinfo(stuStru *s,int &n,stuStru stu,int pos)函数,实现学生信息插入功能,即在结构体数组的指定第pos位置前插入学生信息
时间: 2024-01-22 16:17:37 浏览: 148
下面是一个示例程序,演示如何定义结构体数组、输入学生信息、并实现插入学生信息的功能。
```c++
#include <iostream>
#include <string>
using namespace std;
struct stuStru {
string id; // 学生准考证号
string name; // 学生姓名
float score[3]; // 各科成绩
};
void insertinfo(stuStru *s, int& n, stuStru stu, int pos) {
// 在第pos个位置前插入学生信息
for (int i = n; i > pos; i--) {
s[i] = s[i - 1];
}
s[pos] = stu;
n++;
}
int main() {
const int MAX_NUM = 100; // 最大学生数
int n = 0; // 当前学生数
stuStru stu[MAX_NUM]; // 学生信息数组
// 输入学生信息
cout << "请输入学生信息(准考证号 姓名 语文成绩 数学成绩 英语成绩):" << endl;
while (true) {
stuStru s;
cin >> s.id;
if (s.id == "0") {
break;
}
cin >> s.name;
for (int i = 0; i < 3; i++) {
cin >> s.score[i];
}
insertinfo(stu, n, s, n); // 将学生信息插入到数组末尾
}
// 输出学生信息
cout << "学生信息如下:" << endl;
for (int i = 0; i < n; i++) {
cout << stu[i].id << " " << stu[i].name << " ";
for (int j = 0; j < 3; j++) {
cout << stu[i].score[j] << " ";
}
cout << endl;
}
return 0;
}
```
在上面的示例程序中,我们定义了一个结构体数组 `stuStru`,用于存储学生信息。然后,我们通过 `insertinfo` 函数实现了学生信息的插入功能。最后,我们在 `main` 函数中输入学生信息,并输出学生信息,以验证程序的正确性。
阅读全文