可接各类C/C++管理系统课设
目录
该学生成绩管理系统是一个用C++实现的程序,通过控制台界面实现对学生信息的增删改查。系统包括以下功能:添加学生信息、删除学生信息、修改学生信息、查询学生信息、显示所有学生信息、统计学生成绩数据和清空系统数据。
实现功能
-
添加学生信息: 用户可以通过输入学生的ID、姓名、年龄、性别和成绩来添加学生信息。新添加的学生信息会被存储在一个向量中。
-
删除学生信息: 用户可以通过输入学生的ID来删除学生信息。程序会在向量中查找对应的学生ID,如果找到则删除该学生的信息。
-
修改学生信息: 用户可以通过输入学生的ID来修改学生信息。程序会在向量中查找对应的学生ID,如果找到则允许用户修改该学生的姓名、年龄、性别和成绩。
-
查询学生信息: 用户可以通过输入学生的ID来查询学生信息。程序会在向量中查找对应的学生ID,如果找到则显示该学生的详细信息。
-
显示信息列表: 程序会显示所有存储在向量中的学生信息列表,包括每个学生的ID、姓名、年龄、性别和成绩。使用格式化输出使信息更加整齐美观。
-
统计学生数据: 程序会计算并显示学生成绩的平均值、最高值和最低值。这有助于用户了解整体的学生成绩分布情况。
-
清空系统数据: 用户可以选择清空系统中所有学生的数据。这会删除向量中存储的所有学生信息。
-
退出系统: 用户选择退出系统时,程序会显示退出提示信息,并终止运行。
部分1:系统设置和主菜单
首先设置程序的基本结构和主菜单界面。
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
using namespace std;
// 定义一个结构体来保存学生信息
struct Student {
int id;
string name;
int age;
string gender;
double grade;
};
// 函数声明
void addStudent(vector<Student>& students);
void deleteStudent(vector<Student>& students);
void modifyStudent(vector<Student>& students);
void queryStudent(const vector<Student>& students);
void displayStudents(const vector<Student>& students);
void statistics(const vector<Student>& students);
void clearData(vector<Student>& students);
void exitSystem();
int main() {
vector<Student> students;
int choice;
while (true) {
cout << "*****************欢迎来到学生成绩管理系统*****************\n";
cout << "你可以进行以下操作:\n";
cout << "1. 添加学生信息\n";
cout << "2. 删除学生信息\n";
cout << "3. 修改学生信息\n";
cout << "4. 查询学生信息\n";
cout << "5. 显示信息列表\n";
cout << "6. 统计学生数据\n";
cout << "7. 清空系统数据\n";
cout << "0. 退出\n";
cout << "请输入你的选择: ";
cin >> choice;
switch (choice) {
case 1:
addStudent(students);
break;
case 2:
deleteStudent(students);
break;
case 3:
modifyStudent(students);
break;
case 4:
queryStudent(students);
break;
case 5:
displayStudents(students);
break;
case 6:
statistics(students);
break;
case 7:
clearData(students);
break;
case 0:
exitSystem();
return 0;
default:
cout << "无效的选择,请重新输入。\n";
}
}
return 0;
}
1. 引入头文件
首先,引入了C++标准库中的必要头文件:
#include <iostream>
#include <vector>
#include <string>
#include <iomanip>
iostream
:用于输入输出操作。vector
:用于动态数组(向量)的使用。string
:用于字符串操作。iomanip
:用于格式化输出。
2. 定义结构体
定义了一个结构体 Student
,用于保存学生信息:
struct Student {
int id; // 学生ID
string name; // 学生姓名
int age; // 学生年龄
string gender; // 学生性别