《C++职工信息管理系统.doc》由会员分享,可在线阅读,更多相关《C++职工信息管理系统.doc(86页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC+职工信息管理系统*课程名称C+程序设计设计题目职工信息管理系统指导教师/填写答辩所对应教师姓名时间/任务书仅限一页打印,并且紧贴封面之后装订 内蒙古科技大学课程设计任务书 C+程序设计程序设计说明书 题 目: 职工信息管理系统 姓 名: 安静 学 号: 1376807343 指导教师: 王丽颖 日 期: 2014年12月25日 目录第一章 需求分析3第二章 系统总
2、体设计42.1功能划分42.2详细描述42.2.1系统描述4第三章 类的设计53.1 Class 图53.2 类的成员函数说明6第四章 详细设计74.1类图视图7第五章 测试75.1测试图片75.2软件使用说明书10第六章 设计总结10附加:11正文第一章 需求分析每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。职工信息管理系统设计职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:v 职工信息录入功能(职工信息用文件保存)输入v 职工信息浏览功能 输出v 查询或排序功能:(至少一
3、种查询方式) 算法按工资查询 按学历查询等v 职工信息删除、修改功能(任选项)第二章 系统总体设计2.1功能划分该系统可以按功能进行模块划分,如图主菜单添加职工信息修改职工信息职工删除信息职工信息查询职工信息排序保存员工信息Switch()退出While()开始main()读取数据2.2详细描述2.2.1系统描述(1) 主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。(2) 信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。(3) 信息显示模块
4、完成已录入职工信息的显示。(4) 信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。(5) 信息修改模块完成职工信息的修改功能。(6) 信息删除功能模块完成职工信息的删除功能。(7) 信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。(8) 信息保存模块完成对职工信息的保存。第三章 类的设计3.1 Class 图 Class_cout:string_num:string_workerlist:string+add:void+dele:void+modify:void+save:void+search:void+showworker:void+sort:voi
5、d+workerlist:void3.2 类的成员函数说明首先主要设计定义了两个类:1.职工信息管理类(WorkerList):主要用于对员工信息进行新增、查询、修改、删除等操作处理;主要包括以下几种信息处理函数:voidadd();/职工信息录入函数voidsort();/职工信息排序函数voidsearch();/职工信息查找函数voiddele();/职工信息删除函数voidmodify();/职工信息修改函数void save(); /职工信息以文件形式保存函数void showworker();/职工信息保存在屏幕上函数2.职工信息类(worker):数据类型职工信息StringNu
6、m,name,sex,edu,address,post,telIntAge,salary第四章 详细设计4.1类图视图第五章 测试5.1测试图片通过对员工的信息的添加,修改,删除,保存,排序,查找等功能进行检测。未发现任何异常现象。在这里:我们将测试的结果图片贴在了下面5.2软件使用说明书(1)根据正确的提示安装软件。(2)PC台式机和便携式电脑都可运行。 (3) 打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。操作如下:点击开始菜单,进入菜单选择。输入:将所需的信息输入。输出:职工基本信息。输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。当错误不能改正,则
7、退出浏览信息。进入查询信息:则屏幕会出现已一个对话框按工号查找,把相应的所需信息的状态(是否借出)。当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。当信息输入正确,进入你所需要的菜单程序中:职工信息:显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等。管理员信息:显示出职工信息管理的负责人及他们的工号。第六章 设计总结 在本系统的开发过程中,由于组是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对职工信息管理的整个流程不够熟悉,
8、在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。附加:源程序代码:#include#includestring#include#include#include#define N 100int f=0;using namespace std;string p;voi
9、d menu();class workerpublic: worker() void show(); worker() friend class WorkerList;private: string num,name,sex,edu,post,address,tel; int age,salary;class WorkerListprivate: worker wN; int NUM; int count;public: void add(); void sort(); void search(); void dele (); void modify(); void save(); void
10、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.职工信息排序 *endl; cout* 5.职工信息查找 *endl; cout* 6.职工信息显示 *endl; cout* 7.职工信息保存 *endl; cout* *endl; cout*
11、endl; coutendl;void domain() WorkerList wl; while(1) system(cls); menu(); cout请选择数字编号7i1; while(!(i1=0&i1=7) cout输入有误,请重新输入:i1; switch(i1) case 1: wl.add();break; case 2: wl.modify();break; case 3: wl.dele();break; case 4: wl.sort();break; case 5: wl.search();break; case 6: wl.save(); break; case 7:
12、 wl.showworker();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; cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话num; for(int i=0;iNUM;i+) while (num=wi.num) cout此职工编号已存在,请重新输入:num; wNUM.num=num; cinwNUM.namewNUM.s
13、exwNUM.eduwNUM.agewNUM.postwNUM.salarywNUM.addresswNUM.tel; +NUM; count=NUM;void worker:show() cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; coutnumtnametsextedutagetposttaddressttelendl; coutendl;void WorkerList:modify() if(NUM=0) cout没有职工信息存入,系统将返回主菜单endl; menu(); else cout职工信息如下:endl; cout工号t姓名t性别t出生日期t学
14、历t职务t工资t地址t电话endl; for(int i=0;icount;i+) coutwi.numtwi.nametwi.sextwi.edutwi.agetwi.postt wi.salarytwi.addresstwi.telendl; cout请输入需要修改员工的工号:numl; int j=0,k; int flag=1; while(flag) for(;jcount;j+) if(numl=wj.num) flag=0; k=j; break; if(flag) cout不存在此员工,请重新输入:numl; cout你选择的职工信息为:endl; cout工号t姓名t性别t出
15、生日期t学历t职务t工资t地址t电话endl; coutwk.numtwk.nametwk.sextwk.edutwk.agetwk.postt wk.salarytwk.addresstwk.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; cout* 8.修改地址 *endl; cout* 9.修改电
16、话 *endl; cout* 0.返回主菜单 *endl; cout*endl; coutendl; cout请选择数字编号9i3; while(i39) 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: cou
17、twk.edu; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 5: coutwk.age; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 6: coutwk.post; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 7: coutwk.salary; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 8: coutwk.address; cout修改信息已保存,现返回主菜单:endl; menu(); break; cas
18、e 9: coutwk.tel; cout修改信息已保存,现返回主菜单:endl; menu(); break; case 0: menu(); dafault: break; void WorkerList:showworker() if(NUM=0) cout没有职工信息存入,系统将返回主菜单endl; menu(); else cout已保存的职工信息如下:endl; cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; for(int i=0;icount;i+) coutwi.numtwi.nametwi.sextwi.edutwi.agetwi.postt w
19、i.salarytwi.addresstwi.telendl;void WorkerList:search() if(NUM=0) cout没有职工信息存入,系统将返回主菜单endl; menu(); else cout请选择查找方式:endl; cout*endl; cout* 1.按工资查找 *endl; cout* 2.按学历查找 *endl; cout* 0.返回主菜单 *endl; cout*endl; coutendl; cout请选择数字编号4i4; while(i42) cout输入有误,请重新输入:i4; if(i4=1) int salary2; cout请输入要查找的职工
20、的工资:salary2; int j3=0,k3; int flag3=1; while(flag3) for(;j3count;j3+) if(salary2=wj3.salary) flag3=0; k3=j3; cout查询的职工信息如下:endl; cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; coutwk3.numtwk3.nametwk3.sextwk3.edutwk3.agetwk3.postt wk3.salarytwk3.addresstwk3.telendl; break; if(flag3) flag3=0; cout不存在此职工信息!n返回
21、主菜单endl; break; else if(i4=2) 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工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; coutwk4.numtwk4.nametwk4.sextwk4.edutwk4.agetwk4.postt wk4.salarytwk4.addresstwk4.tele
22、ndl; break; if(flag4) flag4=0; cout不存在此职工信息!n返回主菜单endl; break; else if(i4=0) menu(); void WorkerList:sort() if(NUM=0) cout没有职工信息存入,系统将返回主菜单endl; menu(); else cout请选择排序方式:endl; cout*endl; cout* 1.按工号排序 *endl; cout* 0.返回主菜单 *endl; cout*endl; coutendl; cout请选择数字编号3i5; while(i53) cout输入有误,请重新输入:i5; if(i
23、5=1) for(int i=0;icount-1;i+) for(int j=0l;jwj+1.num) string temp; temp=wj.num; wj.num=wj+1.num; wj+1.num=temp; cout按工号升序后信息如下:endl; cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; for(int i=0;icount;i+) coutwi.numtwi.nametwi.sextwi.edutwi.agetwi.postt wi.salarytwi.addresstwi.telendl; else if(i5=0) menu(); void WorkerList:dele() if(NUM=0) cout没有职工信息存入,系统将返回主菜单endl; menu(); else cout职工信息如下:endl; cout工号t姓名t性别t出生日期t学历t职务t工资t地址t电话endl; for(int i=0;icount;i+) coutwi.numtwi.nametwi.sextwi.edutwi.agetwi.postt wi.salarytwi.addresstwi.telendl; cout请输入需要删除信息职工的工号:num3; int j=0,k; int flag=1;
限制150内