第1页存档资料成绩:华东交通大学课程设计报告书(本页面不需打印,要到教材科购买牛皮纸封面按要求填写,全班统一购买)所属课程名称C++程序设计题目职工信息管理系统院(系)软件学院班级软件+桥梁2011--1班学号20112110060113学生姓名熊雄指导教师廖辉传辅导教师廖辉传2012年6月15日第2页课程设计(论文)任务书软件学院桥梁专业1班一、课程设计(论文)题目职工信息管理二、课程设计(论文)工作自2012年6月4日起至2012年6月10日止。三、课程设计(论文)地点:软件学院实训中心四、课程设计(论文)内容要求:1.本课程设计的目的(1)使学生掌握系统各功能模块的基本工作原理;(2)培养学生程序设计的基本思路和方法;(3)使学生掌握程序调试方法;(4)培养学生分析、解决问题的能力;(5)提高学生的科技论文写作能力。2.课程设计的任务及要求职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能--输入(3)职工信息浏览功能--输出(4)职工信息查询功能查询方式:按学历查询;按职工号查询;(5)职工信息删除、修改功能(根据职工号)(提示:职工信息可采用结构数组或对象数组存放)2)创新要求:(1)利用类的成员函数调用类的数据成员完成系统的工作。(2)利用面向对象来编写程序。3)课程设计论文编写要求(1)要按照书稿的规格打印誊写课程设计报告(2)论文包括目录、绪论、正文、小结、参考文献、谢辞、附录等(3)毕业论文装订按学校的统一要求完成4)答辩与评分标准:(1)完成原理分析:20分;(2)完成设计过程:30分;(3)完成调试:30分;(4)回答问题:20分。5)参考文献:第3页《c++语言程序设计》(第四版)清华大学出版社《c++语言程序设计》(第二版)北京邮电大学出版社百度文库6)课程设计进度安排内容天数地点构思及程序设计1实训中心程序调试1实训中心撰写论文1实训中心学生签名:2012年6月4日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(30分):优()、良()、中()、一般()、差();(3)完成调试(30分):优()、良()、中()、一般()、差();(4)回答问题(20分):优()、良()、中()、一般()、差();(5)综合等级:评阅人:职称:2012年6月10日第4页目录一、课程设计任务概述二、各功能模块的具体实现三、程序清序四、程序调试与运行结果五、设计心得(小结)六、参考文献第5页一、课程设计任务概述职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能--输入(3)职工信息浏览功能--输出(4)职工信息查询功能查询方式:按学历查询;按职工号查询;(5)职工信息删除、修改功能(根据职工号)(提示:职工信息可采用结构数组或对象数组存放)主要由worker类中的成员函数来完成对数据成员num(工号),name(姓名),sex(性别),edu(学历),adress(地址),tel(电话),age(年龄),salary(薪水)的操作来实现系统的运行。系统以菜单方式运行。成员函数主要如下:要求:达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的基本思路和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。第6页二、各功能模块的具体实现(功能模块总图、设计思路、各个类及函数的具体实现等,此部分内容为报告的重点,尽可能详细)1)先声明员工结构,该结构中包含编号、姓名、出生年月、性别、联系电话、基本工资等成员变量,并定义worker结构数组;2)编写主函数,要求提供一界面,允许工作人员输入、修改和删除员工信息;3)给出某员工编号,可对该员工信息进行查找,若找到,显示相应信息,否则显示“该员工不存在”;三、程序清序usingnamespacestd;第7页#defineN100//N作为最大职工总数intNUM=0;//用来计算职工数目stringp;//p作为接收菜单选项的字符串classworker{public:worker(){}voidmenu();//显示菜单voidadd();//职工信息录入voidshow();//职工信息显示voidsearch();//职工信息查找voiddele();//职工信息删除voidmodify();//职工信息修改~worker(){}private:stringnum,name,sex,edu,address,tel;intage,salary;};workerw[N];voidworker::menu()//主菜单函数实现{coutendl;cout职工信息管理系统主菜单endl;coutendl;cout1.职工信息添加endl;cout2.职工信息修改endl;cout3.职工信息删除endl;cout4.职工信息查找endl;第8页cout5.职工信息显示endl;cout0.退出endl;coutendl;cout请选择数字编号0~5endl;inti1;cini1;while(!(i1=0&&i1=5)){cout输入有误,请重新输入:endl;cini1;}switch(i1){case1:add();break;case2:modify();break;case3:dele();break;case4:search();break;case5:show();break;case0:cout系统退出!!endl;exit(0);default:break;第9页}}voidworker::add()//职工信息添加函数实现{cout请输入职工信息:endl;cout工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话endl;stringnum;cinnum;for(inti=0;iNUM;i++)while(num==w[i].num){cout此职工编号已存在,请重新输入:endl;cinnum;}w[NUM].num=num;cinw[NUM].namew[NUM].sexw[NUM].eduw[NUM].agew[NUM].salaryw[NUM].addressw[NUM].tel;++NUM;cout是否返回主菜单?Y/Nendl;cinp;while(1){if(p==y||p==Y){menu();}elseif(p==n||p==N){cout系统退出!!endl;第10页exit(0);}else{cout输入有误,请重新输入:;cinp;}}}voidworker::show()//显示职工信息函数实现{cout工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话endl;for(inti=0;iNUM;i++)coutw[i].num'\t'w[i].name'\t'w[i].sex'\t'w[i].edu'\t'w[i].age'\t'w[i].salary'\t'w[i].address'\t'w[i].telendl;coutendl;}voidworker::modify()//职工信息修改函数实现{if(NUM=0){cout没有职工信息存入,系统将返回主菜单endl;menu();}else{cout职工信息如下:endl;cout工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话endl;for(inti=0;iNUM;i++)第11页coutw[i].num'\t'w[i].name'\t'w[i].sex'\t'w[i].edu'\t'w[i].age'\t'w[i].salary'\t'w[i].address'\t'w[i].telendl;}cout请输入需要修改信息职工的工号:endl;stringnum1;cinnum1;intj=0,k;intflag=1;while(flag){for(;jNUM;j++){if(num1==w[j].num){flag=0;k=j;break;}}if(flag){cout不存在此员工,请重新输入:endl;j=0;cinnum1;}}cout你选择的职工的信息为:endl;cout工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话endl;第12页coutw[k].num'\t'w[k].name'\t'w[k].sex'\t'w[k].edu'\t'w[k].age'\t'w[k].salary'\t'w[k].address'\t'w[k].telendl;cout1.修改工号endl;cout2.修改姓名endl;cout3.修改性别endl;cout4.修改学历endl;cout5.修改年龄endl;cout6.修改工资endl;cout7.修改地址endl;cout8.修改电话endl;cout0.返回主菜单endl;coutendl;cout请选择数字编号0~8endl;inti3;cini3;while(i30||i38){cout输入有误,请重新输入:endl;cini3;}switch(i3){case1:cout请输入新的职工工号:;cinw[k].num;cout修改信息已保存,现返回主菜单:endl;menu();break;第13页case2:cout请输入新的职工姓名:;cinw[k].name;cout修改信息已保存,现返回主菜单:endl;menu();break;case3:cout请输入新的职工性别:;cinw[k].sex;cout修改信息已保存,现返回主菜单:endl;menu();break;case4:cout请输入新的职工学历:;cinw[k].edu;cout修改信息已保存,现返回主菜单:endl;menu();break;case5:cout请输入新的职工年龄:;cinw[k].age;cout修改信息已保存,现返回主菜单:endl;menu();break;case6:cout请输入新的职工工资:;cinw[k].salary;cout修改信息已保存,现返回主菜单:endl;第14页menu();break;case7:cout请输入新的职工地址:;cinw[k].address;cout修改信息已保存,现返回主菜单:endl;menu();break;case8:cout请输入新的职工电话:;cinw[k].tel;cout修改信息已保存,现返回主菜单:endl;menu();break;case0:menu();default:break;}}voidworker::search(){if(NUM=0){cout没有职工信息存入,系统将返回主菜单endl;menu();}else第15页cout请选择查找方式:endl;cout1.按工号查找endl;cout2.按学历查找endl;cout0.返回主