职工信息管理系统 附源代码

更新时间:2024-04-12 03:48:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第一章 问题定义

在当今社会,互联网空间的发展,给人们的工作和生活带来了极大的便利

和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。当前大量企业的职工管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。

本程序是一个关于职工信息管理的系统通过这个系统用户可以简捷、方便的对职工信息进行增加、修改、添加、查询、浏览等功能,它不仅可以帮助企业单位达到员工管理办公自动化、节约管理成本、更能达到提高企业单位工作效率的目的。

1

第二章 可行性分析

2.1 技术可行性分析

此系统是职工信息管理系统,用visual c++ 6.0结合windows 7操作系统开发而成的,大家都知道这项技术已经相当成熟了,因此从技术方面讲开发此职工信息管理系统是可行的。

2.2 社会可行性分析

社会可行性研究是对系统投入使用后对社会可能带来的影响进行分析,比如是否为人们所接受,是否为社会带来收益。

2.3 经济可行性分析

软件工程课程设计主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费,软件开发费,管理和维护费,人员工资和培训费等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。基于企业的现有计算机及配套设备,建设MIS系统。不但能大大坚守重复性书面报告,降低办公费用,提高办公室效率,而且能提高监测数据效用。由于职工信息管理系统是一个比较小型的系统,所以从人力、物力、财力等方面来说都是可行的。

2

第三章 需求分析

3.1设计目的

要求熟练掌握C语言的基本知识和编辑技能; 基本掌握结构化程序设计的基本思路和方法。

3.2 设计要求

要求:设计一个职工信息管理系统,使之能提供以下功能:

1、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观!

2、输入功能:职工信息录入(职工信息用文件保存),可以一次完成若干条记录的输入。

3、浏览功能:完成对全部职工信息的显示。

4、查找功能:①完成按职工的职工号查询职工的相关信息,并显示。

②完成按职工的学历查询职工的相关信息,并显示。 ③完成按职工的电话号码查询职工的相关信息,并显示。

5、删除功能:通过输入职工的姓名完成对该名职工的信息进行删除。 6、添加功能:完成添加新职工的信息的任务。

7、修改功能:通过输入职工的姓名完成对该名职工的信息进行修改。 8、退出职工信息管理系统。

3.3 设计说明

本系统所实现的主要功能:

(1)添加新成员,实现对新加入职工信息的录入,所有的信息当中主码即职工信息编号必须填写。

(2)删除职工信息,当公司有职工因故离职时,需要删除员工信息时,释放掉它所占据的数据库空间,就可以在列表中选中所要删除的记录,然后点击删除。如果确认删除则在弹出的消息框中点击确定即可删除所选的记录。

3

(3)修改员工信息,由于某种原因可能导致在记录员工信息时出现错误,需要对员工信息进行修改。在员工信息系统主窗口中选择所要修改的成员信息进行修改,点击修改后将会弹出消息框,如果确认修改则点击确定,则修改数据成功。 (4)显示职工信息,在删除职工信息和添加职工信息成功后,点击显示按钮则可对职工信息记录进行更新,显示职工信息的最记录。

(5)检索信息,点击此按钮则可以显示出当前那一条或几条员工信息,用名字来查看员工信息。综上本系统可以对员工信息实现科学自动的管理,其中包括显示职工基本信息,并实现信息的添加、删除、显示、及检索。经过调试,程序性能良好。

3.4开发环境

宏碁4750G (英特尔i5-480M CPU DDR3 1333 2G内存 GT20显卡

window7 32位 旗舰版)

4

第四章 概要设计

4.1系统设计思想

在设计时考虑以下几个方面:

(1)有高度的容错机制,不会因小的失误造成死循环。 (2)简洁并且有条理性。

(3)错误报警机制可以提醒用户进行正确的操作。

(4)可选择性,在进行修改、删除等操作时可按不同方式进行,方便用户操作。

(5)功能齐全,充分考虑到用户的实际需求。

(6)操作简单。因为使用者多为非计算机专业人员,所以该系统要求设 计的操作方便,易于维护。一个软件的好坏,关键在于产品便于维护。

4.2 功能划分

该系统可以按功能进行模块划分,如图1所示。

职工信息管理系统 菜单选择 信息输入 信息浏览 信息查询 信息修改 信息删除 按编号查询 按姓名查询 图4-1 系统模块图

5

其中:

(1) 菜单选择模块完成用户命令的接受,此模块也是职工信息管理的入口,用

户所要进行的各种操作均需在此模块中进行选择,并进而调用其他模块实现相应的功能。

(2) 信息输入模块完成职工信息的输入功能,输入信息包括职工号、姓名、性

别。出生年月、学历、职务、工资、住址、电话等。 (3) 信息浏览模块完成已录入职工信息的显示。

(4) 信息查询模块完成职工信息的查询,查询时对应有按编号查询和按姓名查

询两种方式。

(5) 信息修改模块完成职工信息的修改功能。 (6) 信息删除功能模块完成职工信息的删除功能。

4.3 数据结构

本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理。

4.4 程序流程图

系统的执行应从功能菜单选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如图2所示:

6

开始 菜单 根据菜单输入n的值选择程序 1 录入职工信息 5 添加职工信息 6 修改职工信息 2 浏览职工信息 3 查询职工信息 4 删除职工信息 7 退出 保存 Y是否继续进行 N 结束

图4-2 程序流程图

7

第五章 详细设计

5.1 核心算法及说明

本程序运用c++编写,使用顺序表的数据结构来实现。

本程序中定义了一个结构体worker。其中在worker结构体中包含了职工的

基本信息(工号、姓名、性别、年龄、学历、工资、地址、电话)。

程序还定义了几个功能函数(输入、删除 、添加、查找、修改、统计),这

七个函数是彼此相互独立的功能模块。

另外,为了防止工厂信息外泄,还增加了一个预置密码的功能。

5.2各个功能模块的处理流程

对应于总体设计时的系统模块图,各个功能模块的处理流程如下: 5.2.1 输入功能

在本功能中,是在进入管理系统后进行的对职工进行的输入操作功能, 其

中,包括要输入的职工人数,职工的工号,姓名,性别(w--女 m--男),年龄,学历,工资,住址,电话

功能流程图:

8

输入功能 输入职工所有信息 职工数是否大于所需人数 是否小于所需人数 否 是 返回管理系统 是

图5-1 录入功能流程图

5.2.2浏览功能

本功能将所有职工及其信息全部输出,包括职工人数,职工的工号,姓名,年龄,学历,工资,住址,电话。输出完毕,按任意键返回管理系统。

功能流程图:

显示功能 职工表是否为是 返回管理系统 否 输出所有职工信息

图5-2 显示功能流程图

9

5.2.3 查找功能

进行该项功能时,只需输入职工的姓名,系统就会按姓名差找到该职工,并输出该职工的所有信息。按姓名查找,能快速的找到你要找到的信息,大大的节省了时间。 功能流程图:

查找栏 职工表是否为空 是 返回系统主界面 否 输入姓名 查找并输出职工信息

图5-3 查询功能流程图

5.2.4 删除功能

在此功能模块中用户可先根据输入姓名查找到职工,同时可查看要删除的职工的信息,然后由用户进行删除。若不存在要删除的信息提示用户退出并返回主界面。

功能流程图:

10

删除栏 判断容量 超出容量 返回主界面 未达到容量 输入姓名并 显示全部信息 删除 根据提示继续或返回主界

图 5-4 删除功能流程图

5.2.5 修改功能

本功能中我们首先提示用户通过输入姓名查找到所要修改的职工信息并全显示出来,修改时我们设计可以让用户单独修改某一项或者修改多项,通过选数字1、2、3、4实现。 功能流程图:

修改栏 判断是 否存在 输入姓名 否 返回主界面 是 显示全部信息 按提示继续修改或返回主界面

图 5-5 修改功能流程图

5.2.6 添加功能

在本功能中用户可以在容量范围内进行添加职工信息,超出容量给予提示并

11

返回主界面,添加时通过输入姓名进行各项信息的添加。添加完成后根据提示继续添加或返回主界面。 功能流程图:

添加栏 判断信息 返回主界面 输入姓名 根据提示添加 根据提示继续或返回主界面

图5-6 添加功能流程图

5.2.7 退出系统

在主界面中选择退出系统,即可成功退出。

5.3 课程设计过程中遇到的问题

1.对一些知识掌握得不够熟练,在编写程序的过程中出现错误,经过查阅书本以及询问老师、和同学们讨论后改正了错误。

2.编程的方法选择得不够好,程序不够精炼。类的封装性不够好。 3.考虑得不够周全,防错机制不够强,对一些错误操作不能够做出合理的处理。

5.4程序的优缺点

优点:

1. 应用文件进行存储,方便简单易于实现。

2. 有良好的人机交互界面,各操作清晰明了,提示到位。

3. 输入错误不至于使系统崩溃,不符合要求的输入能进行返回或重新进

行所要的操作。

12

4. 在修改过程中,有很多选项进行选择,用户可根据自己的需要选择某

一项进行修改操作。

5. 本程序可自行退出,不至于强行退出程序。

6. 一个函数可被多个操作进行调用,代码利用率高,省去了一些多余代

码的编写。 缺点:

1.程序使用线性表进行存储,容量有限,不能进行大量的数据存储。 2.在查找功能函数中,只用了通过姓名来查找,由于职工可能存在重名

的问题,这就可能会导致查找时出现差错。

13

第六章 系统测试

6.1 设置测试数据

根据以下几个例子分析测试:

1.录入:职工号:105036; 姓名:杨平; 性别: 男; 学历:本科; 年龄:34; 工资:3400; 地址:太原; 电话:xxx

职工号:105037; 姓名:刘娜; 性别: 女; 学历:硕士; 年龄:32;工资:4500; 地址:太原; 电话:xxx

2.显示职工信息

3.按姓名搜索职工信息,例:杨平 4.按工号降序排序

5.删除职工号位105036的职工信息 6.退出

6.2 测试结果分析

(1)系统主菜单分析如图分析:

图6-1 主菜单

14

(2)职工信息录入分析图如图所示:

图6-2 信息录入

(3)职工信息显示分析图如图所示:

图6-3 信息显示

(4)查询职工信息如图所示:

15

图 6-4 信息查询

(5)职工信息排序分析图如图所示:

图6-5 信息排序

(6)职工信息删除分析图如图所示:

图6-6 信息删除

16

第七章 用户使用说明

这是一个职工信息管理系统,具有录入、输出、删除、查询、修改、保存、载入数据、计算总支出信息等功能,建立一个含有工号、性联系方式、姓名、性别等成员的类的变量。查看输入的数据记录调试过程中,可按照有关提示进行相关操作:

职工数据录入按“1”键; 浏览职工数据按“2”键; 修改职工数据按“3”键; 删除职工数据按“4”键; 查找职工数据按“5”键; 排序职工数据按“6”键; 保存职工数据按“7”键; 退出职工管理系统按“0”键;

运行系统时首先输出系统标题,进入主界面。它们分别有各自所代表的操作数。由用户输入操作数执行相应的操作。此功能由switch语句实现,当用户输入不同的操作数程序将进入不同的函数模块。进入各个函数后的运作过程在“成员函数”中已给出。

本系统主要的算法都是与顺序表有关的算法,在查找时是将文件中保存的记录读出送到一个结构体数组中。然后将输入的信息与相应的结构体中的成员进行顺序比较。修改时也是将结构体数组中的某个成员的属性进行修改。删除操作对应于顺序表的删除操作,其具体过程为:如果查到要删除的记录在数组中的位置为i就用一个for循环将i后的记录全部前移一位,然后将count减1。全部输出是将文件中保存的记录赋给一个数组,然后用一个for循环将数组的内容全部输出显示。

详细步骤:

(1)根据正确的提示安装软件。

(2)Intel486以上系列、AMD K6 以上系列等PC台式机和便携式电脑都可

运行。

17

(3) 打开该程序系统,浏览菜单,根据需要选择功能,进行各项操作。 操作如下:

点击开始菜单,进入菜单选择。 输入:将所需的信息输入。 输出:职工基本信息。

输入:根据不同的需要选择,当信息输入显示出错误时,进入浏览信息,找出错误。当错误不能改正,则退出浏览信息。

进入查询信息:则屏幕会出现已一个对话框——按姓名查找,把相应的所需信息的状态(是否借出)。当查询不能显示需要时进入修改程序,把所输入的信息进行修改,使之正确能够正常运行或进入删除信息中,重新输入自己所要的信息。

当信息输入正确,进入你所需要的菜单程序中:

职工信息:显示职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等。

管理员信息:显示出职工信息管理的负责人及他们的工号。

18

附录:程序清单及程序流程图

程序流程图:

开始 菜单 根据菜单输入n的值选择程序 1 录入职工信息 5 添加职工信息 6 修改职工信息 2 浏览职工信息 3 查询职工信息 4 删除职工信息 7 退出 保存 保存Y是否继续进行 N 结束

19

程序源代码: #include #include\#include

#define N 100//N作为最大职工总数 int NUM=0;//用来计算职工数目

int count;//用来暂时记录当前操作第几个职工 int f=0;//f作为开关 using namespace std;

string p;//p作为接收菜单选项的字符串 class worker { public:

worker(){}

void menu();//显示菜单

void add();//职工信息录入

void show();//职工信息显示

void showworker();//显示职工信息在屏幕上 void search();//职工信息查找 void sort();//职工信息排序 void dele();//职工信息删除 void modify();//职工信息修改

void save();//职工信息以文件形式保存

~worker(){}

private: };

worker w[N];

20

string num,name,sex,edu,address,tel; int age,salary;

int main() { }

void worker::menu()//主菜单函数实现 {

w[0].menu(); return 0;

cout<

cout<<\cout<<\ **\cout<<\ 职工信息管理系统主菜单 **\cout<<\ **\cout<<\ 1.职工信息录入 **\cout<<\ 2.职工信息浏览 **\cout<<\ 3.职工信息修改 **\cout<<\ 4.职工信息删除 **\cout<<\ 5.职工信息查找 **\cout<<\ 6.职工信息排序 **\cout<<\ 7.职工信息保存 **\cout<<\ 0.退出 **\cout<<\ **\cout<<\cout<

cout<<\请选择数字编号0~7\int i1; cin>>i1;

while(!(i1>=0&&i1<=7)) {

cout<<\输入有误,请重新输入:\cin>>i1;

21

}

} switch(i1) { case 1:

add();break;

case 2:

showworker();break;

case 3:

modify();break;

case 4:

dele();break;

case 5:

search();break; case 6:

sort();break;

case 7:

save();break;

case 0:

cout<<\系统退出!!\exit(0);

default: }

break;

void worker::add()//职工信息录入函数实现 {

void save(); int i,n; char a;

22

cout<<\请输入需要创建的职工人数:1~100\cin>>NUM; for(i=0;i

cout<<\录入完成!\getchar(); cout<

cout<<\是否要继续进行(y or n)\cin>>a; if(a=='y') {

23

cout<<\请输入职工号:\cin>>w[i].num; cout<<\请输入姓名:\cin>>w[i].name;

cout<<\请输入性别(男 or 女):\cin>>w[i].sex; cout<<\请输入年龄:\cin>>w[i].age; cout<<\请输入学历:\cin>>w[i].edu; cout<<\请输入工资:\cin>>w[i].salary; cout<<\请输入地址:\cin>>w[i].address; cout<<\请输入电话:\cin>>w[i].tel; w[i].save(); cout<

}

}

f=1; system(\w[0].menu();

cout<<\请再次输入你的选择:\cin>>n; cout<

else

f=0;

exit(0);

void worker::show()//显示职工信息函数实现 {

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\

cout<ddress<<'\\t'<

void worker::modify()//职工信息修改函数实现 {

if(NUM<=0) { } else {

cout<<\职工信息如下:\

cout<<\没有职工信息存入,系统将返回主菜单\menu(); cout<

24

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i

cout<

e<<'\\t'<

}

cout<<\请输入需要修改信息职工的工号:\string num1; cin>>num1; int j=0,k; int flag=1; while(flag) { }

for(;j

cout<<\不存在此员工,请重新输入:\j=0; cin>>num1; if(num1==w[j].num) { }

flag=0; k=j; break;

25

cout<<\你选择的职工的信息为:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\

cout<

.age<<'\\t'<

cout<

cout<<\cout<<\ 1.修改工号 **\cout<<\ 2.修改姓名 **\cout<<\ 3.修改性别 **\cout<<\ 4.修改学历 **\cout<<\ 5.修改年龄 **\cout<<\ 6.修改工资 **\cout<<\ 7.修改地址 **\cout<<\ 8.修改电话 **\cout<<\ 0.返回主菜单 **\cout<<\cout<

cout<<\请选择数字编号0~8\int i3; cin>>i3; while(i3<0||i3>8) { } switch(i3) { case 1:

cout<<\请输入新的职工工号:\

cin>>w[k].num;

26

cout<<\输入有误,请重新输入:\cin>>i3;

cout<<\修改信息已保存,现返回主菜单:\menu();

break;

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;

27

cout<<\修改信息已保存,现返回主菜单:\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::showworker()//职工信息显示函数实现 {

if(NUM<=0) { } else

cout<<\没有职工信息存入,系统将返回主菜单\menu();

28

cout<<\已保存的职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i

cout<

e<<'\\t'<

void worker::search() {

cout<<\是否返回主菜单? Y/N\cin>>p; while(1) { }

if(p==\{ }

else if(p==\{ } else { }

cout<<\输入有误,请重新输入:\cin>>p;

cout<<\系统退出!!\exit(0); menu();

if(NUM<=0) {

29

}

cout<<\没有职工信息存入,系统将返回主菜单\menu();

else

cout<<\请选择查找方式:\

cout<<\cout<<\ 1.按工号查找 **\cout<<\ 2.按姓名查找 **\cout<<\ 3.按工资查找 **\cout<<\ 4.按学历查找 **\cout<<\ 0.返回主菜单 **\cout<<\cout<

cout<<\请选择数字编号0~4\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)

{

30

cout<<\输入有误,请重新输入:\cin>>i4;

for(;j

if(num2==w[j].num)

{

flag=0; k=j;

cout<<\查询的职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址

\\t电话\

cout<

.age<<'\\t'<

} }

}

}

break;

if(flag) { }

flag=0;

cout<<\不存在此职工!!\\n返回主菜单 \break;

else if(i4==2) {

string name2;

cout<<\请输入要查询的职工的姓名:\cin>>name2;

int j2=0,k2; int flag2=1;

31

while(flag2) {

for(;j2

if(name2==w[j2].name)

{

flag2=0; k2=j2;

cout<<\查询的职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址

\\t电话\

cout<

w[k2].age<<'\\t'<

}

else if(i4==3) {

int salary2;

}

} if(flag2) { }

flag2=0;

cout<<\不存在此职工!!\\n返回主菜单 \break;

}

break;

32

cout<<\请输入要查询的职工的工资:\cin>>salary2; int j3=0,k3; int flag3=1; while(flag3)

{

for(;j3

if(salary2==w[j3].salary)

{

flag3=0; k3=j3;

cout<<\查询的职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址

\\t电话\

cout<

w[k3].age<<'\\t'<

}

}

}

}

break;

if(flag3) { }

flag3=0;

cout<<\不存在此职工!!\\n返回主菜单 \break;

else if(i4==4)

33

{

string edu2;

cout<<\请输入要查询的职工的学历:\cin>>edu2;

int j4=0,k4; int flag4=1; while(flag4) {

for(;j4

if(edu2==w[j4].edu)

{

flag4=0; k4=j4;

cout<<\查询的职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址

\\t电话\

cout<

w[k4].age<<'\\t'<

}

}

}

break;

if(flag4) { }

flag4=0;

cout<<\不存在此职工!!\\n返回主菜单 \break;

34

}

}

else if(i4==0)

menu();

void worker::sort()//职工信息排序功能实现 {

if(NUM<=0) { } else

cout<<\请选择排序方式:\

cout<<\没有职工信息存入,系统将返回主菜单\menu();

cout<<\cout<<\ 1.按工号排序(升序) **\cout<<\ 2.按工号排序(降序) **\cout<<\ 3.按姓名排序(升序) **\cout<<\ 4.按姓名排序(降序) **\cout<<\ 5.按工资排序(升序) **\cout<<\ 6.按工资排序(降序) **\cout<<\ 0.返回主菜单 **\cout<<\cout<

cout<<\请选择数字编号0~6\int i5; cin>>i5; while(i5<0||i5>6) {

35

}

cout<<\输入有误,请重新输入:\cin>>i5;

if(i5==1) {

cout<

for(int i=0;i

for(int j=0;j

if(w[j].num>w[j+1].num) { }

string temp; 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电话\for(i=0;i

e<<'\\t'<

}

else if(i5==2)

{

for(int i=0;i

for(int j=0;j

if(w[j].num

string temp; temp=w[j].num; w[j].num=w[j+1].num;

36

}

w[j+1].num=temp;

cout<<\按工号降序后的信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(i=0;i

cout<

e<<'\\t'<

}

else if(i5==3)

cout<

{

for(int i=0;i

for(int j=0;j

if(w[j].name>w[j+1].name) { }

string temp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp;

cout<<\按姓名升序后的信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(i=0;i

e<<'\\t'<

}

else if(i5==4)

{

for(int i=0;i

37

for(int j=0;j

if(w[j].name

string temp; temp=w[j].name; w[j].name=w[j+1].name; w[j+1].name=temp;

cout<<\按姓名降序后的信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(i=0;i

cout<

e<<'\\t'<

}

else if(i5==5)

{

for(int i=0;i

for(int j=0;j

if(w[j].salary>w[j+1].salary) { }

int temp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp;

cout<<\按工资升序后的信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(i=0;i

38

cout<

e<<'\\t'<

}

else if(i5==6) {

cout<

for(int i=0;i

for(int j=0;j

if(w[j].salary

int temp; temp=w[j].salary; w[j].salary=w[j+1].salary; w[j+1].salary=temp;

cout<<\按工资降序后的信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(i=0;i

e<<'\\t'<

void worker::dele()//职工信息删除功能实现 {

}

else if(i5==0)

menu();

if(NUM<=0)

39

{ } else

cout<

cout<<\职工信息如下:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i

cout<<\没有职工信息存入,系统将返回主菜单\menu();

e<<'\\t'<

cout<<\请输入需要删除信息职工的工号:\

string num3; cin>>num3; int j=0,k; int flag=1; while(flag) {

for(;j

if(num3==w[j].num) { }

flag=0; k=j; break;

40

}

}

cout<<\不存在此员工,请重新输入:\j=0; cin>>num3;

cout<<\你选择的职工的信息为:\

cout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\

cout<

.age<<'\\t'<

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;

}

else if(p==\{ }

41

menu();

}

}

else { }

cout<<\输入有误,请重新输入:\cin>>p;

void worker::save() {

if(NUM<=0) { } else {

fout<

ofstream fout;

fout.open(\

cout<<\文件正在保存......请稍候!!\cout<<\数据保存成功!!!\//fout<<\已保存员工信息如下:\

//fout<<\工号\\t姓名\\t性别\\t学历\\t年龄\\t工资\\t地址\\t电话\for(int i=0;i

cout<<\没有职工信息存入,系统将返回主菜单\menu();

e<<'\\t'<

}

fout.close();

42

本文来源:https://www.bwwdw.com/article/8v9p.html

Top