学生成绩档案管理系统(项目准备)

学生成绩档案管理系统

一、实验要求

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;
}

猜你喜欢

转载自blog.csdn.net/wangyiebo/article/details/114197271