题目:学生管理系统设计
功能:学生管理系统设计,每个学生是一条记录,包括姓名、学号、性别、出生年月、专业、班级、家庭地址、宿舍号码等。系统要求实现以下功能:
1、输入功能:录入学生信息(包括学生学号、姓名、性别、出生年月、专业等);
2、显示功能:完成学生记录的显示。
3、查找功能:完成按学号或姓名查找学生的相关记录,并显示。
摘 要
学生成绩管理系统是典型的信息管理系统,是学校教务管理的重要组成部分,其处理信息量很大。
本课程设计是用C++实现对学生的成绩管理作一个简单的模拟,实质是建立学生成绩单链表,每条记录由学号、姓名与成绩组成,即链表中每个节点由4个数据域组成,,分别为:学号、姓名、成绩存放下一个节点地址的next。采用菜单选择操作方式完成6项功能分别写成6个函数,创建学生成绩对应建立学生单链表的现实、查询、修改于删除四大基本操作。该系统中的数据采用线性表中的链式存储结构即单链表来存储,用类型定义每个学生记录并采用外部文件方式记录数据,便于数据的读取和保存。
通过对学生成绩管理系统的制作,能够让使用者迅速地对学生的成绩做各项处理和显示,最终的到想要的信息,方便且易于操作。
关键词:学生成绩管理系统,C++,链表,文件
目 录
目录
1.系统需求分析
设计一个学生的类。类的设计测试数据的记录和将要实现的功能。学生成绩
管理系统有若干学生成绩记录组成,学生一条记录包括:学号、姓名、数学
成绩、物理成绩和英语成绩。主函数显示功能菜单,供用户选择操作。每步操
作之前,都要显示菜单。在主函数中调用类的方法。
2.系统总体设计
|1.输入学生成绩|
|2.查看学生成绩|
|3.删除学生成绩|
|4.修改学生成绩|
|5.学生成绩排序|
|6.读 取 文 件 |
|7.保 存 文 件 |
3.系统详细设计
主程序:
int main()
{
int key;
scoreList * abs = new scoreList;
abs->index = 0;
while (true)
{
showlist();
cin >> key;
switch (key)
{
case 0: return 0; break;
case 1: inScore(abs); break;
case 2: showScore(abs); break;
case 3: deleteSore(abs); break;
case 4: setScore(abs); break;
case 5: sortScore(abs); break;
case 6: fileOpen(abs); break;
case 7: fileSave(abs); break;
}
}
system("pause");
return 0;
}
头文件:
// ConsoleApplication3.cpp : 定义控制台应用程序的入口点。
//#include"stdafx.h"
#include<iostream>
#include<string>
#include<algorithm>
#include<vector>
#include<fstream>
#include<iterator>
#define max 10000
using namespace std;
自定义菜单函数:
void showlist() {
cout << "\t\t\t\t --------------" << endl;
cout << "\t\t\t\t|1.输入学生成绩|" << endl;
cout << "\t\t\t\t|2.查看学生成绩|" << endl;
cout << "\t\t\t\t|3.删除学生成绩|" << endl;
cout << "\t\t\t\t|4.修改学生成绩|" << endl;
cout << "\t\t\t\t|5.学生成绩排序|" << endl;
cout << "\t\t\t\t|6.读 取 文 件 |" << endl;
cout << "\t\t\t\t|7.保 存 文 件 |" << endl;
cout << "\t\t\t\t|0. 退 出 |" << endl;
cout << "\t\t\t\t --------------" << endl;
}
定义总成绩数组:double sum[10000];
定义成绩结构体:
struct Score{
public:
string id;
string name;
string sex;
string yuScore;
string shuScore;