《面向对象程序设计》课程设计-企业人事管理系统.doc

上传人:爱问知识人 文档编号:3259863 上传时间:2019-08-06 格式:DOC 页数:31 大小:374.53KB
返回 下载 相关 举报
《面向对象程序设计》课程设计-企业人事管理系统.doc_第1页
第1页 / 共31页
《面向对象程序设计》课程设计-企业人事管理系统.doc_第2页
第2页 / 共31页
《面向对象程序设计》课程设计-企业人事管理系统.doc_第3页
第3页 / 共31页
《面向对象程序设计》课程设计-企业人事管理系统.doc_第4页
第4页 / 共31页
《面向对象程序设计》课程设计-企业人事管理系统.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《《面向对象程序设计》课程设计-企业人事管理系统.doc》由会员分享,可在线阅读,更多相关《《面向对象程序设计》课程设计-企业人事管理系统.doc(31页珍藏版)》请在三一文库上搜索。

1、河南城建学院 面向对象程序设计课程设计 设计说明书 课程名称: 面向对象程序设计课程设计 设计题目: 企业人事管理系统 指导教师: 班 级: 学 号: 学生姓名: 同组人员: 计算机科学与工程系 2011 年 6 月 23 日 面向对象程序设计 C+ 课程设计实验报告 - 1 - 目 录 第第 1 章章 选选 题题2 1.1 题目背景.2 1.2 系统实现的具体分工2 1.2.1 选题2 1.2.2团队分工.2 1.3 开发环境3 第第 2 章章 设计内容设计内容3 2.1 实现功能3 2.2 概要设计(涉及类的框图).4 2.3 界面设计.4 第第 3 章章 系统实现系统实现4 3.1 涉及

2、知识点.4 3.2 系统运行.12 3.3 源程序清单(关键代码).15 第第 4 章章 测试与实验结果测试与实验结果29 第第 5 章章 结束语结束语30 参考文献参考文献30 面向对象程序设计 C+ 课程设计实验报告 - 2 - 第 1 章 选 题 1.1 题目背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它 已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法 比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成 本低等。这些优点能够极大地提高人事理的效率

3、,也是企业的科学化、正规化管理,与世 界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展 所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管 理人员,而且也需要信息化工具进行辅助 在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系 统来于小型的企事业单位,不啻于“杀鸡用牛刀” ,因此小型的的软件对于这种单位自 然有十分重要作用。 1.2 系统实现的具体分工 1.2.1 选题 此项目是为了适应现代化企业的发展潮流,从而实现用计算机进行企业人事管理,达到检索迅 速、

4、查找方便、可靠性高、存储量大、保密性好等功能。一下是项目的功能: 1、添加功能: 添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址, 家庭电话号码,部门,薪水,性别,职务。 2、删除功能: 能够对一个职员的信息进行删除按姓名进行删除。 3、删除全部职员信息: 能够对于全部职员的信息进行删除! 4、显示功能: 显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等。 5、查找功能: 根据你键入的职员姓名,显示其详细信息! 6、修改功能: 对职员的信息进行修改。 7、保存信息 对全部信息进行保存。 8、退出程序 能够退出程序。 1.2.2团队分工 表 1.1 项目分工一

5、览表 角色姓名承担的具体任务 面向对象程序设计 C+ 课程设计实验报告 - 3 - 组长于嘉构架整个程序的模块,负责部门类于全体 职工类的构造。 组员赵鑫磊已生成文件的方式保存录入的信息,组织 交互界面,调试程序以及优化程序。 组员千利稳编写增删改查的模块程序,构造 base 类。 1.3 开发环境 编程工具:Visual C+ 6.0 机型:方正电脑 处理器名称:Intel(R)Core(TM)2 Duo CPU E7200 2.53GHz 硬盘驱动器:WDC WD1600AAJS-22WAAO 系统内存:金士顿内存 2GB 显示卡: NVIDIA GeFORCE 9400 GT 显示器:

6、方正科技 FG981-W9 操作系统:Microsoft Windows XP Professional 第 2 章 设计内容 2.1 实现功能 1、添加功能: 添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址, 家庭电话号码,部门,薪水,性别,职务。 2、删除功能: 能够对一个职员的信息进行删除按姓名进行删除。 3、删除全部职员信息: 能够对于全部职员的信息进行删除! 4、显示功能: 显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等。 5、查找功能: 根据你键入的职员姓名,显示其详细信息! 6、修改功能: 对职员的信息进行修改。 7、保存信息 对全部信息进行

7、保存。 8、退出程序 能够退出程序。 面向对象程序设计 C+ 课程设计实验报告 - 4 - 2.2 概要设计(涉及类的框图) 系统 base 类 personnel 类 maintain 类 员 工 工 作 号 员 工 姓 名 员 工 身 份 证 号 员 工 性 别 员 工 生 日 员 工 家 庭 住 址 员 工 电 话 员 工 职 务 员 工 薪 水 员 工 职 务 员 工 薪 水 员 工 工 作 号 员 工 姓 名 员 工 身 份 证 号 员 工 性 别 员 工 生 日 员 工 家 庭 住 址 员 工 电 话 2.3 界面设计 界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。

8、 结构设计也称概念设计 (Conceptual Design) ,是界面设计的骨架。该企业人事 管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目 录体系包括 1 录入员工信息、2 显示员工信息、3、查找员工信息 4、删除员工信息、5 、修改员工信息、6、清空员工信息、7、保存员工信息、8、退出。其中录入信息会出 现 1、人事部、2、维修部、3、销售部。 第 3 章 系统实现 3.1 涉及知识点 类的设计与分析 为了界面简洁些,用了几个类。一个类包含员工的基本信息,一个类包含部门的信 息,一个类继承了基本信息和部门信息。 1Base 类 class Base publi

9、c: int No; int ID; string Name; string Sex; int Birthday; string Address; int Phone; void input() coutNo; 面向对象程序设计 C+ 课程设计实验报告 - 5 - coutName; coutSex; coutID; coutBirthday; coutAddress; coutPhone; void output() coutJob; coutPay; void output() cout ; Staff 类说明表 名称属性说明 NO数据成员记录员工对象的工作号 Name数据成员记录员工对象

10、的姓名 ID 数据成员记录员工对象的身分证 Sex 数据成员记录员工对象的性别 面向对象程序设计 C+ 课程设计实验报告 - 7 - Birthday 数据成员记录员工对象的生日 Address 数据成员记录员工对象的家庭住址 Phone 数据成员记录员工对象的电话 void input()成员方法成员函数,输入数据 void output()成员方法成员函数,输出数据 Job 数据成员记录员工对象的职务 Pay 数据成员记录员工对象的薪水 virtual void show() 成员方法虚函数,显示所在的部门 void input() 成员方法成员函数,输入数据 void output()

11、成员方法成员函数,输出数据 模块设计与分析 1录入员工信息录入员工信息 void insert()/录入数据 int n; while(1) coutn; if(n=1|n=2|n=3) if(n=1) do Staff *p; p=new Staff; p-bumen.show(); p-input(); p-bumen.input(); int q; do for(int i=0;iNo=p-No) coutinput(); p-bumen.input(); q+; break; 面向对象程序设计 C+ 课程设计实验报告 - 8 - while(q!=0); for(int j=0;jn;

12、 while(n=1); P 申请新的 Staff空间,输入数据,检查所输入的信息是否已经存在, 存在显示数据已经存在,重新输入新的数据,再检查,直到输入没有错误。进入保 存该正确的数据,空间要有足够的空间才能保存数据,不足就保存失败。 2显示员工信息显示员工信息 void show()/显示数据 Staff *p; coutoutput(); p-bumen.output(); 只要 P 的空间内不为空就输出数据。 3查找员工信息查找员工信息 void find()/查找数据 string n; coutn; for(int j=0;jName)=n) Pj-bumen.show(); co

13、utoutput();Pj-bumen.output(); break; 面向对象程序设计 C+ 课程设计实验报告 - 9 - 输入要查找的名字,循环空间,空间不为空,而且空间里的名字与输入的名字 对比, 符合就输出该数据,不符合下一条数据,直到符合为止。如果全部空间扫描完都没 有找到该信息,就输出不存在该信息。 4删除员工信息删除员工信息 void Delete()/删除数据 string n;int m; coutn; coutm; if(m=1) for(int j=0;jName)=n) coutoutput();Pj-bumen.output(); Pj=NULL; coutn; c

14、outm; if(m=1) for(int j=0;jName)=n) coutoutput();Pj-bumen.output(); 面向对象程序设计 C+ 课程设计实验报告 - 10 - Pj-input();Pj-bumen.input(); coutn; if(n=a) for(int i=0;iNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.PayNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.PayNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.Pay

15、No; coutName; coutSex; coutID; coutBirthday; coutAddress; coutPhone; void output() coutJob; coutPay; void output() cout class Branch public: Type bumen; ; /staff.h #include“basic.h“ #include“branch.h“ #include“iostream“ using namespace std; template class Staff : public Base, public Branch ; /头文件 #i

16、nclude“string“ #include #include“staff.h“ #include“cstdio“ #include“conio.h“ #include“fstream“ #include“iostream“ #include“stdlib.h“ #define N 100 using namespace std; Staff *PN; Staff *MN; Staff *SN; const int SIZE_CHAR = 5; const char CCH = “abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ“; 面

17、向对象程序设计 C+ 课程设计实验报告 - 18 - int b1=0,b2=0,b3=0;/导入数据条数 string m()/随机生字母 char chSIZE_CHAR + 1 = 0; for (int i = 0; i n; if(n=1|n=2|n=3) if(n=1) do Staff *p; p=new Staff; p-bumen.show(); p-input(); p-bumen.input(); int q; do for(int i=0;iNo=p-No) coutinput(); p-bumen.input(); q+; break; while(q!=0); fo

18、r(int j=0;jn; while(n=1); else if(n=2) do Staff *a; a=new Staff; a-bumen.show(); a-input(); a-bumen.input(); int q; do for(int i=0;iNo=a-No) coutinput(); a-bumen.input(); q+; break; 面向对象程序设计 C+ 课程设计实验报告 - 20 - while(q!=0); for(int j=0;jn; while(n=2); else if(n=3) do Staff *s; s=new Staff; s-bumen.sh

19、ow(); s-input(); s-bumen.input(); int q; do for(int i=0;iNo=s-No) coutinput(); s-bumen.input(); q+; break; while(q!=0); for(int j=0;jn; while(n=3); break; void show()/显示数据 int n; while(1) coutn; if(n=1|n=2|n=3) if(n=1) Staff *p; coutoutput(); p-bumen.output(); break; else if(n=2) Staff *a; coutoutpu

20、t(); a-bumen.output(); 面向对象程序设计 C+ 课程设计实验报告 - 22 - break; else if(n=3) Staff *s; coutoutput(); s-bumen.output(); break; else if(n=0) break; void find()/查找数据 string n; coutn; for(int j=0;jName)=n) Pj-bumen.show(); coutoutput();Pj-bumen.output(); break; for(j=0;jName)=n) Mj-bumen.show(); coutoutput();

21、Mj-bumen.output(); 面向对象程序设计 C+ 课程设计实验报告 - 23 - break; for(j=0;jName)=n) Sj-bumen.show(); coutoutput();Sj-bumen.output(); break; void Delete()/删除数据 string n;int m; coutn; coutm; if(m=1) for(int j=0;jName)=n) coutoutput();Pj-bumen.output(); Pj=NULL; coutName)=n) coutoutput();Mj-bumen.output(); Mj=NULL

22、; coutName)=n) coutoutput();Sj-bumen.output(); Sj=NULL; coutn; coutm; if(m=1) for(int j=0;jName)=n) coutoutput();Pj-bumen.output(); Pj-input();Pj-bumen.input(); coutName)=n) coutoutput();Mj-bumen.output(); Mj-input();Mj-bumen.input(); coutName)=n) coutoutput();Sj-bumen.output(); Sj-input();Sj-bumen.

23、input(); coutn; if(n=a) for(int i=0;iNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.PayNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.PayNoSexNameIDBirthdayAddressPhonebumen.Jobbumen.Payb1b2b3; input_file.open(“Personnel.txt“); input_file2.open(“Maintain.txt“); input_file3.open(“Sell.txt“); if(!input_

24、file|!input_file2|!input_file3) cout; Pi-No=100+i;Pi-Sex=m;Pi-Name=m();Pi-ID=1000+rand()%100; Pi-Birthday=1988000+rand()%100;Pi-Address=m();Pi- Phone=13567+rand()%100; Pi-bumen.Job=m();Pi-bumen.Pay=2000+rand()%101; Mi=new Staff; Mi-No=100+i;Mi-Sex=m;Mi-Name=m();Mi-ID=1000+rand()%100; 面向对象程序设计 C+ 课程设

25、计实验报告 - 28 - Mi-Birthday=1988000+rand()%100;Mi-Address=m();Mi- Phone=13567+rand()%100; Mi-bumen.Job=m();Mi-bumen.Pay=2000+rand()%101; Si=new Staff; Si-No=100+i;Si-Sex=m;Si-Name=m();Si-ID=1000+rand()%100; Si-Birthday=1988000+rand()%100;Si-Address=m();Si- Phone=13567+rand()%100; Si-bumen.Job=m();Si-bu

26、men.Pay=2000+rand()%101; else for(int i=0;i; input_filePi-NoPi-SexPi-NamePi-IDPi- BirthdayPi-AddressPi-PhonePi-bumen.JobPi-bumen.Pay; for(i=0;i; input_file2Mi-NoMi-SexMi-NameMi-IDMi- BirthdayMi-AddressMi-PhoneMi-bumen.JobMi-bumen.Pay; for(i=0;i; input_file3Si-NoSi-SexSi-NameSi-IDSi- BirthdaySi-Addre

27、ssSi-PhoneSi-bumen.JobSi-bumen.Pay; coutn; if(n!=1|n!=2|n!=3|n!=4|n!=5|n!=6|n!=7|n!=8) break; switch(n) case 1:insert();break; case 2:show();break; case 3:find(); break; case 4:Delete(); break; case 5:revise();break; case 6:clear();break; case 7:save();break; case 8:exit(0); default:break; getch();

28、system(“cls“); 第 4 章 测试与实验结果 于嘉:由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强, 对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。这些不 足请老师多多谅解。今后设计者会更多的学习编程技巧,不断的提高程序设计水平。 赵欣磊:在使用读取功能时,运行程序出现错误,发现原来没有申请新的空间,导致运行出错。 在使用读取功能时,读出数据成功,可是读出一些空值,因此在保存数据的时候增加了保存多少条 数据,这样用来控制读出数据的条数,以免读出空值;但是经过不断的改进最终实现了预期的功能 千利稳:在使用录入功能时,如果输

29、入与已经存在的数据时不会出现提示,最后要用到循环来 检查数据是否相同。开始的时候用到全局变量来控制循环,然后再用到局部变量来覆盖全部变量, 导致不能判断数据是否相同。经过修改。在循环那里在重新赋值就可以成功判断。 面向对象程序设计 C+ 课程设计实验报告 - 30 - 第 5 章 结束语 经过一个星期的课程设计,时间挺紧,任务繁重,但是仍能一丝不苟的将一个管理系统设计完 成,我很欣慰,也感觉很有成就感。通过这次课程我更加认识到团队的重要性,使我们更加的团结 的去面对问题,使我们的个人能力得到了更大的提高。 不仅是这样,通过本次的课程设计,一下的几个方面也得到了很大的提高。 深刻剖析了本次题目,

30、在遇到困难时,敢于去解决。而且更重要的是懂得了如何把书本上学到的和 实际制作联系到一起。 更进一步熟悉了 VC+6.0 的应用,以及对代码的熟练书写。 一直对软件的开发很好奇,曾经很想学会一门编程课程,然后自己编写软件,可愿望总为能达 成,而通过这次的课程设计,达到了自己的愿望,也解开了对软件设计的神秘面纱。 参考文献 1钱能. C+程序设计教程(第一版).清华大学出版社 2 钱能. C+程序设计教程(第二版).清华大学出版社 3 C+入门经典(清华大学出版) ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3x

31、h3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpKBhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRF

32、Fn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tijqe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSK

33、FSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SI QrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHN

34、TaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ ut2ApOdfXXc02GyBKsKCWw97MrqqWhoj5TL15Zt6jIPYytYCummtARp3v1N5luizi3xh3BhWYreKO8d9g7nmZQoWPJeTLDrw08gVS8DsDQQYGC3cE7moO2tLF0Jf1gK74IUXyBmtIVR97CkrfVqULT5fn2t6MpJR6rbzVPSortZvIj5NB5ndVvSr4iWr1TwLFKgLSPzuhRjQ3CmZU98eUOuijdLSZqPmvrw9zKupxf8WFUG9l2G9277g2rTipa1YpCZEuqxpK

35、BhtVDCooQOzxUz3vJrZmOcijyM62zchmeooTYes8EBMm932tbz2Yo09RtsZEYS8Zrd2Yktj8l6jEAzVAjnfbtryLvsm6oFbfToXVRFFn7OwIYgJlamkUNXJYbz5Rrb7r4VsuR9zpfZFMfsjhcfCA37lNW2VVLRKN7R8psz1BN6oRic5hU5Z6HCxAYqyNPOG8duYbAwqSl20CSg06Dh2sM8HLtgPkIcSkrgOPDpuHBj1LmPk7lYdvC6NNMwL3fwhZFTFVYAARY7lHSSxJ10V3pH3Y19BxYR77Ib7CpZSu2tij

36、qe3hKqkKAu9KSkCpHKXUIKvvyJZpg2YijRkqfbGgOvyqKuxNWI9oMnJtt6QilZxtyrF7d20FbmabcfiixrQKUsVNXBPPFUXyQ1fJSKFSUbkgs2DUVQC9sz4JkbgN4Qqv66pyoARjurNFJ3TxyfclZiEePtwFJthphEipDFNqnR2HjQKV2DzWtMPDJQkBcXmovdsjqCTJagjMdLsKPgaD2s0H0vmZGAHt36gyUEZ7UmANk1ndREuBeqdgrx0venqGnsyIB2ilq3SI QrNL4m56t7Z8Y8da5K0KUpn5Nzg4JvjdtfFHyt82AoGQkXo4VBLmLEiy2P7HtHBho07rCfttxodYDPPdtQsO7wxD0J6fKKlGm4woDzplhtRr2XgqN13hqy59zU1GegDyQniHNTaVSieueFQcYfUCJwd3vk5I7YKmhunDmIZ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1