C++职工信息管理系统Word下载.docx
《C++职工信息管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《C++职工信息管理系统Word下载.docx(23页珍藏版)》请在冰点文库上搜索。
![C++职工信息管理系统Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-4/29/406317b8-c828-4025-816c-2ef0e0d9ea27/406317b8-c828-4025-816c-2ef0e0d9ea271.gif)
v查询或排序功能:
(至少一种查询方式) --算法
●按工资查询 ●按学历查询等
v职工信息删除、修改功能(任选项)
第二章 系统总体设计
2.1功能划分
该系统可以按功能进行模块划分,如图
While
Switch(
开始
退出
读取数据
主菜单
保存员工信
职工信息排
职工信息查
职工删除信
修改职工信
添加职工信
2.2详细描述
2.2.1系统描述
(1)主菜单模块完成用户命令的接受,此模块也是职工信息管理的入口,用户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。
(2)信息添加模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别,出生年月、学历、职务、工资、住址、电话等。
(3)信息显示模块完成已录入职工信息的显示。
(4)信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查询两种方式。
(5)信息修改模块完成职工信息的修改功能。
(6)信息删除功能模块完成职工信息的删除功能。
(7)信息排序模块完成对职工信息的排序,排序内容包括工号,工资等。
(8)信息保存模块完成对职工信息的保存。
第三章 类的设计
3.1Class图
Class
_cout:
string
_num:
_workerlist:
+add:
void
+dele:
+modify:
+save:
+search:
+showworker:
+sort:
+workerlist:
3.2类的成员函数说明
首先主要设计定义了两个类:
1.职工信息管理类(WorkerList):
主要用于对员工信息进行新增、查询、修改、删除等操作处理;
主要包括以下几种信息处理函数:
voidadd();
//职工信息录入函数voidsort();
//职工信息排序函数voidsearch();
//职工信息查找函数voiddele();
//职工信息删除函数
voidmodify();
//职工信息修改函数
voidsave();
//职工信息以文件形式保存函数
voidshowworker();
//职工信息保存在屏幕上函数
数据类型
职工信息
String
Num,name,sex,edu,address,post,tel
Int
Age,salary
2.职工信息类(worker):
第四章 详细设计
4.1类图视图
第五章 测试
5.1测试图片
通过对员工的信息的添加,修改,删除,保存,排序,查找等功能进行检测。
未发现任何异常现象。
在这里:
我们将测试的结果图片
贴在了下面
5.2软件使用说明书
(1)根据正确的提示安装软件。
(2)PC台式机和便携式电脑都可运行。
(3)打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。
操作如下:
点击开始菜单,进入菜单选择。
输入:
将所需的信息输入。
输出:
职工基本信息。
根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。
当错误不能改正,则退出浏览信息。
进入查询信息:
则屏幕会出现已一个对话框——按工号查找,把相应的所需信息的状态(是否借出)。
当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。
当信息输入正确,进入你所需要的菜单程序中:
职工信息:
显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等。
管理员信息:
显示出职工信息管理的负责人及他们的工号。
第六章 设计总结
在本系统的开发过程中,由于组是初次开发软件,在知识、经验方面都存在着不足。
另外,在整个开发的过程中,时间也比较仓促。
因此,该系统必然会存在一些缺陷和不足。
因为对职工信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统
所必需的。
通过开发这个系统,我组掌握了的项目基本开发过程,用到的知识
巩固了我组对C语言的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
附加:
源程序代码:
#include<
iostream>
#include"
string"
#include<
fstream>
stdlib.h>
stdio.h>
#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:
voidsort();
voidsearch();
voiddele();
voidmodify();
voidsave();
WorkerList(){NUM=0;
count=0;
}
voidmenu()
cout<
<
endl;
cout<
"
**********************************************"
**
职工信息管理系统主菜单
**"
1.职工信息添加
2.职工信息修改
3.职工信息删除
4.职工信息排序
5.职工信息查找
6.职工信息显示
7.职工信息保存
voiddomain()
WorkerListwl;
while
(1)
system("
cls"
);
menu();
请选择数字编号~7"
inti1;
cin>
>
i1;
while(!
(i1>
=0&
&
i1<
=7))
输入有误,请重新输入:
cin>
switch(i1)
case1:
wl.add();
break;
case2:
wl.modify();
case3:
wl.dele();
case4:
wl.sort();
case5:
wl.search();
case6:
wl.save();
break;
case7:
wl.showworker();
case0:
系统退出!
!
exit(0);
default:
是否返回主菜单?
Y/N"
p;
if(p=="
n"
||p=="
N"
)
voidWorkerList:
:
add()
请输入职工信息:
工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话
stringnum;
num;
for(inti=0;
i<
NUM;
i++)while(num==w[i].num)
此职工编号已存在,请重新输入:
w[NUM].num=num;
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()
num<
'
\t'
name<
sex<
edu<
age<
post<
address<
tel<
modify()
if(NUM<
=0)
else
cout<
没有职工信息存入,系统将返回主菜单"
menu();
职工信息如下:
count;
i++)
w[i].num<
w[i].name<
w[i].sex<
w[i].edu<
w[i].age<
w[i].post<
w[i].salary<
w[i].address<
w[i].tel<
请输入需要修改员工的工号:
stringnuml;
numl;
intj=0,k;
intflag=1;
while(flag)
for(;
j<
j++)
if(numl==w[j].num)
flag=0;
k=j;
if(flag)
不存在此员工,请重新输入:
j=0;
你选择的职工信息为:
w[k].num<
w[k].name<
w[k].sex<
w[k].edu<
w[k].age<
w[k].post<
w[k].salary<
w[k].address<
w[k].tel<
1.修改工号
2.修改姓名
3.修改性别
4.修改学历
5.修改出生日期
6.修改职务
7.修改工资
8.修改地址
9.修改电话
0.返回主菜单
请选择数字编号~9"
inti3;
i3;
while(i3<
0||i3>
9)
switch(i3)
请输入新的职工工号:
;
w[k].num;
修改信息已保存,现返回主菜单:
请输入新的职工姓名:
w[k].name;
请输入新的职工性别:
w[k].sex;
请输入新的职工学历:
w[k].edu;
请输入新的职工出生日期:
w[k].age;
请输入新的职工职务:
w[k].post;
请输入新的职工工资:
w[k].salary;
case8:
请输入新的职工地址:
w[k].address;
case9:
请输入新的电话:
w[k].tel;
dafault:
showworker()
已保存的职工信息如下:
search()
请选择查找方式:
** 1.按工资查找 **"
** 2.按学历查找 **"
** 0.返回主菜单 **"
请选择数字编号~4"
inti4;
i4;
while(i4<
0||i4>
2)
if(i4==1)
intsalary2;
请输入要查找的职工的工资:
salary2;
intj3=0,k3;
intflag3=1;
while(flag3)
j3<
j3++)
if(salary2==w[j3].salary)
flag3=0;
k3=j3;
查询的职工信息如下:
工号\t姓名\t性别\t出生日期\t学历\t职务\t工资\t地址\t电话"
w[k3].num<
w[k3].name<
w[k3].sex<
w[k3].edu<
w[k3].age<
w[k3].post<
w[k3].salary<
w[k3].address<
w[k3].tel<
if(flag3)
不存在此职工信息!
\n返回主菜单"
elseif(i4==2)
stringedu2;
edu2;
intj4=0,k4;
intflag4=1;
while(flag4)
j4<
j4++)
if(edu2==w[j4].edu)
flag4=0;
k4=j4;
w[k4].num<
w[k4].name<
w[k4].sex<
w[k4].edu<
w[k4].age<
w[k4].post<
w[k4].salary<