欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

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

    • 资源ID:5017306       资源大小:349.50KB        全文页数:31页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    河南城建学院 面向对象程序设计课程设计 设计说明书 课程名称: 面向对象程序设计课程设计 设计题目: 企业人事管理系统 指导教师: 班 级: 学 号: 学生姓名: 同组人员: 计算机科学与工程系 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 涉及知识点.4 3.2 系统运行.12 3.3 源程序清单(关键代码).15 第第 4 章章 测试与实验结果测试与实验结果29 第第 5 章章 结束语结束语30 参考文献参考文献30 面向对象程序设计 C+ 课程设计实验报告 - 2 - 第 1 章 选 题 1.1 题目背景 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它 已进入人类社会的各个领域并发挥着越来越重要的作用。 作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理所无法 比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成 本低等。这些优点能够极大地提高人事理的效率,也是企业的科学化、正规化管理,与世 界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。 目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生存与长远发展 所具备的重要性都已经有了明确的认识,而人事管理水平的提升不仅需要高素质的管 理人员,而且也需要信息化工具进行辅助 在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,用大型软件系 统来于小型的企事业单位,不啻于“杀鸡用牛刀” ,因此小型的的软件对于这种单位自 然有十分重要作用。 1.2 系统实现的具体分工 1.2.1 选题 此项目是为了适应现代化企业的发展潮流,从而实现用计算机进行企业人事管理,达到检索迅 速、查找方便、可靠性高、存储量大、保密性好等功能。一下是项目的功能: 1、添加功能: 添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址, 家庭电话号码,部门,薪水,性别,职务。 2、删除功能: 能够对一个职员的信息进行删除按姓名进行删除。 3、删除全部职员信息: 能够对于全部职员的信息进行删除! 4、显示功能: 显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等。 5、查找功能: 根据你键入的职员姓名,显示其详细信息! 6、修改功能: 对职员的信息进行修改。 7、保存信息 对全部信息进行保存。 8、退出程序 能够退出程序。 1.2.2团队分工 表 1.1 项目分工一览表 角色姓名承担的具体任务 面向对象程序设计 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 显示器: 方正科技 FG981-W9 操作系统:Microsoft Windows XP Professional 第 2 章 设计内容 2.1 实现功能 1、添加功能: 添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,家庭住址, 家庭电话号码,部门,薪水,性别,职务。 2、删除功能: 能够对一个职员的信息进行删除按姓名进行删除。 3、删除全部职员信息: 能够对于全部职员的信息进行删除! 4、显示功能: 显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等。 5、查找功能: 根据你键入的职员姓名,显示其详细信息! 6、修改功能: 对职员的信息进行修改。 7、保存信息 对全部信息进行保存。 8、退出程序 能够退出程序。 面向对象程序设计 C+ 课程设计实验报告 - 4 - 2.2 概要设计(涉及类的框图) 系统 base 类 personnel 类 maintain 类 员 工 工 作 号 员 工 姓 名 员 工 身 份 证 号 员 工 性 别 员 工 生 日 员 工 家 庭 住 址 员 工 电 话 员 工 职 务 员 工 薪 水 员 工 职 务 员 工 薪 水 员 工 工 作 号 员 工 姓 名 员 工 身 份 证 号 员 工 性 别 员 工 生 日 员 工 家 庭 住 址 员 工 电 话 2.3 界面设计 界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。 结构设计也称概念设计 (Conceptual Design) ,是界面设计的骨架。该企业人事 管理系统运行时界面上的目录体系和词语定义易于用户理解和操作,例如主界面的目 录体系包括 1 录入员工信息、2 显示员工信息、3、查找员工信息 4、删除员工信息、5 、修改员工信息、6、清空员工信息、7、保存员工信息、8、退出。其中录入信息会出 现 1、人事部、2、维修部、3、销售部。 第 3 章 系统实现 3.1 涉及知识点 类的设计与分析 为了界面简洁些,用了几个类。一个类包含员工的基本信息,一个类包含部门的信 息,一个类继承了基本信息和部门信息。 1Base 类 class Base public: 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数据成员记录员工对象的姓名 ID 数据成员记录员工对象的身分证 Sex 数据成员记录员工对象的性别 面向对象程序设计 C+ 课程设计实验报告 - 7 - Birthday 数据成员记录员工对象的生日 Address 数据成员记录员工对象的家庭住址 Phone 数据成员记录员工对象的电话 void input()成员方法成员函数,输入数据 void output()成员方法成员函数,输出数据 Job 数据成员记录员工对象的职务 Pay 数据成员记录员工对象的薪水 virtual void show() 成员方法虚函数,显示所在的部门 void input() 成员方法成员函数,输入数据 void output() 成员方法成员函数,输出数据 模块设计与分析 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; 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(); coutoutput();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; coutm; 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.PayNo; 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 ; /头文件 #include“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“; 面向对象程序设计 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); for(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.show(); 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; coutoutput(); 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();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; 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.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_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+ 课程设计实验报告 - 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-bumen.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-AddressSi-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(); system(“cls“); 第 4 章 测试与实验结果 于嘉:由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强, 对于一些不正确的输入可能会造成一些难以预料的结果,因此,请不要故意输入错误信息。这些不 足请老师多多谅解。今后设计者会更多的学习编程技巧,不断的提高程序设计水平。 赵欣磊:在使用读取功能时,运行程序出现错误,发现原来没有申请新的空间,导致运行出错。 在使用读取功能时,读出数据成功,可是读出一些空值,因此在保存数据的时候增加了保存多少条 数据,这样用来控制读出数据的条数,以免读出空值;但是经过不断的改进最终实现了预期的功能 千利稳:在使用录入功能时,如果输入与已经存在的数据时不会出现提示,最后要用到循环来 检查数据是否相同。开始的时候用到全局变量来控制循环,然后再用到局部变量来覆盖全部变量, 导致不能判断数据是否相同。经过修改。在循环那里在重新赋值就可以成功判断。 面向对象程序设计 C+ 课程设计实验报告 - 30 - 第 5 章 结束语 经过一个星期的课程设计,时间挺紧,任务繁重,但是仍能一丝不苟的将一个管理系统设计完 成,我很欣慰,也感觉很有成就感。通过这次课程我更加认识到团队的重要性,使我们更加的团结 的去面对问题,使我们的个人能力得到了更大的提高。 不仅是这样,通过本次的课程设计,一下的几个方面也得到了很大的提高。 深刻剖析了本次题目,在遇到困难时,敢于去解决。而且更重要的是懂得了如何把书本上学到的和 实际制作联系到一起。 更进一步熟悉了 VC+6.0 的应用,以及对代码的熟练书写。 一直对软件的开发很好奇,曾经很想学会一门编程课程,然后自己编写软件,可愿望总为能达 成,而通过这次的课程设计,达到了自己的愿望,也解开了对软件设计的神秘面纱。 参考文献 1钱能. C+程序设计教程(第一版).清华大学出版社 2 钱能. C+程序设计教程(第二版).清华大学出版社 3 C+入门经典(清华大学出版)

    注意事项

    本文(《面向对象程序设计》课程设计-企业人事管理系统.doc)为本站会员(西安人)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




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

    三一文库
    收起
    展开