用c++编写一个学生成绩管理系统,要利用数据结构知识。以简单为主
时间: 2024-03-11 13:43:28 浏览: 20
好的,为了实现学生成绩管理系统,我们可以使用C++语言中的结构体和数组等数据结构。下面是一个简单的学生成绩管理系统的实现:
```c++
#include<iostream>
using namespace std;
struct Student{
string name; // 学生姓名
int id; // 学生ID
float score; // 学生成绩
};
int main(){
const int MAX_SIZE = 100; // 学生数量上限
Student students[MAX_SIZE]; // 学生数组
int n = 0; // 学生数量
// 主菜单
int choice = 0;
while(true){
cout << "1. 添加学生" << endl;
cout << "2. 查询学生" << endl;
cout << "3. 修改学生" << endl;
cout << "4. 删除学生" << endl;
cout << "5. 显示所有学生" << endl;
cout << "6. 退出" << endl;
cout << "请选择:";
cin >> choice;
switch(choice){
case 1: // 添加学生
if(n >= MAX_SIZE){
cout << "已达到学生数量上限" << endl;
}else{
cout << "请输入学生姓名:";
cin >> students[n].name;
cout << "请输入学生ID:";
cin >> students[n].id;
cout << "请输入学生成绩:";
cin >> students[n].score;
n++;
}
break;
case 2: // 查询学生
int id;
int foundIndex = -1;
cout << "请输入要查询的学生ID:";
cin >> id;
for(int i = 0; i < n; i++){
if(students[i].id == id){
foundIndex = i;
break;
}
}
if(foundIndex == -1){
cout << "未找到该学生" << endl;
}else{
cout << "姓名:" << students[foundIndex].name << endl;
cout << "ID:" << students[foundIndex].id << endl;
cout << "成绩:" << students[foundIndex].score << endl;
}
break;
case 3: // 修改学生
int modifyId;
int modifyIndex = -1;
cout << "请输入要修改的学生ID:";
cin >> modifyId;
for(int i = 0; i < n; i++){
if(students[i].id == modifyId){
modifyIndex = i;
break;
}
}
if(modifyIndex == -1){
cout << "未找到该学生" << endl;
}else{
cout << "请输入修改后的学生姓名:";
cin >> students[modifyIndex].name;
cout << "请输入修改后的学生成绩:";
cin >> students[modifyIndex].score;
cout << "修改成功" << endl;
}
break;
case 4: // 删除学生
int deleteId;
int deleteIndex = -1;
cout << "请输入要删除的学生ID:";
cin >> deleteId;
for(int i = 0; i < n; i++){
if(students[i].id == deleteId){
deleteIndex = i;
break;
}
}
if(deleteIndex == -1){
cout << "未找到该学生" << endl;
}else{
for(int i = deleteIndex; i < n - 1; i++){
students[i] = students[i + 1];
}
n--;
cout << "删除成功" << endl;
}
break;
case 5: // 显示所有学生
for(int i = 0; i < n; i++){
cout << "姓名:" << students[i].name << endl;
cout << "ID:" << students[i].id << endl;
cout << "成绩:" << students[i].score << endl;
}
break;
case 6: // 退出
return 0;
default:
cout << "输入有误,请重新选择" << endl;
break;
}
}
return 0;
}
```
上述代码中,我们使用了一个 `Student` 结构体来存储每个学生的姓名、ID和成绩,使用一个数组来存储所有学生的信息。通过一个主菜单,我们可以实现添加学生、查询学生、修改学生、删除学生和显示所有学生的功能。