首页 C++课设高校人员信息管理系统

C++课设高校人员信息管理系统

举报
开通vip

C++课设高校人员信息管理系统C++课设高校人员信息管理系统 BigWork设计报告 报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2013-6-20 1 一(目的与要求 1、目的 (1)要求学生能够熟练掌握C++语言的基本知识和技能。 (2)基本掌握面向对象程序设计的基本思路和方法。 (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求 (1)要求利用面向对象的方...

C++课设高校人员信息管理系统
C++课设高校人员信息管理系统 BigWork 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 报告 软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载 报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2013-6-20 1 一(目的与要求 1、目的 (1)要求学生能够熟练掌握C++语言的基本知识和技能。 (2)基本掌握面向对象程序设计的基本思路和方法。 (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求 (1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计。 (2)在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能,并且要建立清晰的类层次关系。 (3)在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员函数。 (4)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。 (5) 程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。 3、创新要求 在基本要求达到后,可根据实际情况进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。 二(验收方式 未定。 三(课设报告 在完成验收之后,提交课设报告。其中报告中需包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。另外,课设报告要严格遵守模板文件的格式要求,思路清晰,内容详实丰富。 四(成绩评定 占期末成绩的20% 五(说明 1、每位同学在以下的题目中任选一个来完成。 2、学生应严格遵守课堂秩序,按时上机,认真完成各项任务。 3、上机前做好充分的准备,包括事先写好主要程序代码,以保证充分利用上机的时间调试程序。 4、每位同学各自独立完成自己的题目,禁止抄袭或拷贝。 5、必须按规定时间上交课设报告。 2 六(课设题目 题目1 “高校人员信息管理系统” 、问题描述 1 某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。 2、功能要求 (1)基本功能 1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。 4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空~”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。 6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总 数, 或者统计男、女员工的数量,或者统计某年龄段人员的数量等。 7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。 8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。 3 摘 要 在当前的学校人员管理体制下,高等学校不但要有浓厚的学风气息、雄厚的师资力量、 先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播者,更需要 有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人员进行添加、 查找、修改、删除、统计、保存、读取等动态管理的目的。 本文利用Microsoft Visual C++6.0的ADO编写程序,实现了高校对实验员、教师、 行政人员、教师兼行政人员的管理操作。 本系统主要有四个管理模块——实验员管理系统、教师管理系统、行政人员管理系统、 教师兼行政人员管理系统。已经过全面的系统测试,能够很好的运行,达到了预期的效果。 关键词:系统设计 类 信息 目 录 摘要 .................................................................................................................................. ? 第1章 绪 论 ................................................................................................................. 1 1.1 课程设计的目的.................................................................................................. 1 1.2 课程设计的背景和意义 ...................................................................................... 1 1.1.1 课程设计的背景 ........................................................................................ 1 1.1.2 课程设计的意义 ........................................................................................ 1 1.3 课程设计环境 ..................................................................................................... 1 第2章 需求分析 ............................................................................................................. 2 2.1 问题描述 ............................................................................................................ 2 2.2 功能需求 ............................................................................................................ 2 2.3 问题的解决方案 ................................................................................................ 3 第3章 系统设计 ............................................................................................................. 4 3.1 数据设计 ............................................................................................................ 4 3.1.1 类设计 ...................................................................................................... 4 3.1.2 类之间关系 .............................................................................................. 5 3.2结构设计 ............................................................................................................. 6 4 3.2.1 系统流程图 .............................................................................................. 6 3.2.2 界面设计 .................................................................................................. 6 第4章 系统实现 ............................................................................................................. 9 4.1 类实现 ................................................................................................................ 9 4.2 函数实现 ...........................................................................................................11 4.3 主函数 实现 .................................................................................................... 21 第1章 绪论 1.1 课程设计的目的 (1)要求学生能够熟练掌握C++语言的基本知识和技能。 (2)基本掌握面向对象程序设计的基本思路和方法。 (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 1.2 课程设计的背景和意义 1.2.1课程设计的背景 1. 理论研究基础 (1)综合C++编程知识,结合实际加以应用。 (2)参考课本对课本熟悉,应用类、数组等内容。 2. 技术层面的支持 安装Microsoft Visual C++ 6.0集成开发环境。 1.2.2 课程设计的意义 综合复习《C++面向对象程序设计》的所有知识点,进一步熟练面向对象程序的开发方 法和流程,提高学生独立分析问题和解决问题的能力,培养学生的中、小型实践项目开发 能力。 让我们提前感受到编写软件的过程和解决问题的方法。 5 1.3 课程设计环境 软件环境:Microsoft Visual C++ 6.0集成开发环境。 硬件环境:图书馆五楼机房,笔记本电脑。 第2章 需求分析 2.1 问题描述 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等 2.2 功能要求 基本功能 1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所 要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提 示数据添加重复并取消添加。 2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出 相应的提示信息,如果找到,则显示相应的记录信息。 3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。 4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。 5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人 员记录,则提示“记录为空~”并返回操作;否则,输入要删除的人员的编号或姓 名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的 记录不存。 6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数, 或者统计男、女员工的数量,或者统计某年龄段人员的数量等。 7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。 8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。 6 2.3 问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤: )应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; 1 2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。 第3章 系统设计 3.1 数据设计 3.1.1 类设计 此系统共设计了九个类:基类(class CCommon),实验员类(class Cassistant), 教师类(class Cteacher),行政人员类(class Cexecution),教师兼行政人 员类(class Ctea_exe ) 基类中有 int number;//编号 string name;//姓名 string sex;//性别 int age;//年龄 实验员类中添加了 string laboratory;//所在实验室 7 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position) { number = _number; name = _name; sex = _sex; age = _age; laboratory = _laboratory; position = _position; }//输入实Ì验员数据 void output(); ~Cassistant() { }//析构函数 friend int find_nu(Cassistant assistant[], int _nu, int &t); friend int find_na(Cassistant assistant[], string _na, int &t); friend void add(Cassistant assistant[], int _fa); friend void dele(Cassistant assistant[], int _fa); friend void closefile(Cassistant assistant[] ,int &t); 8 friend void _statistics(Cassistant assistant[], int &t); 教师类中添加了 string department;//所在系部 string profession;//专业 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _department,string _profession,string _position) { number = _number; name = _name; sex = _sex; age = _age; department = _department; profession = _profession; position = _position; }//输入教师数据 void output();//输出教师数据 ~Cteacher() { }//析构函数 9 friend int find_nu(Cteacher teacher[], int _nu, int &t); friend int find_na(Cteacher teacher[], string _na, int &t); friend void add(Cteacher teacher[], int _fa); friend void dele(Cteacher teacher[], int _fa); friend void closefile(Cteacher teacher[] ,int &t); friend void _statistics(Cteacher teacher[], int &t); 行政人员类中添加了 string politics;//政治面貌 string position;//职称 void set(int _number,string _name,string _sex,int _age,string _politics,string _position) { number = _number; name = _name; sex = _sex; age = _age; politics = _politics; position = _position; }//输入行政人员数据 void output(); 10 ~Cexecution() { }//析构函数 friend int find_nu(Cexecution execution[], int _nu, int &t); friend int find_na(Cexecution execution[], string _na, int &t); friend void add(Cexecution execution[], int _fa); friend void dele(Cexecution execution[], int _fa); friend void closefile(Cexecution execution[] ,int &t); friend void _statistics(Cexecution execution[], int &t); 教师兼行政人员类添加了 string politics;//政治面貌 string department;//所在系部 string profession;//专业 string position;//职称 void set(int _number,string _name,string _sex,int _age,string _politics,string _department,string _profession,string _position) {number = _number; name = _name; sex = _sex; age = _age; politics = _politics; department = _department; 11 profession = _profession; position = _position; }//输行政人员兼教师数据 void output(); ~Ctea_exe(){}//析构函数 friend int find_nu(Ctea_exe tea_exe[], int _nu, int &t); friend int find_na(Ctea_exe tea_exe[], string _na, int &t); friend void add(Ctea_exe tea_exe[], int _fa); friend void dele(Ctea_exe tea_exe[], int _fa); friend void closefile(Ctea_exe tea_exe[] ,int &t); friend void _statistics(Ctea_exe tea_exe[], int &t); 3.1.2 类之间的关系 基 基类(class CCommon):实验员类(class Cassistant),教师类(class Cteacher),行政人员类(class Cexecution),教师兼行政人员类(class Ctea_exe ) 3.1.3 函数设计 在四个管理类中定义了以下相同函数,功能如其后所说 _add(); 实现该类记录的添加; _query(); 实现该类记录的查询 _display(); 实现该类所有记录的显示; _edit(); 实现该类记录的修改; 12 _delete();实现该类记录的删除; _statistics(); 实现该类记录的统计; XX_put(); 退出 Opefile()读出 Closefile()写入 3.2 结构设计 3.2.1 系统流程图 人员类 教师类 行政人员类 实验员类 教师兼行政人员类 图3―1 3.2.2 界面设计 第4章 系统实现 4.1 类实现 对于基类的定义 class CCommon//公有类 { 13 protected: int number;//编号 string name;//姓名 string sex;//性别 int age;//年龄 }; class Cteacher:public CCommon//教师类 { protected: string department;//所在系部 string profession;//专业 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _department,string _profession,string _position) { number = _number; name = _name; sex = _sex; age = _age; department = _department; profession = _profession; 14 position = _position; }//输入教师数据 void output(); ~Cteacher() { }//析构函数 friend int find_nu(Cteacher teacher[], int _nu, int &t); friend int find_na(Cteacher teacher[], string _na, int &t); friend void add(Cteacher teacher[], int _fa); friend void dele(Cteacher teacher[], int _fa); friend void closefile(Cteacher teacher[] ,int &t); friend void _statistics(Cteacher teacher[], int &t); }; class Cassistant:public CCommon//实验员类 { protected: string laboratory;//所在实验室 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position) { 15 number = _number; name = _name; sex = _sex; age = _age; laboratory = _laboratory; position = _position; }//输入实验员数据 void output(); ~Cassistant() { }//析构函数 friend int find_nu(Cassistant assistant[], int _nu, int &t); friend int find_na(Cassistant assistant[], string _na, int &t); friend void add(Cassistant assistant[], int _fa); friend void dele(Cassistant assistant[], int _fa); friend void closefile(Cassistant assistant[] ,int &t); friend void _statistics(Cassistant assistant[], int &t); }; class Cexecution:public CCommon//行政人员类 { protected: string politics;//政治面貌 16 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _politics,string _position) { number = _number; name = _name; sex = _sex; age = _age; politics = _politics; position = _position; }//输入行政人员数据 void output(); ~Cexecution() { }//析构函数 friend int find_nu(Cexecution execution[], int _nu, int &t); friend int find_na(Cexecution execution[], string _na, int &t); friend void add(Cexecution execution[], int _fa); friend void dele(Cexecution execution[], int _fa); friend void closefile(Cexecution execution[] ,int &t); 17 friend void _statistics(Cexecution execution[], int &t); }; class Ctea_exe:public CCommon//行政人员兼教师类 { protected: string politics;//政治面貌 string department;//所在系部 string profession;//专业 string position;//职称 public: void set(int _number,string _name,string _sex,int _age,string _politics,string _department,string _profession,string _position) { number = _number; name = _name; sex = _sex; age = _age; politics = _politics; department = _department; profession = _profession; position = _position; }//输入行政人员兼教师数据 18 void output(); ~Ctea_exe() { }//析构函数 friend int find_nu(Ctea_exe tea_exe[], int _nu, int &t); friend int find_na(Ctea_exe tea_exe[], string _na, int &t); friend void add(Ctea_exe tea_exe[], int _fa); friend void dele(Ctea_exe tea_exe[], int _fa); friend void closefile(Ctea_exe tea_exe[] ,int &t); friend void _statistics(Ctea_exe tea_exe[], int &t); }; 4.2 函数实现 对于在四个管理类中定义了相同的函数,以教师类为例 添加功能: void _add(Cteacher *teacher, int &t)//1添加信息 { int number,age; string name,sex,department,profession,position; cout<<"添加信息->请输入:"<>name; if("0" == name) 19 break; cout<<"性别(M--man,W--woman):"; while(1) { cin>>sex; if(sex == "M"||sex == "W") { cout<<"年龄:"; cin>>age; cout<<"系部:"; cin>>department; cout<<"专业:"; cin>>profession; cout<<"职称:"; cin>>position; teacher[t].set(number,name,sex,age,department,profession,position) ; ++t; break; } else cout<<"输入性别错误,请重新输入!"<>flag; if(1 == flag||2 == flag) break; else cout<<"输入错误,请重新输入:!"<>nu; if(find_nu(teacher,nu,t) < t) teacher[find_nu(teacher,nu,t)].output(); else cout<<"查无此人!"<>choice; if(choice == 2) 21 break; }while(choice == 1); };break; case 2://姓名查询 { do { cout<<"请输入姓名!"<>na; if(find_na(teacher,na,t)>choice; if(choice == 2) break; }while(choice == 1); };break; } } int find_nu(Cteacher teacher[], int _nu, int &t)//编号查询方式 { int i; for(i=0;i>choice; switch(choice) { case 1: { cout<<"请输入编号:"; int num; cin>>num; for(int i=0;i>choice; switch(choice) { case 1: { for(int j=i;j>name; for(int i=0;i>choice; switch(choice) { case 1: { for(int j=i;j>Tea[i].num >>Tea[i].name >>Tea[i].sex >>Tea[i].age >>Tea[i].depart >>Tea[i].spec >>Tea[i].title) { 26 Tea[i].Output(); i++; top++; } in.close(); }; 教师函数主界面的定义 void TeaMenu() { Tea_Manage t; int choice; while(choice!=0) { cout<< " \n ***教师管理*** "<退出 |"<>choice; switch(choice) { case 1:t.Add();break; case 2:t.Search();break; case 3:t.Edit();break; case 4:t.Delete();break; case 5:t.Show();break; case 6:t.Save();break; case 7:t.Read();break; case 8:t.Total();break; case 0:cout<<"退出成功!"<实验员管理2=>教师管理3=>行政管理4=教师行政管理0=>退出系统 ||"<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"<>choice; switch(choice) { case 1:ExpMenu();break; case 2:TeaMenu();break; case 3:StafMenu();break; case 4:Tea_StafMenu();break; case 0:cout<<"\n您已安全退出系统."< using namespace std; #include"head.h" void statistics_all()//数据统计行数 { statistics_teacher(); statistics_assistant(); statistics_execution(); statistics_tea_exe(); } void muen() { cout<<"**********欢迎进入高校信息管理系统***********"<:"; } int main() { int i; while(1) { muen(); cin>>i; switch(i) { case 1: teacher_manage(); break;//教师 case 2: assistant_manage(); break;//实验员 29 case 3: execution_manage(); break;//行政 case 4: tea_exe_manage(); break;//教师兼行政 case 5: statistics_all(); break;//统计 default :cout<<"欢迎再次使用!"<
本文档为【C++课设高校人员信息管理系统】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_471618
暂无简介~
格式:doc
大小:70KB
软件:Word
页数:36
分类:生活休闲
上传时间:2017-10-15
浏览量:487