C++课程设计职工信息管理系统.doc

上传人:精*** 文档编号:865409 上传时间:2023-10-05 格式:DOC 页数:25 大小:348.56KB
下载 相关 举报
C++课程设计职工信息管理系统.doc_第1页
第1页 / 共25页
C++课程设计职工信息管理系统.doc_第2页
第2页 / 共25页
C++课程设计职工信息管理系统.doc_第3页
第3页 / 共25页
C++课程设计职工信息管理系统.doc_第4页
第4页 / 共25页
C++课程设计职工信息管理系统.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、课程设计任务书 计算机与信息工程 学院 计算机科学与技术 专业 3 班级课程设计名称: 高级程序设计语言C+课程设计 设计题目: 职工信息管理系统 完成期限:自 2013年7月1日至2013 年7 月 5 日共 1 周设计依据、要求及主要内容(可另加附页):设计依据:c+程序设计设计要求:通过这次课程设计,需要对C+的各个环节知识形成一个有结构的整体,可以熟练的对C+知识进行综合应用,同时达到对已学知识的全面复习.主要内容:职工信息管理系统职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复).试设计一职工信息管理系统,使之能提供以下功能:1.职工信息录入功能(职工信息

2、用文件保存)输入?2.职工信息浏览功能 输出?3.查询和排序功能: (1)按工资从大到小排序(2)按学历查询(3)按职工号或姓名查询4.职工信息删除、修改功能 指导教师(签字): 系(教研室)主任(签字): 批准日期: 2013年7月5日目 录职工信息管理系统11、设计目的12、总体设计13、详细设计:13.1、程序具体功能和分工情况:13.2、调试分析24、源程序和运行结果24.1、源程序24.2、运行结果164.3、心得体会23职工信息管理系统1、设计目的通过实验实现对学生信息系统的管理操作;进一步掌握和利用C+进行程设计的能力;进一步理解和运用结构化程序设计的思想和方法;初步掌握开发一个

3、小型实用系统的基本方法;学会利用流程图或N-S图表示算法;掌握书写程设计开发文档的能力(书写课程设计报告);2、总体设计职工信息管理系统职工信息输入和输出功能职工信息保存功能按工资从大到小排序按学历、职工号或姓名查询职工信息删除和修改功能3、详细设计: 3.1、程序具体功能和分工情况:程序具体功能:、输入和输出(输入一个员工的信息将它插入数组中,输出录入员工的信息);、排序(按工资从大到小排序);、查询(按学历、职工号或姓名查询);、删除(输入职工号将其删除)、修改(输入职工号修改其信息)、保存(将职工信息以文件形式保存)程序分工情况: 孙 磊:输入,输出,查询 霍英达:排序,删除,修改,保存

4、3.2、调试分析上机调试之前我们对所编的程序作了纸面上的检查,先改正一些不该犯错误,如 没有搭配完整,漏写 ,拼写错误等,这些都是我们通过认真的态度在运行之前可以解决、避免的.而且还可以减少机器时间.往往一连串的错误是由于漏写或写错一个字符引起的.在上机调试过程中,对文件这一节的知识还不够熟悉,所以在解决输入输出流的过程中出了很多问题.4、源程序和运行结果4.1、源程序#include#includestring#include#include #include #define N 100 /N作为最大职工总数int f=0; /f作为开关using namespace std;string

5、p; /p作为接收菜单选项的字符串void menu(); /显示菜单class workerpublic:worker() void show(); /职工信息显示worker()friend class WorkerList;private:string num,name,sex,edu,address,tel;int age,salary;class WorkerListprivate:worker wN;int NUM; /用来计算职工数目 int count; /用来暂时记录当前操作第几个职工public:void add(); /职工信息录入void sort(); /职工信息排序

6、void search(); /职工信息查找void dele(); /职工信息删除void modify(); /职工信息修改 void save(); /职工信息以文件形式保存void showworker();/显示职工信息在屏幕上WorkerList()NUM=0;count=0;void menu() /显示菜单coutendl;cout*endl;cout* *endl;cout* 职工信息管理系统主菜单 *endl;cout* *endl;cout* 1.职工信息添加 *endl;cout* 2.职工信息修改 *endl;cout* 3.职工信息删除 *endl;cout* 4.

7、职工信息排序 *endl;cout* 5.职工信息查找 *endl;cout* 6.职工信息显示 *endl;cout* 7.职工信息保存 *endl;cout* 0.退出 *endl;cout* *endl;cout*endl;coutendl;void domain() /主菜单函数实现WorkerList wl;while(1) system(cls); menu(); cout请选择数字编号07i1; while(!(i1=0&i1=7) cout输入有误,请重新输入:i1; switch(i1) case 1:wl.add();break; case 2:wl.modify();br

8、eak; case 3:wl.dele();break; case 4:wl.sort();break; case 5:wl.search();break; case 6:wl.showworker();break; case 7:wl.save();break; case 0:cout系统退出!endl; exit(0); default: break; cout是否返回主菜单? Y/Np; if(p=n|p=N)cout系统退出!endl;exit(0);void WorkerList:add() /职工信息添加函数实现cout请输入职工信息:endl; coutnum;for(int i

9、=0;iNUM;i+)while(num=wi.num)cout此职工编号已存在,请重新输入:endl;coutnum;wNUM.num=num;coutwNUM.name;coutwNUM.sex;coutwNUM.edu;coutwNUM.age;coutwNUM.salary;coutwNUM.address;coutwNUM.tel;+NUM;count=NUM;void worker:show() /职工信息显示函数实现cout工号:numendl;cout姓名:nameendl;cout性别:sexendl;cout学历:eduendl;cout年龄:ageendl;cout工资:

10、salaryendl;cout地址:addressendl;cout电话:telendl;coutendl;void WorkerList:modify() /职工信息修改函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();cout请输入需要修改信息职工的工号:num1;int j=0,k;int flag=1;while(flag)for(;jcount;j+)if(num1=wj.num)flag=0;k=j;break;if(flag)cout不存在此员工,请重新输入:num1;cout你选择的职工的信息为:endl;cout 工号:wk.nume

11、ndl;cout 姓名:wk.nameendl;cout 性别:wk.sexendl;cout 学历:wk.eduendl;cout 年龄:wk.ageendl;cout 工资:wk.salaryendl;cout 地址:wk.addressendl;cout 电话:wk.telendl;coutendl;cout*endl;cout* 1.修改工号 *endl;cout* 2.修改姓名 *endl;cout* 3.修改性别 *endl;cout* 4.修改学历 *endl;cout* 5.修改年龄 *endl;cout* 6.修改工资 *endl;cout* 7.修改地址 *endl;cou

12、t* 8.修改电话 *endl;cout* 0.返回主菜单 *endl;cout*endl;coutendl;cout请选择数字编号08i3;while(i38)cout输入有误,请重新输入:i3;switch(i3) case 1: coutwk.num; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 2: coutwk.name; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 3: coutwk.sex; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 4: c

13、outwk.edu; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 5: coutwk.age; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 6: coutwk.salary; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 7: coutwk.address; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 8: coutwk.tel; cout修改信息已保存,现返回主菜单:endl; menu(); break; ca

14、se 0: menu(); default: break;void WorkerList:showworker() /职工信息显示函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elsecout已保存的职工信息如下:endl; for(int i=0;icount;i+) cout*endl;cout 工号:wi.numendl; cout 姓名:wi.nameendl; cout 性别:wi.sexendl; cout 学历:wi.eduendl; cout 年龄:wi.ageendl; cout 工资:wi.salaryendl; cout 地址

15、:wi.addressendl; cout 电话:wi.telendl;cout*endl;void WorkerList:search() /职工信息查询函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();else cout*endl;cout* 请选择查找方式: *endl; cout* 1.按工号查找 *endl; cout* 2.按姓名查找 *endl; cout* 3.按学历查找 *endl; cout* 0.返回主菜单 *endl; cout*endl; coutendl; cout请选择数字编号03i4;while(i43)cout输入有误

16、,请重新输入:i4;if(i4=1)string num2;cout请输入要查询的职工的工号:num2;int j=0,k;int flag=1;while(flag)for(;jcount;j+) if(num2=wj.num) flag=0;k=j;cout查询的职工信息如下:endl;cout 工号:wk.numendl; cout 姓名:wk.nameendl; cout 性别:wk.sexendl; cout 学历:wk.eduendl; cout 年龄:wk.ageendl; cout 工资:wk.salaryendl; cout 地址:wk.addressendl; cout 电

17、话:wk.telendl;break; if(flag)flag=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=2)string name2;cout请输入要查询的职工的姓名:name2;int j2=0,k2;int flag2=1;while(flag2)for(;j2count;j2+)if(name2=wj2.name)flag2=0;k2=j2;cout查询的职工信息如下:endl;cout 工号:wk2.numendl; cout 姓名:wk2.nameendl; cout 性别:wk2.sexendl; cout 学历:wk2.eduendl;

18、 cout 年龄:wk2.ageendl; cout 工资:wk2.salaryendl; cout 地址:wk2.addressendl; cout 电话:wk2.telendl;break;if(flag2)flag2=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=3)string edu2;cout请输入要查询的职工的学历:edu2;int j4=0,k4;int flag4=1;while(flag4)for(;j4count;j4+)if(edu2=wj4.edu)flag4=0;k4=j4;cout查询的职工信息如下:endl;cout 工号:w

19、k4.numendl; cout 姓名:wk4.nameendl; cout 性别:wk4.sexendl; cout 学历:wk4.eduendl; cout 年龄:wk4.ageendl; cout 工资:wk4.salaryendl; cout 地址:wk4.addressendl; cout 电话:wk4.telendl;break;if(flag4)flag4=0;cout不存在此职工!n返回主菜单endl;break;else if(i4=0)menu();void WorkerList:sort() /职工信息排序功能实现if(NUM=0)cout没有职工信息存入,系统将返回主菜

20、单endl;menu();else cout*endl; cout* 请选择排序方式: *endl; cout* 1.按工资排序(升序) *endl; cout* 2.按工资排序(降序) *endl; cout* 0.返回主菜单 *endl; cout*endl; coutendl; cout请选择数字编号02i5;while(i52)cout输入有误,请重新输入:i5; if(i5=1)for(int i=0;icount-1;i+)for(int j=0;jwj+1.salary) worker temp;temp=wj;wj=wj+1;wj+1=temp;cout按工资升序后的信息如下:

21、endl;for( i=0;icount;i+)cout*endl;cout 工号:wi.numendl; cout 姓名:wi.nameendl; cout 性别:wi.sexendl; cout 学历:wi.eduendl; cout 年龄:wi.ageendl; cout 工资:wi.salaryendl; cout 地址:wi.addressendl; cout 电话:wi.telendl;cout*endl;else if(i5=2)for(int i=0;icount-1;i+)for(int j=0;jcount-i-1;j+)if(wj.salarywj+1.salary) w

22、orker temp;temp=wj;wj=wj+1;wj+1=temp;cout按工资降序后的信息如下:endl;for( i=0;icount;i+)cout*endl;cout 工号:wi.numendl; cout 姓名:wi.nameendl; cout 性别:wi.sexendl; cout 学历:wi.eduendl; cout 年龄:wi.ageendl; cout 工资:wi.salaryendl; cout 地址:wi.addressendl; cout 电话:wi.telendl;cout*endl;else if(i5=0)menu();void WorkerList:

23、dele() /职工信息删除函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();cout请输入需要删除信息职工的工号:num3;int j=0,k;int flag=1;while(flag)for(;jcount;j+)if(num3=wj.num)flag=0;k=j;break;if(flag)cout不存在此员工,请重新输入:num3;cout你选择的职工的信息为:endl;cout 工号:wk.numendl;cout 姓名:wk.nameendl;cout 性别:wk.sexendl;cout 学历:wk.eduendl;cout 年龄:wk

24、.ageendl;cout 工资:wk.salaryendl; cout 地址:wk.addressendl;cout 电话:wk.telendl;coutendl;cout确认删除请输入Y,返回主菜单请输入N p;while(1)if(p=y|p=Y)cout员工信息已删除!endl;for(int i=0;icount;i+)if(wi.num=num3)int j=i;for(;j=count-1;j+)wj=wj+1;count-;break;else if(p=n|p=N)menu();else coutp;void WorkerList:save() /职工信息保存函数实现if(NUM=0)cout没有职工信息存入,系统将返回主菜单endl;menu();elseofstream fout;fout.open(D:worker.txt,ios:out);cout文件正在保存.请稍候!endl;cout数据保存成功!endl;fout已保存员工信息如下:endl;for(int i=0;icount;i+)fout*

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922