课程设计模板.docx
- 文档编号:30554439
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:32
- 大小:65.29KB
课程设计模板.docx
《课程设计模板.docx》由会员分享,可在线阅读,更多相关《课程设计模板.docx(32页珍藏版)》请在冰豆网上搜索。
课程设计模板
存档资料成绩:
华东交通大学
课程设计报告书
(本页面不需打印,要到教材科购买牛皮纸封面按要求填写,全班统一购买)
所属课程名称C++程序设计
题目职工信息管理系统
院(系) 软件学院
班级软件+桥梁2011--1班
学 号20112110060113
学生姓名熊雄
指导教师 廖辉传
辅导教师 廖辉传
2012年6月15日
课程设计(论文)任务书
软件 学 院桥梁专 业 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)参考文献:
《c++语言程序设计》(第四版)清华大学出版社
《c++语言程序设计》(第二版)北京邮电大学出版社
XX文库
6)课程设计进度安排
内容天数 地点
构思及程序设计1 实训中心
程序调试1 实训中心
撰写论文1 实训中心
学生签名:
2012年6月4日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (30分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (30分):
优( )、良( )、中( )、一般( )、差( );
(4)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)综合等级:
评阅人:
职称:
2012年6月10日
目 录
一、课程设计任务概述
二、各功能模块的具体实现
三、程序清序
四、程序调试与运行结果
五、设计心得(小结)
六、参考文献
一、课程设计任务概述
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)职工信息录入功能--输入
(3)职工信息浏览功能--输出
(4)职工信息查询功能
查询方式:
按学历查询;
按职工号查询;
(5)职工信息删除、修改功能(根据职工号)
(提示:
职工信息可采用结构数组或对象数组存放)
主要由worker类中的成员函数来完成对数据成员num(工号),name(姓名),sex(性别),edu(学历),adress(地址),tel(电话),age(年龄),salary(薪水)的操作来实现系统的运行。
系统以菜单方式运行。
成员函数主要如下:
要求:
达到熟练掌握C++语言的基本知识和技能;
基本掌握面向对象程序设计的基本思路和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
二、各功能模块的具体实现
(功能模块总图、设计思路、各个类及函数的具体实现等,此部分内容为报告的重点,尽可能详细)
1)先声明员工结构,该结构中包含编号、姓名、出生年月、性别、联系电话、基本工资等成员变量,并定义worker结构数组;
2)编写主函数,要求提供一界面,允许工作人员输入、修改和删除员工信息;
3)给出某员工编号,可对该员工信息进行查找,若找到,显示相应信息,否则显示“该员工不存在”;
三、程序清序
usingnamespacestd;
#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()//主菜单函数实现
{
cout<<""< cout<<"职工信息管理系统主菜单"< cout<<""< cout<<"1.职工信息添加"< cout<<"2.职工信息修改"< cout<<"3.职工信息删除"< cout<<"4.职工信息查找"< cout<<"5.职工信息显示"< cout<<"0.退出"< cout< cout<<"请选择数字编号0~5"< inti1; cin>>i1; while(! (i1>=0&&i1<=5)) { cout<<"输入有误,请重新输入: "< cin>>i1; } switch(i1) { case1: add();break; case2: modify();break; case3: dele();break; case4: search();break; case5: show();break; case0: cout<<"系统退出! ! "< exit(0); default: break; } } voidworker: : add()//职工信息添加函数实现 { cout<<"请输入职工信息: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< stringnum; cin>>num; for(inti=0;i while(num==w[i].num) { cout<<"此职工编号已存在,请重新输入: "< cin>>num; } w[NUM].num=num; cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].salary>>w[NUM].address>>w[NUM].tel; ++NUM; cout<<"是否返回主菜单? Y/N"< cin>>p; while (1) { if(p=="y"||p=="Y") { menu(); } elseif(p=="n"||p=="N") {cout<<"系统退出! ! "< exit(0); } else { cout<<"输入有误,请重新输入: "; cin>>p; } } } voidworker: : show()//显示职工信息函数实现 { cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< for(inti=0;i cout< cout< } voidworker: : modify()//职工信息修改函数实现 { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else {cout<<"职工信息如下: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< for(inti=0;i cout< } cout<<"请输入需要修改信息职工的工号: "< stringnum1; cin>>num1; intj=0,k; intflag=1; while(flag) { for(;j { if(num1==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入: "< j=0; cin>>num1; } } cout<<"你选择的职工的信息为: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< cout< cout<<"1.修改工号"< cout<<"2.修改姓名"< cout<<"3.修改性别"< cout<<"4.修改学历"< cout<<"5.修改年龄"< cout<<"6.修改工资"< cout<<"7.修改地址"< cout<<"8.修改电话"< cout<<"0.返回主菜单"< cout< cout<<"请选择数字编号0~8"< inti3; cin>>i3; while(i3<0||i3>8) { cout<<"输入有误,请重新输入: "< cin>>i3; } switch(i3) { case1: cout<<"请输入新的职工工号: "; cin>>w[k].num; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case2: cout<<"请输入新的职工姓名: "; cin>>w[k].name; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case3: cout<<"请输入新的职工性别: "; cin>>w[k].sex; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case4: cout<<"请输入新的职工学历: "; cin>>w[k].edu; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case5: cout<<"请输入新的职工年龄: "; cin>>w[k].age; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case6: cout<<"请输入新的职工工资: "; cin>>w[k].salary; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case7: cout<<"请输入新的职工地址: "; cin>>w[k].address; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case8: cout<<"请输入新的职工电话: "; cin>>w[k].tel; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case0: menu(); default: break; } } voidworker: : search() { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"请选择查找方式: "< cout<<"1.按工号查找"< cout<<"2.按学历查找"< cout<<"0.返回主菜单"< cout< cout<<"请选择数字编号0~2"< inti4; cin>>i4; while(i4<0||i4>4) { cout<<"输入有误,请重新输入: "< cin>>i4; } if(i4==1) { stringnum2; cout<<"请输入要查询的职工的工号: "< cin>>num2; intj=0,k; intflag=1; while(flag) { for(;j { if(num2==w[j].num) { flag=0; k=j; cout<<"查询的职工信息如下: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< cout< break; } } if(flag) { flag=0; cout<<"不存在此职工! ! \n返回主菜单"< break; } } } elseif(i4==2) { stringedu2; cout<<"请输入要查询的职工的学历: "< cin>>edu2; intj4=0,k4; intflag4=1; while(flag4) { for(;j4 { if(edu2==w[j4].edu) { flag4=0; k4=j4; cout<<"查询的职工信息如下: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< cout< break; } } if(flag4) { flag4=0; cout<<"不存在此职工! ! \n返回主菜单"< break; } } } elseif(i4==0) menu(); } voidworker: : dele()//职工信息删除功能实现 { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"职工信息如下: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< for(inti=0;i cout< cout<<"请输入需要删除信息职工的工号: "< stringnum3; cin>>num3; intj=0,k; intflag=1; while(flag) { for(;j { if(num3==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入: "< j=0; cin>>num3; } } cout<<"你选择的职工的信息为: "< cout<<"工号\t姓名\t性别\t学历\t年龄\t工资\t地址\t电话"< cout< cout<<"确认请输入Y\t返回主菜单请输入N"< stringp; cin>>p; while (1) { if(p=="y"||p=="Y") { cout<<"员工信息已删除! "< for(inti=0;i if(w[i].num==num3) intj=i; for(;j<=NUM-1;j++) w[j]=w[j+1]; NUM--; break; } elseif(p=="n"||p=="N") { menu(); } else { cout<<"输入有误,请重新输入: "; cin>>p; } } } voidmain() {w[0].menu(); } 四、程序调试与运行结果 程序运行时,首先出现主界面菜单,由用户进行功能选择,选择不同的数字,进入不同的功能区。 如图所示 选择1,则显示次级菜单,进入职工信息添加界面,如图所示。 选择2,进入职工信息修改菜单 在上一步中选择 (1),进入需要修改的选项 选择3,进入职工信息删除菜单 选择4,进入职工信息查找菜单 选择5,能将职工信息显示在桌面上 选择0,退出 五、设计心得(小结) 1.上机过程中出现的问题及其解决方案 上机调试时总会出现细节性的错误,编译时会出错。 反复发现错误,修正错误。 2.程序中可以改进的地方说明 职工信息管理系统还应该提供更细节的选择菜单,以方便用户的操作。 还有就是提供选择的菜单编号的类型应定义为string类。 现在数字编号是int类型,用户输入字母时虽然会提示出错,但是有时候会造成死循环。 3.经过老师指点,发现程序存在许多不足,但在老师的指点下,一一改正过来了,比如,职工信息的输出就存在很大问题,但最终还是改正了,还有,参数的使用不当,等等很多很难发现的问题。 4.自己动手编一个大一点的程序,真的面临了很多问题,在今后的学习中,要多编程序,锻炼自己,这样才能真正学会编程。 5.课程设计真正培养了我的动手能力以及编程能力,这是一种很好的锻炼。 六、参考文献 [1]《c++语言程序设计》(第四版)清华大学出版社 [2]《c++语言程序设计》(第二版)北京邮电大学出版社
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 模板