C职工信息管理系统.docx
- 文档编号:11146876
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:28
- 大小:195.95KB
C职工信息管理系统.docx
《C职工信息管理系统.docx》由会员分享,可在线阅读,更多相关《C职工信息管理系统.docx(28页珍藏版)》请在冰豆网上搜索。
C职工信息管理系统
课程名称
C++程序设计
设计题目
职工信息管理系统
指导教师
//填写答辩所对应教师姓名
时间
//任务书仅限一页打印,并且紧贴封面之后装订
内蒙古科技大学课程设计任务书
《C++程序设计》
程序设计说明书
题目:
职工信息管理系统
姓名:
安静
学号:
1376807343
指导教师:
王丽颖
日期:
2014年12月25日
正文
第一章需求分析
每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。
职工信息管理系统设计
职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等(职工号不重复)。
试设计一职工信息管理系统,使之能提供以下功能:
v职工信息录入功能(职工信息用文件保存)--输入
v职工信息浏览功能--输出
v查询或排序功能:
(至少一种查询方式)--算法
●按工资查询●按学历查询等
v职工信息删除、修改功能(任选项)
第二章系统总体设计
2.1功能划分
该系统可以按功能进行模块划分,如图
主菜单
添加职工信息
修改职工信息
职工删除信息
职工信息查询
职工信息排序
保存员工信息
Switch()
退出
While()
开始main()
读取数据
2.2详细描述
2.2.1系统描述
(1)主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。
(2)信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。
(3)信息显示模块完成已录入职工信息的显示。
(4)信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。
(5)信息修改模块完成职工信息的修改功能。
(6)信息删除功能模块完成职工信息的删除功能。
(7)信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。
(8)信息保存模块完成对职工信息的保存。
第三章类的设计
3.1Class图
Class
_cout:
string
_num:
string
_workerlist:
string
+add:
void
+dele:
void
+modify:
void
+save:
void
+search:
void
+showworker:
void
+sort:
void
+workerlist:
void
3.2类的成员函数说明
首先主要设计定义了两个类:
1.职工信息管理类(WorkerList):
主要用于对员工信息进行新增、查询、修改、删除等操作处理;主要包括以下几种信息处理函数:
void add(); //职工信息录入函数
void sort(); //职工信息排序函数
void search(); //职工信息查找函数
void dele(); //职工信息删除函数
void modify();//职工信息修改函数
voidsave();//职工信息以文件形式保存函数
voidshowworker();//职工信息保存在屏幕上函数
2.职工信息类(worker):
数据类型
职工信息
String
Num,name,sex,edu,address,post,tel
Int
Age,salary
第四章详细设计
4.1类图视图
第五章测试
5.1测试图片
通过对员工的信息的添加,修改,删除,保存,排序,查找等功能进行检测。
未发现任何异常现象。
在这里:
我们将测试的结果图片贴在了下面
5.2软件使用说明书
(1)根据正确的提示安装软件。
(2)PC台式机和便携式电脑都可运行。
(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。
操作如下:
点击开始菜单,进入菜单选择。
输入:
将所需的信息输入。
输出:
职工基本信息。
输入:
根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。
当错误不能改正,则退出浏览信息。
进入查询信息:
则屏幕会出现已一个对话框——按工号查找,把相应的所需信息的状态(是否借出)。
当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中:
职工信息:
显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等。
管理员信息:
显示出职工信息管理的负责人及他们的工号。
第六章设计总结
在本系统的开发过程中,由于组是初次开发软件,在知识、经验方面都存在着不足。
另外,在整个开发的过程中,时间也比较仓促。
因此,该系统必然会存在一些缺陷和不足。
因为对职工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。
通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识巩固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
附加:
源程序代码:
#include
#include"string"
#include
#include
#include
#defineN100
intf=0;
usingnamespacestd;
stringp;
voidmenu();
classworker
{
public:
worker(){}
voidshow();
~worker(){}
friendclassWorkerList;
private:
stringnum,name,sex,edu,post,address,tel;
intage,salary;
};
classWorkerList
{
private:
workerw[N];
intNUM;
intcount;
public:
voidadd();
voidsort();
voidsearch();
voiddele();
voidmodify();
voidsave();
voidshowworker();
WorkerList(){
NUM=0;
count=0;
}
};
voidmenu()
{
cout< cout<<"**********************************************"< cout<<"****"< cout<<"**职工信息管理系统主菜单**"< cout<<"****"< cout<<"**1.职工信息添加**"< cout<<"**2.职工信息修改**"< cout<<"**3.职工信息删除**"< cout<<"**4.职工信息排序**"< cout<<"**5.职工信息查找**"< cout<<"**6.职工信息显示**"< cout<<"**7.职工信息保存**"< cout<<"****"< cout<<"**********************************************"< cout< } voiddomain() { WorkerListwl; while (1) { system("cls"); menu(); cout<<"请选择数字编号~7"< inti1; cin>>i1; while(! (i1>=0&&i1<=7)) { cout<<"输入有误,请重新输入: "< cin>>i1; } switch(i1) { case1: wl.add();break; case2: wl.modify();break; case3: wl.dele();break; case4: wl.sort();break; case5: wl.search();break; case6: wl.save();break; case7: wl.showworker();break; case0: cout<<"系统退出! ! "< exit(0); default: break; } cout<<"是否返回主菜单? Y/N"< cin>>p; if(p=="n"||p=="N") { cout<<"系统退出! ! "< exit(0); } } } voidWorkerList: : add() { cout<<"请输入职工信息: "< cout<<"工号\t姓名\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].post>>w[NUM].salary>>w[NUM].address>>w[NUM].tel; ++NUM; count=NUM; } voidworker: : show() { cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< cout< cout< } voidWorkerList: : modify() { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else { cout<<"职工信息如下: "< cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< for(inti=0;i cout< w[i].salary<<'\t'< } cout<<"请输入需要修改员工的工号: "< stringnuml; cin>>numl; intj=0,k; intflag=1; while(flag) { for(;j { if(numl==w[j].num) { flag=0; k=j; break; } } if(flag) { cout<<"不存在此员工,请重新输入: "< j=0; cin>>numl; } } cout<<"你选择的职工信息为: "< cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< cout< w[k].salary<<'\t'< cout< cout<<"**********************************************"< cout<<"**1.修改工号**"< cout<<"**2.修改姓名**"< cout<<"**3.修改性别**"< cout<<"**4.修改学历**"< cout<<"**5.修改出生日期**"< cout<<"**6.修改职务**"< cout<<"**7.修改工资**"< cout<<"**8.修改地址**"< cout<<"**9.修改电话**"< cout<<"**0.返回主菜单**"< cout<<"**********************************************"< cout< cout<<"请选择数字编号~9"< inti3; cin>>i3; while(i3<0||i3>9) { 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].post; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case7: cout<<"请输入新的职工工资: "; cin>>w[k].salary; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case8: cout<<"请输入新的职工地址: "; cin>>w[k].address; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case9: cout<<"请输入新的电话: "; cin>>w[k].tel; cout<<"修改信息已保存,现返回主菜单: "< menu(); break; case0: menu(); dafault: break; } } voidWorkerList: : showworker() { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"已保存的职工信息如下: "< cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< for(inti=0;i cout< w[i].salary<<'\t'< } voidWorkerList: : search() { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"请选择查找方式: "< cout<<"**********************************************"< cout<<"**1.按工资查找**"< cout<<"**2.按学历查找**"< cout<<"**0.返回主菜单**"< cout<<"**********************************************"< cout< cout<<"请选择数字编号~4"< inti4; cin>>i4; while(i4<0||i4>2) { cout<<"输入有误,请重新输入: "< cin>>i4; } if(i4==1) { intsalary2; cout<<"请输入要查找的职工的工资: "< cin>>salary2; intj3=0,k3; intflag3=1; while(flag3) { for(;j3 { if(salary2==w[j3].salary) { flag3=0; k3=j3; cout<<"查询的职工信息如下: "< cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< cout< w[k3].salary<<'\t'< break; } } if(flag3) { flag3=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地址\t电话"< cout< w[k4].salary<<'\t'< break; } } if(flag4) { flag4=0; cout<<"不存在此职工信息! ! \n返回主菜单"< break; } } } elseif(i4==0) menu(); } voidWorkerList: : sort() { if(NUM<=0) { cout<<"没有职工信息存入,系统将返回主菜单"< menu(); } else cout<<"请选择排序方式: "< cout<<"**********************************************"< cout<<"**1.按工号排序**"< cout<<"**0.返回主菜单**"< cout<<"**********************************************"< cout< cout<<"请选择数字编号~3"< inti5; cin>>i5; while(i5<0||i5>3) { cout<<"输入有误,请重新输入: "< cin>>i5; } if(i5==1) { for(inti=0;i for(intj=0l;j if(w[j].num>w[j+1].num) { stringtemp; temp=w[j].num; w[j].num=w[j+1].num; w[j+1].num=temp; } cout<<"按工号升序后信息如下: "< cout<<"工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"< for(inti=0;i cout< w[i].salary<<'\t'<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工 信息管理 系统