




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、设计内容与设计要求1.设计内容:学生考勤管理系统1、问题描述学生信息包括:学号、姓名、性别、年龄、班级等信息。考勤信息包括:缺课日期、第几节课、课程名称、学生姓名、缺课类型(迟到、早退、请假和旷 课)。2、功能要求(1)添加功能:程序能够添加学生的记录和缺课记录,提供选择界面供用户选择所要添加的类别。添加学生记录时,要求学号要唯一,如果添加了重复学号的记录时,则提示数据添加重复并取消添加。(2 )查询功能:可根据学号、姓名等信息对已添加的学生记录进行查询,如果未找到,给出相应 的提示信息,如果找到,则显示相应的记录信息。还可以按课程名、学生姓名对缺课记录进行查询。(3 )显示功能:可显示当前系
2、统中所有学生的记录和缺课记录,每条记录占据一行。(4 )编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。(5) 删除功能:主要实现对已添加的学生记录进行删除。如果当前系统中没有相应的记录,则提示“记录为空!”并返回操作。(6) 统计功能:能根据多种参数进行统计。 能按课程名统计出学生旷课的信息、还可以按姓名统 计出任一学生的旷课情况。需要排序。(7)保存功能:可将当前系统中各类记录存入文件中,存入方式任意。(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。目 录一、需求分析61. 系统设计目的与意义 62. 系统功能需求(系统流程图) 63. 系统功
3、能流程图74. 输入输出的要求7二、总体分析71. 系统功能分析 82. 系统功能结构图8三、详细设计91.类设计:11四、界面设计与各功能模块的实现 121. 界面设计12五、系统调试 141.首页进入学籍管理系统主菜单142录入学生信息缺课界面: 153. 显示学生信息缺课界面 164. 查找学生信息界面175. 删除学生信息界面 186. 修改学生信息187. 统计学生信息:19六、使用说明及心得体会 20七、附件20一、需求分析1.系统功能流程图3. 输入输出的要求1. 输入的要求:通过主函数体调用其他函数应用系统主控界面包括学生信息录入,查找等功能模块。学生信息录入功能完成学生信息和
4、缺课信息的输入。 记录查询功能可以对数据各分类的记录进 行查询。2. 输出的要求:1)能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏幕上。2)可以统计全部学生缺课类型,及其缺课次数。3)如果检索不到相应的信息应提示用户。二、总体分析系统功能分析能够从屏幕上读取一个学生的信息和缺课信息并将信息存入到数据文件中。能够将指 定的信息从文件中删除。能够按编号、姓名对学生的信息进行检索并将检索结果显示在屏 幕上。可以统计全部学生缺课次数,及其缺课类型。要求有错误提示功能。如果检索不到 相应的信息应提示用户。三、详细设计1.类设计:类:Pers on数据成员学号,姓名,性别,年龄,班级缺课类型,
5、缺课次数,指针域double num; / 学号char Name20; / 姓名char sex;/ 性别double old;/ 年龄long double G; 班级int Duty; / 缺课类型(1-迟到,2-早退,3-请假,4-旷课)double Salary; /缺课次数Person *next; / 指针域、成员函数Perso n() / 基类构造n ext=0; / 指针域设置为空virtual Perso n() / 基类虚析构virtual void In put()=0; /从键盘输入数据virtual void Input(ifstream& ifs)=0; / 从文
6、件输入数据 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
7、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 数
8、据成员: 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(
9、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();
10、 /信息存盘void Load(); /信息装入void Find(); /查找void Build(); /导引void Stat(); /统计四、界面设计与各功能模块的实现1. 界面设计1. 界面设计 程序运行后会出现一个简捷的窗口,便于用户查询数据。2. 功能模块实现设计通过主窗体调用其他窗体。 应用系统主控界面包括学生信息录入, 查找等功能模块。 学生 信息录入功能完成学生信息和成绩的输入。 记录查询功能可以对数据各分类的记录进行查 询。具体举例如下:1)输入函数:void Input()coutnum;coutName;coutsex;coutold;coutG;coutHours;
11、Salary=Incoming(); 2 )删除函数void school:del() stude nt *p,*p2; int num;coutvv请输入编号 cinnum;if( !find(&p,n um,A)(p-n ext)-output();ndl;Mann agercoutSORRY找不到你要删除的内容! return;Assita ntdelete p2;p2=p-n ext; p- nexip next;school:setkey(1);2.类的派生之间的示意图Assitant五、系统调试1.首页进入学生考勤管理系统主菜单2录入学生信息界面:3. 显示学生信息界面:4. 修改
12、学生信息六、使用说明及心得体会此次C+课程设计,在指导教师的精心教导下,我学会了如何用C+编写一个简单的应用程序。首先要对程序的设计要求有一个比较明确的认识,然后系统分析与系统设计, 最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照 程序编写原则,便于查询。七、附件源文件代码:#include 文件操作头文件#include 字符串流class Person /人员类(抽象类)protected:double num; / 学号char Name20; / 姓名char sex;/ 性别double old;/ 年龄long double G;/ 班级int Du
13、ty; / 缺课类型 (1-迟到 ,2-早退,3-请假 ,4-旷课)double Salary; /缺课次数Person *next; /指针域public: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; / 向文件输出数据virt
14、ual double Incoming()=0; / 计算次数 friend class College; ;class Teacher:virtual public Person /迟到类 protected:int Hours; / 第几节课char B;迟到日期char Z;课程名称public: Duty=1;Salary=800; void Input() / 键盘补充输入其它数据 coutnum; coutName;coutsex;coutold;coutG;coutHours;Salary=Incoming(); void Input(ifstream& ifs) ifsnumN
15、amesexoldGDutyHoursSalary; void Output() coutnumtNametsextoldtGtDutytHourstSalarytendl; void Output(ofstream& ofs) ofsnumtNametsextoldtGtDutytHourstSalaryt120)return Salary+(Hours-120)*20;else(sJtz03Lue(Dls&ndu- po宀o6u-LUOOU-MXJe-es innoHAAUocspwurvvlno。 AAUOc祭罢 urvvlno。 POAAUOc筮宀o9v(DoueMO_ o99MXJe
16、_esZMAlnQ 二)luels一 ss o一-qnd 離吨咽s注zeu。 霰口唄M-二meu。 spw=snoHc一 aoue/vo=luels 一 ss 宀o94M(DoueMO_09 卜 MXJeros oMncl二)06euel/l o一-qnd 離吨咽s注zeu。、二snoHc一 aoue/vo=(06euel/l sseoX 宀iooue/vo- 宀 covv-vv-ro-rowvv-vvOTVV-VVQVV-vv0vv-vv-ovv-vvxovv-VVOErozvv-VVE=cvvoo (xndlno po 宀 ro-rowAAOTC-T-OTAAQAAOAA-w-OAAXOO
17、TAAOErozAAET-CAAcoutsex;coutold;coutG;coutHours;Salary=Incoming(); void Input(ifstream& ifs) ifsnumNamesexoldGDutyHoursSalary; void Output() coutnumtNametsextoldtGtDutytHourstSalarytnext;delete p;p=PL;PL=0;void College:Add() / 增加char c; do coutInput(); p-next=pt;break;case 2: pa=new Assistant; pa-In
18、put(); p-next=pa;break;case 3: pm=new Manager; pm-Input(); p-next=pm;break;case 4: pta=new Teacher_Assistant; pta-Input(); p-next=pta;break; default: return;coutc;while(c=y|c=Y);Save();/查找void College:Find()double ID;Person *p1;Person *p2; coutID;p1=PL-next; p2=PL;while(p1) if(p1-num=ID) break; / 找到
19、 else p2=p1; / 继续查找 p1=p1-next;if(!p1) cout 找不到你所查询的人 !n 请确认你所查询的编号是否出错 !n;return; else coutn* 出勤信息表 *n;coutOutput();/查找缺课结点 (返回 1-找到, 0-未找到 .结点指针由 p1 返回 ,p2 为前看指针 )int College:Cfind(int ID,Person *p1,Person *p2)*p1=PL-next;*p2=PL;while(*p1)if(*p1)-num=ID)break; / 找到else*p2=*p1; / 继续查找 *p1=(*p1)-nex
20、t;return *p1?1:0;void College:Delete() / 删除coutn* 删除 *n;int num; Person *p1,*p2; coutnum;if(!Cfind(num,&p1,&p2)coutnext=p1-next; / 连接delete p1;cout 正确删除 !n;Save();void College:Modify() / 修改coutn* 修改 *n;int num;Person *p1,*p2;coutnum;if(!Cfind(num,&p1,&p2) coutOutput(); / 输出原来的出勤信息 (做提示 ) p1-Input();
21、 / 输入新的出勤信息 (更新 ) cout 修改完成 !n;Save(); void College:Print() / 输出出勤信息coutn* 出勤信息表 *n;coutnext;if(!p)coutOutput(); p=p-next;void College:Save() / 出勤信息存盘 ?ofstream f(Person.dat,ios:out); / 打开文件Person *p=PL-next; while(p) p-Output(f); p=p-next;f.close(); / 关闭文件 coutbufbufDuty;if(f) switch(Duty) case 1:
22、p2=new Teacher; break;case 2: p2=new Assistant; break;case 3: p2=new Manager; break;case 4: p2=new Teacher_Assistant; break; default: f.close(); return; p-next=p2; p=p-next; f.seekg(t); p-Input(f);else break; f.close();void College:Load() / 出勤信息录入char ah;int c; coutn* 出勤信息录入 *n;docoutc;for(int i=1;i
23、next)p=p-next; int ch;coutvv输入出勤分类码1-迟到,2-早退,3-请假,4-旷课cinch; Teacher *pt;Assistant *pa; Manager *pm;Teacher_Assistant *pta;switch(ch)case 1: pt=new Teacher; pt-Input();p-next=pt;break;case 2: pa=new Assistant; pa-Input(); p-next=pa;break;case 3: pm=new Manager; pm-Input(); p-next=pm;break;case 4: pta=new Teacher_Assistant; pta-Input(); p-next=pta;break;default: return;Save();coutvv是否还要继续录入出勤信息? y/nn;cinah;while(ah=Y|ah=y);void College:Stat()Person *p1;Person *p2;double Sa=0;int a,b,i=0;double c,d;n;coutvv选择你要统计的类别n1-类别;2-次数;3-缺课总次数; cina;if(a=1)cout
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 华北科技学院《电路原理(Ⅰ)》2023-2024学年第二学期期末试卷
- 江苏农牧科技职业学院《外科常用技术》2023-2024学年第一学期期末试卷
- 武夷山职业学院《水文学实验》2023-2024学年第一学期期末试卷
- 山东文化产业职业学院《老年健身》2023-2024学年第二学期期末试卷
- 2025土石方工程分包合同B土石方分包合同
- 广东新安职业技术学院《二语习得》2023-2024学年第二学期期末试卷
- 2025届黑龙江省绥化市青冈县高三4月调研测试(二诊)数学试题试卷含解析
- 山西省运城2025年初三下学期期中练习化学试题理试卷含解析
- 科研项目校内协作合同(2025年版)
- 辽宁师范大学海华学院《航海气象学与海洋学》2023-2024学年第一学期期末试卷
- 供应链管理-第十三章供应链绩效评价课件
- 水利工程建设标准强制性条文
- DB15T 489-2019 石油化学工业建设工程技术资料管理规范
- 数学课堂教学技能讲座课件
- 异物管控记录表
- 公车私用管理制度
- 设备主人制管理办法
- 市政基础设施工程旁站监理记录表
- 幼儿园绘本:《小蛇散步》 课件
- 《艺术学概论考研》课件艺术本体论-形式论
- 遵义会议ppt课件
评论
0/150
提交评论