高校人事管理系统报告书_第1页
高校人事管理系统报告书_第2页
高校人事管理系统报告书_第3页
高校人事管理系统报告书_第4页
高校人事管理系统报告书_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、xx大学 软件设计基础-C+课程设计报告设计名称: 高校人事管理系统 姓 名: 学 号: 专业班级: 学 院: 设计时间: 设计地点: 成绩:指导教师评语: 指导教师签字: 年 月 日软件设计基础-C+课程设计报告 第 PAGE 18 页,共 NUMPAGES 18 页目 录1.课程设计目的32.课程设计任务与要求33.课程设计说明书44.课程设计成果75.程序调试过程146.设计问题的不足和改进方案157.课程设计心得168.参考文献171课程设计目的软件设计基础-C+课程设计是这门课程的实践性教学环节之一,本次设计结合实际应用的要求,使课程设计既覆盖C+的知识点,又接近工程实际需要。目的是

2、通过课程设计的综合训练,培养学生实际分析问题、解决问题的能力,以及编程和动手能力,最终目标是通过课程设计这种形式,帮助学生系统掌握C+这门课程的主要内容,养成良好的编程习惯,更好的完成教学任务。2课程设计任务与要求:要求:本次课程设计利用软件设计基础-C+课程中所学到的编程知识和编程技巧,完成具有一定难度和工作量的程序设计题目,帮助学生掌握编程、调试的基本技能,独立完成所布置的任务。要求:1、对系统进行功能需求分析2、设计合理的数据结构和系统框架3、编程简练,程序功能齐全,能正确运行4、说明书、流程图要清楚5、课题完成后必须按要求提交课程设计报告任务:某高校,主要人员有:在职人员(行政人员、教

3、师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。(1)添加删除功能:能根据高校人事的变动情况,添加删除记录;(2)查询功能:能根据编号和姓名进行查询;(3)编辑功能(高级):根据查询对相应的记录进行修改,并存储;(4)统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历人数);(5)保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。3课程设计说明书 = 1

4、* GB2 概要设计模块说明:高校人事管理系统的设计程序共包括七个模块,分别是添加并保存模块、删除模块、修改模块、查询模块、统计模块、显示模块、退出系统模块。我所做的是前三个模块,通过程序中数据类型和函数用类来实现,人员类person,定义了相应的构造函数和构造函数的重载以及一些成员函数。此外还利用switch语句、if函数、while循环等。模块结构图:高校人士管理系统删除人员信息修改人员信息查询人员信息统计人员信息显示所有信息 退出添加人员并保存 = 2 * GB2 详细设计 总体流程图:选择要修改的人员信息运行选择要删除的人员信息管理系统主页面分别输入要输入的人员信息删除之后添加完最后一

5、项之后修改完之后各功能模块流程图:(1)添加人员信息功能:能根据人事的变动情况,添加记录;姓名人员类型1添加人员信息并保存并保存bibingbaocun职务性别年龄职称政治面貌最高学历任职时间来院时间主页面(2)删除人员信息功能:能根据人事的变动情况,删除记录;2删除人员信息主页面删除信息人员的编号(3)编辑功能:根据查询对相应的记录进行修改,并存储;修改的项目的代号修改的人的编号3修改人员信息并保存bibingbaocun人员的新的信息修改完毕主页面4课程设计成果源程序代码#include#include/文件流,数据流输入输出#include #include/参数化输入输出是setw()

6、函数的头文件using namespace std;int k;class person /人员基本信息/人员类 似有数据成员private: char num10; /序号/ char type20; /编号/ char name20; /姓名/ char sex10; /性别/ char age10; /年龄/ char zhiwu20; /职务/ char zhichen20; /职称/ char zzmm20; /政治面貌/ char zgxl20; /最高学历/ char rzsj20; /任职时间/ char lysj30; /来院时间/ static int bianhao;pu

7、blic:/构造函数一 void setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1); static int& getbianhao() return bianhao; char * gettype() return type; char * getname() return name; char * getsex() return sex; char * getage() ret

8、urn age; char * getzhiwu() return zhiwu; char * getzhichen() return zhichen; char * getzzmm() return zzmm; char * getzgxl() return zgxl; char * getrzsj() return rzsj; char * getlysj() return lysj; char * getnum() return num; void tjry(); void find(); /查找匹配信息/ void output(); /输出/ void shancu(); /删除/

9、void xiugai(); /修改/ void tongji(); /统计/;person p100;person pp100;int k1;int person:bianhao=0;/构造函数二void person:setperson(char *type1,char *name1,char *sex1,char *age1,char *zhiwu1, char *zhichen1,char *zzmm1,char *zgxl1,char *rzsj1,char *lysj1)/*某高校,主要人员有:在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。 现在,需要存储这些人

10、员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。 int static j=1; strcpy(type,type1); /字符串的拷贝 strcpy(name,name1); strcpy(sex,sex1); strcpy(age,age1); strcpy(zhiwu,zhiwu1); strcpy(zhichen,zhichen1); strcpy(zzmm,zzmm1); strcpy(zgxl,zgxl1); strcpy(rzsj,rzsj1); strcpy(lysj,lysj1); bianhao+; ofstream file(

11、添加人员.txt,ios_base:app); filepj.getbianhao()endl; filepj.gettype()endl; filepj.getname()endl; filepj.getsex()endl; filepj.getage()endl; filepj.getzhiwu()endl; filepj.getzhichen()endl; filepj.getzzmm()endl; filepj.getzgxl()endl; filepj.getrzsj()endl; filepj.getlysj()ppk.getnum(); filemppk.gettype(); f

12、ilemppk.getname(); filemppk.getsex(); filemppk.getage(); filemppk.getzhiwu(); filemppk.getzhichen(); filemppk.getzzmm(); filemppk.getzgxl(); filemppk.getrzsj(); filemppk.getlysj(); k+; filem.close(); cout请输入要被删除信息的人的编号:z; while(zbianhao) cout没有找到你要删除的人,请重新输入:z; for(k=1;k=bianhao;k+) if(z=k) continue

13、; ofstream file2(添加人员.txt,ios_base:trunc); file2ppk.getnum()endl; file2ppk.gettype()endl; file2ppk.getname()endl; file2ppk.getsex()endl; file2ppk.getage()endl; file2ppk.getzhiwu()endl; file2ppk.getzhichen()endl; file2ppk.getzzmm()endl; file2ppk.getzgxl()endl; file2ppk.getrzsj()endl; file2ppk.getlysj

14、()endl; file2.close(); cout删除记录完毕ppk.getnum(); filemppk.gettype(); filemppk.getname(); filemppk.getsex(); filemppk.getage(); filemppk.getzhiwu(); filemppk.getzhichen(); filemppk.getzzmm(); filemppk.getzgxl(); filemppk.getrzsj(); filemppk.getlysj(); k+; filem.close(); cout请输入要修改的人的编号:x; cout请输入编号为x的人

15、需要修改的项目的代号:endl; cout1:编号-2:人员类型-3:姓名-4:性别-5:年龄-6:职务-7:职称-8:政治面貌-9:最高学历-10:任职时间-11:来院时间y; switch(y) case 1: coutppx.getnum() ; break; case 2: coutppx.gettype(); break; case 3: coutppx.getname(); break; case 4: coutppx.getsex(); break; case 5: coutppx.getage(); break; case 6: coutppx.getzhiwu(); brea

16、k; case 7: coutppx.getzhichen(); break; case 8: coutppx.getzzmm(); break; case 9: coutppx.getzgxl(); break; case 10: coutppx.getrzsj(); break; case 11: coutppx.getlysj(); break; ofstream file1(添加人员.txt,ios_base:trunc); for(k=1;k=bianhao;k+) file1ppk.getnum()endl; file1ppk.gettype()endl; file1ppk.get

17、name()endl; file1ppk.getsex()endl; file1ppk.getage()endl; file1ppk.getzhiwu()endl; file1ppk.getzhichen()endl; file1ppk.getzzmm()endl; file1ppk.getzgxl()endl; file1ppk.getrzsj()endl; file1ppk.getlysj()endl; file1.close(); cout修改并保存完毕endl;2.运行结果图1:运行首界面图2添加人员信息界面图3人员信息删除界面图4人员信息修改界面5.程序调试过程将已经编好的程序放在V

18、C+6.0的环境中进行调试与测试,发现程序中的错误,在提示的情况下进行改正。检查了是否缺少了分号(行结束符),if、else是否匹配、switch 语句用法是否对等。注意,宏定义、包含文件定义结束不需分号,而类定义结束需要分号。注意声明函数时,各函数之间的调用关系。 变量、函数未定义、重定义: 检查了变量大小写、是否包含了相应的头文件(包括你自己的和 MFC、Windows 的)。将程序编写完成后,进行编译,出现了error C2143: syntax error : missing ; before ,error C2043: illegal break,error C2046: illeg

19、al case,rror C2018: unknown character 0 xa3,error C2146: syntax error : missing ; before identifier i,rror C2143: syntax error : missing ; before )等错误,经过不断的调试,我们改正了所有的错误,编译通过了,但连接不正确,还是有警告,我们又进行了改正,将所有错误改正。 遇到了一些没有学过的知识点,在老师的指导下不断修改,有时去图书馆查询一些问题,在网上进行查询,最终得到了此程序。6.设计问题的不足和改进方案优点:使用结构使程序的输入输出更简洁 使用函数可以使程序更简便;不足:输入的内容比较多;用文件储存信息不能用结构输入;读取文件中的信息也不能用结构读取; 程序比较大,各部分之间的关系繁琐;改进方案:可以将每个模块弄成头文件的部分,是主程序变得简便明了;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论