学生成绩档案管理系统
目录
一、实验要求
1、学生信息录入,信息包括学号、姓名、专业、四门课成绩、总分、名次;
2、系统可对学生信息浏览、增加、删除和修改;
3、按学生成绩确定名次及信息输出,双向冒泡排序、希尔排序、快速排序、堆排序。
4、要求可对学生信息查询,根据学号或姓名进行查找;
5、信息修改仅可修改四门课成绩;
6、文件存取学生信息。
二、编程语言及开发环境
c++
Visual Studio 2019
三、项目设计思路
1、对学生成绩档案系统进行需求分析并作出系统设计
2、定义一个stu结构体,里面包含专业、学号、姓名、大物成绩、C++成绩、大学英语成绩、高数成绩以及总分这几项属性。将友元函数声明为public类型,分别声明输入、统计、查找、修改、删除、新增、排序、显示这几个友元函数。
class Student {
private:
char classroom[20]; //专业
int num; //学号
char name[20]; //姓名
float physics; //大学物理
float c_program; //C++
float english; //大学英语
float math; //高等数学
float sum; //总分
int order;
public:
friend void Input(Student stu[]);
friend void Statistic(Student stu[]);
friend void Lookup(Student stu[]);
friend void Modify(Student stu[]);
friend void Delete(Student stu[]);
friend void Output(Student stu[]);
friend void Insert(Student stu[]);
friend void Sort(Student stu[]);
friend void Write(Student stu[], int n);
friend int Read(Student stu[]);
}stu[100];
3、编写菜单
输入学生信息(包括学号、姓名、专业、4门课成绩)
浏览学生信息(对学生排序后信息进行浏览)
查找学生信息(查找符合条件的某条记录)
修改学生信息(仅对学生成绩进行修改)
删除学生信息(删除指定学生的信息,可给用户选择检索指定项)
新增学生信息(包括学号、姓名、专业、4门课成绩)
按成绩总分排序(双向冒泡排序、希尔排序、快速排序、堆排序)
保存学生信息(保存学生成绩档案信息到文本文件)
加载学生信息(登录系统后将磁盘文件中保存的学生成绩信息读取到内存中)
int menu() {
char c;
do {
system("cls");
cout << "******************************************************" << endl;
cout << "----------------欢迎使用学生成绩管理系统---------------" << endl;
cout << " * 【1】输入学生成绩 * " << endl;
cout << " * 【2】显示统计数据 * " << endl;
cout << " * 【3】查找学生成绩 * " << endl;
cout << " * 【4】修改学生成绩 * " << endl;
cout << " * 【5】删除学生成绩 * " << endl;
cout << " * 【6】插入学生成绩 * " << endl;
cout << " * 【7】按总分排列 * " << endl;
cout << " * 【8】显示学生成绩 * " << endl;
cout << " * 【0】退出管理系统 * " << endl;
cout << "******************************************************" << endl;
cout << "请选择您的操作 (0-8):" << endl;
c = getchar();
} while (c < '0' || c > '8');
return (c - '0');
}
4、主函数设计
int main() {
for (;;) {
switch (menu()) {
case 1:
Input(stu);
break;
case 2:
Statistic(stu);
break;
case 3:
Lookup(stu);
system("pause");
break;
case 4:
Modify(stu);
system("pause");
break;
case 5:
Delete(stu);
system("pause");
break;
case 6:
Insert(stu);
system("pause");
break;
case 7:
Sort(stu);
system("pause");
break;
case 8:
Output(stu);
system("pause");
break;
case 0:
cout << endl << "================感谢您使用学生成绩管理系统==============\n" << endl;
exit(0);
}
}
return 0;
}