ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:47.71KB ,
资源ID:3467850      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3467850.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(课程设计人事信息管理系统.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

课程设计人事信息管理系统.docx

1、课程设计人事信息管理系统湖南科技学院课程设计报告课程名称:计算机高级语言(C+)课程设计课程设计题目:人事信息管理系统系:数学系专 业:信息与计算科学年级、班:信计0801姓 名:XXX学 号:200805002128指导教师:XXX职 称:讲师200X年XX月XX日目 录1. 需求分析-22. 概要设计-23. 程序实现思路-44. 设计总结-65. 参考文献-76. 源代码-71一、 需求分析本课程设计要求设计一个人事信息管理系统,主要功能有:建立职工信息数据,包括职工号、姓名、性别、工资、出生时间、参加工作时间和年龄(必须计算得到)。实现数据录入、数据删除、数据修改、数据浏览和数据查询等

2、功能。用文件保存数据二、 概要设计(一)抽象数据类型定义表序号成员名数据类型含义1snoint编号2namestring姓名3birthdayint出生时间4Adateint参工时间5salarydouble工资6sexstring性别7ageint参工年龄8flagbool记录修改标志9sm100Staff记录数组 2(二)主程序的流程3(三)各程序模块的功能void StaffClear(SList &slist); /清空职工记录void StaffInsert(SList &slist); /插入职工记录void StaffDelete(SList &slist); /删除职工记录vo

3、id StaffFind(SList &slist); /查找某编号的职工记录void StaffView(SList &slist); /显示所有职工的记录void StaffInit(SList &slist); /初始化职工数据void StaffXG(SList &slist); /修改职工数据void StaffSave(SList &slist); /将数据保存到文件int Search(SList &slist,int sno); /查找编号为sno的职工,返回记录元素的下标void Exit(SList &slist); /退出程序三、 程序实现思路(1)设计菜单实现功能建立职

4、工信息数据,包括职工号、姓名、性别、工资、出生时间、参加工作时间和年龄(必须计算得到)。实现数据录入、数据删除、数据修改、数据浏览和数据查询等功能。用文件保存数据4(2)设计类与对象struct Staff int sno; /编号 int age; int birthday,Adate; double salary; string sex; string name; /姓名;struct SList int count; /职工人数 bool flag; /记录修改标志,false-没改变,true-已改变 Staff sm100; /记录数组;void StaffClear(SList &

5、slist); /清空职工记录void StaffInsert(SList &slist); /插入职工记录void StaffDelete(SList &slist); /删除职工记录void StaffFind(SList &slist); /查找某编号的职工记录void StaffView(SList &slist); /显示所有职工的记录void StaffInit(SList &slist); /初始化职工数据void StaffXG(SList &slist); /修改职工数据void StaffSave(SList &slist); /将数据保存到文件int Search(SLi

6、st &slist,int sno); /查找编号为sno的职工,返回记录元素的下标void Exit(SList &slist); /退出程序(3)通过类的调用实现功能设计case 1: StaffInsert(slist); break; case 2: StaffView(slist); break; case 3: StaffFind(slist); break; 5 case 4: StaffXG(slist); break; case 5: StaffDelete(slist); break; case 6: StaffSave(slist); break; case 7: Sta

7、ffClear(slist); break; case 0: Exit(slist); break; default: cout输入错误!;四、设 计 总 结经过了几周的摸索与探讨,终于在老师和同学的帮助下完成了这次的课程设计,又完成了一次挑战,从中学到了很多。知道了只要坚持就会有收获,只要付出就会成功。对我而言,这次课程设计并不是那么容易完成的,不过我还是努力的去做,遇到不懂的就问同学、查资料等等,终于有了这次的成果,虽然不是很完美,但却还是很欣慰的。 此次课程设计使我更好的理解了所学过的知识,进一步学习和了解了对程序的设计和编写,从中体会到了面向对象程序设计的便利。懂得了在进行编写程序之前

8、,要有明确的目标和整体的设计思想,对整个程序的框架结构的思考是十分重要和关键的。另外还需注意细节,往往被我们所忽视的细节部分成了是否成功的关键。从中我也发现了自己还有许多的不足之处,比如说书本上的知识6都不是很熟悉,也没有仔细的去看,很多细节部分也没注意,导致在编程过程中出现了许多的差错。虽然这次编程中还有参考程序,使编程难度下降了很多,但我依然花费了不少时间,这让我感到很不满意。同时也感到自己在这门课程上下的功夫还不足。下定决心以后要好好学习,尽努力自己最大的把该门课程学好。 五、参 考 文 献1)谭浩强 C+程序设计清华出版社 2007,5六、源 代 码人事信息管理系统程序staff.h#

9、ifndef STAFF_H_INCLUDED#define STAFF_H_INCLUDEDusing namespace std;struct Staff int sno; /编号 int age; int birthday,Adate; double salary; string sex; string name; /姓名;7 int count; /职工人数 bool flag; /记录修改标志,false-没改变,true-已改变 Staff sm100; /记录数组;void StaffClear(SList &slist); /清空职工记录void StaffInsert(SLi

10、st &slist); /插入职工记录void StaffDelete(SList &slist); /删除职工记录void StaffFind(SList &slist); /查找某编号的职工记录void StaffView(SList &slist); /显示所有职工的记录void StaffInit(SList &slist); /初始化职工数据void StaffXG(SList &slist); /修改职工数据void StaffSave(SList &slist); /将数据保存到文件int Search(SList &slist,int sno); /查找编号为sno的职工,返回

11、记录元素的下标void Exit(SList &slist); /退出程序#endif / STAFF_H_INCLUDEDMenu.h#ifndef MENU_H_INCLUDED#define MENU_H_INCLUDED#includestaff.hvoid ShowMenu();void ShowTip();8void DoMenu(char n,SList &slist);#endif / MENU_H_INCLUDEDStaff.cpp#include #include #include #include staff.hvoid StaffInit(SList &slist) /

12、初始化职工数据 ifstream infile(data.txt); slist.count=0; /职工改变标志置false if (!infile) cerrslist.count; /读入职工人数 for (int i=0;islist.smi.snoslist.smi.nameslist.smi.sexslist.smi.salaryslist.smi.birthdayslist.smi.Adateslist.smi.age; infile.close(); /关闭文件void StaffClear(SList &slist) /清空职工记录9 slist.count=0; /职工人数

13、清0 slist.flag=true; /数据已修改void StaffInsert(SList &slist) /插入职工记录 int sno=0,n=-1,birthday=0,Adate=0; double salary=0; string name,sex; cin.sync(); /清空输入缓冲区 coutsno; coutname; coutsex; coutsalary; coutbirthday; coutAdate; if (sno0) cout输入的编号有误,插入记录失败!endl; return; /结束函数 else10 n=Search(slist,sno); /查找

14、编号为sno的职工 if (n!=-1) / 已有该编号 cout该编号已存在,插入记录失败!endl; return; else /该编号不存在,执行数据插入操作 slist.smslist.count.sno=sno; slist.smslist.count.name=name; slist.smslist.count.sex=sex; slist.smslist.count.salary=salary; slist.smslist.count.birthday=birthday; slist.smslist.count.Adate=Adate; slist.smslist.count.a

15、ge=Adate/10000-birthday/10000; slist.count+; slist.flag=true; /数据已修改 cout成功插入一个职工信息!endl; int Search(SList &slist,int sno) /查找编号为sno的职工,返回记录元素的下标 for (int i=0;islist.count;i+) if (slist.smi.sno=sno) return i; return -1;11void StaffDelete(SList &slist) /删除职工记录 int sno=-1,n=-1; coutsno; n=Search(slist

16、,sno); if (n!=-1) /找到该编号的记录,执行删除操作 for (int i=n;islist.count-1;i+) slist.smi=slist.smi+1; slist.flag=true; /数据已修改 slist.count-; /职工人数减1 cout已成功删除该职工信息!endl; else cout没有找到该职工的编号!endl;void StaffFind(SList &slist) /查找某编号的职工记录 int sno=-1,n=-1; if (slist.count=0) cout没有职工记录!endl; else 12 coutsno; n=Searc

17、h(slist,sno); /找该编号的记录元素的下标 if (n!=-1) /找到,输出职工信息 coutsetw(6)编号setw(12)姓名setw(12)性别setw(12)工资setw(12)出生时间setw(12)参工时间setw(12)年龄endl; coutsetw(6)slist.smn.snosetw(12)slist.smn.namesetw(12)slist.smn.sexsetw(12)slist.smn.salarysetw(12)slist.smn.birthdaysetw(12)slist.smn.Adatesetw(12)slist.smn.ageendl;

18、else cout没有找到编号为sno的职工记录!endl; void StaffView(SList &slist) /显示所有职工的记录 Staff temp; if (slist.count!=0) /职工数不为0则执行排序操作 for (int i=0;islist.count-1;i+) /冒泡排序 for (int j=i;jslist.smj+1.sno) 13 temp=slist.smj; slist.smj=slist.smj+1; slist.smj+1=temp; cout共有职工slist.count人endl; coutsetw(6)编号setw(12)姓名setw

19、(12)性别setw(12)工资setw(12)出生时间setw(12)参工时间setw(12)年龄endl; for (int i=0;islist.count;i+) coutsetw(6)slist.smi.snosetw(12)slist.smi.namesetw(12)slist.smi.sexsetw(12)slist.smi.salarysetw(12)slist.smi.birthdaysetw(12)slist.smi.Adatesetw(12)slist.smi.ageendl;void StaffSave(SList &slist) /将数据保存到文件 ofstream

20、outfile(data.txt); /创建文件输出流 if (!outfile) cerr错误:数据文件不能打开!n; else outfileslist.countendl; /写入职工人数 for (int i=0;islist.count;i+) /写入职工信息 outfileslist.smi.sno slist.smi.name slist.smi.sex slist.smi.salary slist.smi.birthday slist.smi.Adate slist.smi.ageendl;14 slist.flag=false; /数据修改标志置false cout保存成功!

21、endl; void StaffXG(SList &slist) int sno=0,n=-1,birthday=0,Adate=0; double salary=0; string name,sex; cin.sync(); /清空输入缓冲区 coutsno; if (sno0) cout输入的编号有误,插入记录失败!endl; return; /结束函数 n=Search(slist,sno); /查找编号为sno的职工 if (n!=-1) / 已有该编号 coutname; coutsex; coutsalary; coutbirthday;15 coutAdate; slist.sm

22、n.name=name; slist.smn.sex=sex; slist.smn.salary=salary; slist.smn.birthday=birthday; slist.smn.Adate=Adate; slist.smn.age=Adate/10000-birthday/10000; slist.flag=true; /数据已修改 cout成功修改一个职工信息!endl; void Exit(SList &slist)/退出程序 char ch=Y; if (slist.flag) /判断数据是否修改 coutch; if (ch=y|ch=Y) StaffSave(slist

23、); cout已安全退出,;system(pause); /程序暂停,按任一键继续16 exit(0); /退出程序Menu.cpp#include #include menu.husing namespace std;void ShowMenu() cout|-|endl; cout| 职工信息管理系统 |endl; cout|-|endl; cout| 1.数据录入 |endl; cout| 2.数据浏览 |endl; cout| 3.数据查询 |endl; cout| 4.数据修改 |endl; cout| 5.数据删除 |endl; cout| 6.数据保存 |endl; cout|

24、7.数据初始化 |endl; cout| 0.安全地退出本系统 |endl; cout|-|endlendl;void ShowTip()coutendl;17cout-操作完成-endl; cout-选择07继续-endl; cout请选择:;void DoMenu(char n,SList &slist) switch (n) case 1: StaffInsert(slist); break; case 2: StaffView(slist); break; case 3: StaffFind(slist); break; case 4: StaffXG(slist); break; case 5: StaffD

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1