2012课程设计模板
更新时间:2024-06-15 15:11:01 阅读量: 综合文库 文档下载
存档资料 成绩:
华 东 交 通 大 学
课 程 设 计 报 告 书
(本页面不需打印,要到教材科购买牛皮纸封面按要求填写,全班统一购买)
所属课程名称 C++程序设计
题 目 职工信息管理系统 院 (系) 软 件 学 院
班 级 软件+桥梁 2011-- 1 班 学 号 20112110060113 学生姓名 熊雄 指导教师 廖辉传 辅导教师 廖辉传
2012年 6 月 15 日
第 1 页
课程设计(论文)任务书
软件 学 院 桥梁 专 业 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)参考文献:
第 2 页
《c++语言程序设计》(第四版)清华大学出版社 《c++语言程序设计》(第二版)北京邮电大学出版社 百度文库
6)课程设计进度安排
内容 天数 地点 构思及程序设计 1 实训中心 程序调试 1 实训中心 撰写论文 1 实训中心
学生签名:
2012 年 6 月 4 日
课程设计(论文)评审意见
(1)完成原理分析(20分):优( )、良( )、中( )、一般( )、差( ); (2)设计分析 (30分):优( )、良( )、中( )、一般( )、差( ); (3)完成调试 (30分):优( )、良( )、中( )、一般( )、差( ); (4)回答问题 (20分):优( )、良( )、中( )、一般( )、差( ); (5)综合等级:
评阅人: 职称:
2012 年 6 月 10 日
第 3 页
目 录
一、课程设计任务概述 二、各功能模块的具体实现 三、程序清序
四、程序调试与运行结果五、设计心得(小结) 六、参考文献
第 4 页
一、课程设计任务概述
职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能: (1)系统以菜单方式工作 (2)职工信息录入功能--输入 (3)职工信息浏览功能--输出 (4)职工信息查询功能
查询方式:
按学历查询;
按职工号查询;
(5)职工信息删除、修改功能 (根据职工号)
(提示:职工信息可采用结构数组或对象数组存放)
主要由worker类中的成员函数来完成对数据成员 num(工号),name(姓名),sex(性别),edu(学历),adress(地址),tel(电话),age(年龄),salary(薪水)的操作来实现系统的运行。系统以菜单方式运行。成员函数主要如下:
要求:达到熟练掌握C++语言的基本知识和技能; 基本掌握面向对象程序设计的基本思路和方法;
能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
第 5 页
二、各功能模块的具体实现
(功能模块总图、设计思路、各个类及函数的具体实现等,此部分内容为报告的重点,尽可能详细)
1) 先声明员工结构,该结构中包含编号、姓名、出生年月、性别、联系电话、基本
工资等成员变量,并定义worker结构数组;
2) 编写主函数,要求提供一界面,允许工作人员输入、修改和删除员工信息; 3) 给出某员工编号,可对该员工信息进行查找,若找到,显示相应信息,否则显示
“该员工不存在”;
三、程序清序
using namespace std;
第 6 页
#define N 100//N作为最大职工总数 int NUM=0;//用来计算职工数目 string p;//p作为接收菜单选项的字符串 class worker { public: worker(){}
void menu();//显示菜单
void add();//职工信息录入 void show();//职工信息显示 void search();//职工信息查找 void dele();//职工信息删除 void modify();//职工信息修改
~worker(){}
private: string num,name,sex,edu,address,tel; int age,salary;
};
worker w[N];
void worker::menu()//主菜单函数实现 { cout<<\ cout<<\ 职工信息管理系统主菜单 cout<<\ cout<<\ 1.职工信息添加 cout<<\ 2.职工信息修改 cout<<\ 3.职工信息删除
cout<<\ 4.职工信息查找 第 7 页\ \\\\\\
cout<<\ 5.职工信息显示 \cout<<\ 0.退出 \cout< cout<<\请选择数字编号0~5\int i1; cin>>i1; while(!(i1>=0&&i1<=5)) { } switch(i1) { case 1: add();break; cout<<\输入有误,请重新输入:\cin>>i1; case 2: modify();break; case 3: dele();break; case 4: search();break; case 5: show();break; case 0: cout<<\系统退出!!\exit(0); default: break; 第 8 页 } } void worker::add()//职工信息添加函数实现 { cout<<\请输入职工信息:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\ string num; cin>>num; for(int i=0;i w[NUM].num=num; cin>>w[NUM].name>>w[NUM].sex>>w[NUM].edu>>w[NUM].age>>w[NUM].salary>>w[N cout<<\此职工编号已存在,请重新输入:\cin>>num; UM].address>>w[NUM].tel; ++NUM; cout<<\是否返回主菜单? Y/N\cin>>p; while(1) { if(p==\{ } else if(p==\{ cout<<\系统退出!!\ 第 9 页 menu(); } } } exit(0); else { } cout<<\输入有误,请重新输入:\cin>>p; void worker::show()//显示职工信息函数实现 { cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i cout< alary<<'\\t'< void worker::modify()//职工信息修改函数实现 { if(NUM<=0) { } else { cout<<\职工信息如下:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i 第 10 页 cout< cout<<\没有职工信息存入,系统将返回主菜单\menu(); cout< alary<<'\\t'< } cout<<\请输入需要修改信息职工的工号:\string num1; cin>>num1; int j=0,k; int flag=1; while(flag) { } cout<<\你选择的职工的信息为:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\ 第 11 页 for(;j cout<<\不存在此员工,请重新输入:\j=0; cin>>num1; if(num1==w[j].num) { } flag=0; k=j; break; cout< k].salary<<'\\t'< cout<<\ 1.修改工号 \cout<<\ 2.修改姓名 \cout<<\ 3.修改性别 \cout<<\ 4.修改学历 \cout<<\ 5.修改年龄 \cout<<\ 6.修改工资 \cout<<\ 7.修改地址 \cout<<\ 8.修改电话 \cout<<\ 0.返回主菜单 \cout< cout<<\请选择数字编号0~8\int i3; cin>>i3; while(i3<0||i3>8) { } switch(i3) { case 1: cout<<\请输入新的职工工号:\ cin>>w[k].num; cout<<\修改信息已保存,现返回主菜单:\menu(); cout<<\输入有误,请重新输入:\cin>>i3; break; 第 12 页 case 2: cout<<\请输入新的职工姓名:\ cin>>w[k].name; cout<<\修改信息已保存,现返回主菜单:\menu(); break; case 3: cout<<\请输入新的职工性别:\ cin>>w[k].sex; cout<<\修改信息已保存,现返回主菜单:\menu(); break; case 4: cout<<\请输入新的职工学历:\ cin>>w[k].edu; cout<<\修改信息已保存,现返回主菜单:\menu(); break; case 5: cout<<\请输入新的职工年龄:\ cin>>w[k].age; cout<<\修改信息已保存,现返回主菜单:\menu(); break; case 6: cout<<\请输入新的职工工资:\ cin>>w[k].salary; cout<<\修改信息已保存,现返回主菜单:\ 第 13 页 menu(); break; case 7: cout<<\请输入新的职工地址:\ cin>>w[k].address; cout<<\修改信息已保存,现返回主菜单:\menu(); } break; case 8: cout<<\请输入新的职工电话:\ cin>>w[k].tel; cout<<\修改信息已保存,现返回主菜单:\menu(); break; case 0: menu(); default: } break; void worker::search() { if(NUM<=0) { } else 第 14 页 cout<<\没有职工信息存入,系统将返回主菜单\menu(); cout<<\请选择查找方式:\ cout<<\ 1.按工号查找 \cout<<\ 2.按学历查找 \cout<<\ 0.返回主菜单 \cout< cout<<\请选择数字编号0~2\int i4; cin>>i4; while(i4<0||i4>4) { } if(i4==1) { string num2; cout<<\请输入要查询的职工的工号:\cin>>num2; int j=0,k; int flag=1; while(flag) { for(;j if(num2==w[j].num) { flag=0; k=j; 第 15 页 cout<<\输入有误,请重新输入:\cin>>i4; cout<<\查询的职工信息如下:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\ cout< k].salary<<'\\t'< } } { string edu2; cout<<\请输入要查询的职工的学历:\cin>>edu2; int j4=0,k4; int flag4=1; while(flag4) { for(;j4 if(edu2==w[j4].edu) { 第 16 页 } } break; if(flag) { } flag=0; cout<<\不存在此职工!!\\n返回主菜单 \break; else if(i4==2) flag4=0; k4=j4; cout<<\查询的职工信息如下:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\ cout< < void worker::dele()//职工信息删除功能实现 { if(NUM<=0) { } 第 17 页 } } } } break; if(flag4) { } flag4=0; cout<<\不存在此职工!!\\n返回主菜单 \break; else if(i4==0) menu(); cout<<\没有职工信息存入,系统将返回主菜单\menu(); else cout< cout<<\职工信息如下:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i alary<<'\\t'< cout<<\请输入需要删除信息职工的工号:\ string num3; cin>>num3; int j=0,k; int flag=1; while(flag) { for(;j 第 18 页 if(num3==w[j].num) { } flag=0; k=j; break; cout<<\不存在此员工,请重新输入:\j=0; cin>>num3; } cout<<\你选择的职工的信息为:\ cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\ cout< k].salary<<'\\t'< } else if(p==\{ } else { 第 19 页 cout<<\确认请输入 Y\\t返回主菜单请输入 N \string p; cin>>p; while(1) { if(p==\{ cout<<\员工信息已删除!\for(int i=0;i if(w[i].num==num3) int j=i; for(;j<=NUM-1;j++) w[j]=w[j+1]; NUM--; break; menu(); cout<<\输入有误,请重新输入:\ cin>>p; } } } void main() { w[0].menu(); } 第 20 页 四、程序调试与运行结果 程序运行时,首先出现主界面菜单,由用户进行功能选择,选择不同的数字,进入不同的功能区。如图所示 选择1,则显示次级菜单,进入职工信息添加界面,如图所示。 选择2,进入职工信息修改菜单 在上一步中选择(1),进入需要修改的选项 选择3,进入职工信息删除菜单 第 21 页 选择4,进入职工信息查找菜单 选择5,能将职工信息显示在桌面上 选择0,退出 第 22 页 五、设计心得(小结) 1.上机过程中出现的问题及其解决方案 上机调试时总会出现细节性的错误,编译时会出错。反复发现错误,修正错误。 2.程序中可以改进的地方说明 职工信息管理系统还应该提供更细节的选择菜单,以方便用户的操作。还有就是提供选择的菜单编号的类型应定义为string类。现在数字编号是int类型,用户输入字母时虽然会提示出错,但是有时候会造成死循环。 3.经过老师指点,发现程序存在许多不足,但在老师的指点下,一一改正过来了,比如,职工信息的输出就存在很大问题,但最终还是改正了,还有,参数的使用不当,等等很多很难发现的问题。 4.自己动手编一个大一点的程序,真的面临了很多问题,在今后的学习中,要多编程序,锻炼自己,这样才能真正学会编程。 5.课程设计真正培养了我的动手能力以及编程能力,这是一种很好的锻炼。 第 23 页 六、参考文献 [1] 《c++语言程序设计》(第四版)清华大学出版社 [2] 《c++语言程序设计》(第二版)北京邮电大学出版社 第 24 页
正在阅读:
2012课程设计模板06-15
施工临时用电方案09-03
名人实现梦想的事例02-21
公允价值应用问题研究05-20
概率统计题解(全)12-15
行政事业单位内部会计控制强化对策09-25
街道办事处2021年度工作总结08-04
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 模板
- 课程
- 设计
- 2012
- 2011云霄县驾驶证考试小型汽车仿真试题
- 名词性从句专题复习
- 高中化学论文:关于教师专业发展的几点感悟
- 英语嘉年华英文主持稿
- 沈阳市城市房屋拆除作业安全管理规定 - 图文
- 基于单片机的24秒倒计器设计
- 徐州市2014~2015学年度高三第一次质量检测
- 交通工程学参考试卷
- 北京市东城区2015届高三5月综合练习(二)数学(理)试题含解析
- 小学至初中数学所有公式
- 五年级语文第26课《开国大典》
- 惠州市2011届高三第三次调研考试-生物 - 图文
- 2017 - 2018学年高中地理第三章区域产业活动3.4交通运输布局及其
- 2012同等学力经济综合课后题答案-西方经济学
- 2014江苏省中小学教师网上心理健康知识竞赛单选题1
- 人贵在有志
- 施工组织设计(文物保护,风险预测)
- 小学生教师节国旗下讲话稿
- 5s精要
- 苏少版国标本小学美术第三册全册教案