设计内容与设计要求
1.设计内容: 学生考勤管理系统
1、问题描述 学生信息包括:学号、姓名、性别、年龄、班级等信息。 考勤信息包括:缺课日期、第几节课、课
程名称、学生姓名、缺课类型(迟到、早退、请假和旷 课)。
2、功能要求
(1)添加功能: 程序能够添加学生的记录和缺课记录, 提供选择界面供用户选择所要添加的类别。 添加学生记录时, 要求学号要唯一, 如果添加了重复学号的记录时, 则提示数据添加重复并取消添加。
(2)查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应 的提示信息,如果找到,则显示相应的记录信息。还可以按课程名、学生姓名对缺课记录进行查询。
(3)显示功能:可显示当前系统中所有学生的记录和缺课记录,每条记录占据一行。 (4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。 (5)删除功能: 主要实现对已添加的学生记录进行删除。 示“记录为空! ”并返回操作。
(6)统计功能: 能根据多种参数进行统计。 能按课程名统计出学生旷课的信息、 还可以按姓名统 计出任一学生的旷课情况。需要排序。
(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。
(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。
如果当前系统中没有相应的记录, 则提
目录
一、需求分析 .......................................................... 6
1. 系统设计目的与意义 ............................................. 6 2. ..................................................................................................................... 系统功能需求(系统流程图) .............................................. 6 3. ..................................................................................................................... 系统功能流程图 .......................................................... 7 4. ..................................................................................................................... 输入输出的要求 .......................................................... 7 二、总体分析 .......................................................... 7
1.
系统功能分析 ................................................. 8
2. ..................................................................................................................... 系统功能结构图 .......................................................... 8
1
三、详细设计 .......................................................... 9
1.类设计: ........................................................ 11
四、界面设计与各功能模块的实现 ...................................... 12
1. 界面设计 ...................................................... 12 五、系统调试 ........................................................ 14
1. 首页进入学籍管理系统主菜单 .................................... 14 2 录入学生信息缺课界面: ......................................... 15 3. 显示学生信息缺课界面 .......................................... 16 4. 查找学生信息界面 .............................................. 17 5. 删除学生信息界面 .............................................. 18 6. 修改学生信息 .................................................. 18 7. 统计学生信息: ................................................ 19 六、 使用说明及心得体会 ............................................ 20 七、附件 ............................................................ 20
一、 需求分析
1.系统功能流程图
2
主程序
3.输入输出的要求
1. 输入的要求:
通过主函数体调用其他函数应用系统主控界面包括学生信息录入, 查找等功能模块。学生 信息录入功能完成学生信息和缺课信息的输入。 记录查询功能可以对数据各分类的记录进 行查询。
2. 输出的要求:
1) 能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。 2) 可以统计全部学生缺课类型,及其缺课次数。 3) 如果检索不到相应的信息应提示用户。
二、总体分析
系统功能分析
能够从屏幕上读取一个学生的信息和缺课信息并将信息存入到数据文件中。能够将指 定的信息从文件中删除。能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏 幕上。可以统计全部学生缺课次数,及其缺课类型。要求有错误提示功能。如果检索不到 相应的信息应提示用户。
3
三、详细设计
1.类设计:
类: Person 数据成员 学号,姓名,性别,年龄,班级缺课类型,缺课次数,指针域 double num; // 学号
char Name[20]; // 姓名
char sex;// 性别 double old;// 年龄 long double G;// 班级 int Duty; // 缺课类型 (1- 迟到 ,2- 早退,3- 请假,4- 旷课 ) double Salary; // 缺课次数 Person *next; // 指针域 、 成员函数 Person() // 基类构造 {
next=0; // 指针域设置为空 }
virtual ~Person() // 基类虚析构 { } virtual void Input()=0; //
从键盘输入数据
virtual void Input(ifstream& ifs)=0; // 从文件输入数据 virtual void Output()=0; // 向屏幕输出数据 virtual void Output(ofstream& ofs)=0; // 向文件输出数据 virtual double Incoming()=0; // 计算次数
friend class College;
类: Teacher (公共继承与 Person 类) 数据成员: protected:
int Hours; // 第几节课 char B;// 迟到日期 char Z;// 课程名称 class school 成员函数:Tercher () {} void Input() void Input(ifstream& ifs) void Output(ofstream& ofs) double Incoming() 迟到类: class Assistant:virtual public Person 数据成员: protected: int Allowance; int Hours; // 第几节课 char B;// 早退日期 char Z;// 课程名称
成员函数: Assistant () void Input() void Input(ifstream& ifs) void Output() void
Output(ofstream& ofs) double Incoming() 请假类: class Manager:virtual public Person 数据
4
成员: protected: int Allowance;
int Hours; // 第几节课 char B;// 请假日期 char Z;// 课程名称 成员函数: Manager() void Input()
void Input(ifstream& ifs) void Output()
void Output(ofstream& ofs) double Incoming() 旷课类: class Teacher_Assistant:public Teacher,public Assistant 成员函数: Teacher_Assistant() void Input()
void Input(ifstream& ifs) void Output()
void Output(ofstream& ofs) double Incoming() 学生类: class College 数据成员 private: Person *PL; void Clear();
int College::Cfind(int ID,Person **p1,Person **p2) 成员函数: public: College(); // 构造
~College(); // 析构 void Add(); // 退出 void Delete(); // 删除 void Modify(); // void Print(); //
修改 输出
void Save(); // 信息存盘 void Load(); // void Find(); //
信息装入 查找
void Build(); // 导引 void Stat(); //
统计
5
学生考勤管理系统



