C++职工管理系统设计Word格式.docx

上传人:b****1 文档编号:4324876 上传时间:2023-05-03 格式:DOCX 页数:33 大小:104.11KB
下载 相关 举报
C++职工管理系统设计Word格式.docx_第1页
第1页 / 共33页
C++职工管理系统设计Word格式.docx_第2页
第2页 / 共33页
C++职工管理系统设计Word格式.docx_第3页
第3页 / 共33页
C++职工管理系统设计Word格式.docx_第4页
第4页 / 共33页
C++职工管理系统设计Word格式.docx_第5页
第5页 / 共33页
C++职工管理系统设计Word格式.docx_第6页
第6页 / 共33页
C++职工管理系统设计Word格式.docx_第7页
第7页 / 共33页
C++职工管理系统设计Word格式.docx_第8页
第8页 / 共33页
C++职工管理系统设计Word格式.docx_第9页
第9页 / 共33页
C++职工管理系统设计Word格式.docx_第10页
第10页 / 共33页
C++职工管理系统设计Word格式.docx_第11页
第11页 / 共33页
C++职工管理系统设计Word格式.docx_第12页
第12页 / 共33页
C++职工管理系统设计Word格式.docx_第13页
第13页 / 共33页
C++职工管理系统设计Word格式.docx_第14页
第14页 / 共33页
C++职工管理系统设计Word格式.docx_第15页
第15页 / 共33页
C++职工管理系统设计Word格式.docx_第16页
第16页 / 共33页
C++职工管理系统设计Word格式.docx_第17页
第17页 / 共33页
C++职工管理系统设计Word格式.docx_第18页
第18页 / 共33页
C++职工管理系统设计Word格式.docx_第19页
第19页 / 共33页
C++职工管理系统设计Word格式.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++职工管理系统设计Word格式.docx

《C++职工管理系统设计Word格式.docx》由会员分享,可在线阅读,更多相关《C++职工管理系统设计Word格式.docx(33页珍藏版)》请在冰点文库上搜索。

C++职工管理系统设计Word格式.docx

voidRefreshInfo();

//修改员工信息函数 

voidDeleteInfonum(intcNum);

//按编号删除员工数据函数

voidDeleteInfodegree(intdegree);

//按学历删除员工数据函数

voidDeleteInfoname(stringname);

//按姓名删除员工数据函数

voidDeleteInfoall();

//删除所有员工信息函数

voidDeleteInfo();

//删除员工信息函数

staticintMaxNum();

//返回系统已存储人数函数

文件操作类:

主要用于对员工信息处理过程中对文件读入、写出等操作。

主要包括以下两种处理函数:

voidWriteIn(intiflag);

//数据写入操作函数

voidReadOut();

//数据读出操作函数

voidRefreshMaxNum(intiflag);

//更新系统中员工计数文件函数

对于员工信息的保存,由写入函数writein(intiflag)写入文Employee.txt中,并将员工总人数写入文件EmployeeMaxNum.txt中。

当需要读出时,由读出函数readout();

读出,注意读出时保存顺序与写入时的数据保存顺序要一致。

然后对类的成员函数进行具体定义。

(2)新增员工数据功能的设计

由员工信息管理类成员函数[voidEmployee:

:

NewInfo();

]完成。

首先读取文件中的员工信息,根据已有信息设置编号,编号的设置方法为:

若无保存数据,则第一个的编号设为1001,否则根据最后一个员工的编号加一,以达到编号递增排序。

然后进行数据输入,结束后由写入函数将数据写入到文件,提示新增成功。

(3)查询员工数据功能的设计

查询功能设计了四种查询方法:

输出所有[showall()]、按学历输出[showdegree(intdegree)]、按年龄段输出[showage(intmin,max)]以及按编号输出[shownum(intnumber)]。

前三种方法都是基于按编号输出来实现,即需要调用按编号输出函数shownum(intnumber);

按编号输出函数,根据参数形参number遍历已有数据(条件:

Enum[i]==number),找到该编号则输出其信息,否则提示未找到相关信息。

另外三种查询方式都是先根据输入的数据查找相应的编号,然后将该编号传递给[shownum()]函数进行显示输出。

设计一个输出信息函数[showinfo()]进行设计一个选择菜单,根据选择不同的操作调用相应的函数执行。

(4)修改员工数据功能的设计

由员工信息管理类成员函数[Employee:

RefreshInfo()]完成。

要求输入编号进行修改。

首先读取文件保存的员工信息,然后要求输入要修改的员工编号,如果找到该编号信息,则输出信息,并提示是否修改,选择是则进行修改,然后保存信息提示修改成功。

否则提示未找到返回主菜单。

(5)删除员工数据功能的设计

删除功能设计了四种删除方法:

按编号删除[Employee:

DeleteInfonum(intcNum)]

按学历删除[Employee:

DeleteInfodegree(intdegree)]

按姓名删除[Employee:

DeleteInfoname(stringname)]

删除所有[Employee:

DeleteInfoall()]

删除方法基本相似,先读取文件保存的内容,然后根据传递给函数的形参进行查找相关信息,找到则输出信息并提示是否删除,选择是则删除操作并提示删除成功;

未找到则提示未找到相关信息;

但每个函数的设计还是有很多区别的。

设计了一个删除函数[Employee:

DeleteInfo()],进行设计一个选择菜单,根据选择不同的删除方法调用相应的函数执行。

(6)主程序的设计:

主程序开始,设计一个选择菜单,根据选择进行调用信息管理类的不同的成员函数实现相应的操作。

3、系统模块划分:

(1)本程序共分为以下几个主要模块:

新建员工数据

查询员工数据

修改员工数据

删除员工数据

(2)员工信息的主要内容如下表:

员工信息表

列名

数据类型

姓名

string

编号

Int

性别

char

年龄

出生年月

工作年月

学历

职位

住址

String

电话

三.数据结构与算法描述:

1程序的数据结构

(1)定义全局变量与函数

constN=50;

//定义系统可录入的员工最大数值

stringEname[N];

//姓名

longEnum[N];

//人数

charEsex[N];

//性别

intEage[N];

//年龄

stringEborndate[N];

//出生年月

stringEworkdate[N];

//工作年月

intEdegree[N];

//学历

intEposition[N];

//职位

stringEaddress[N];

//住址

stringEphone[N];

//电话

intshuzi(intsz);

//数字判断函数也可用voidshuzi(int&

sz);

方式

(2)定义员工管理类:

用于程序运行中对员工信息进行各种操作:

classEmployee{

public:

stringEmployeename;

//姓名

longEmployeenum;

charEmployeesex;

intEmployeeage;

//年龄

stringEmployeeborndate;

stringEmployeeworkdate;

intEmployeedegree;

//学历

intEmployeeposition;

stringEmployeeaddress;

stringEmployeephone;

staticlongEmployeeMaxNum;

//静态变量,主要用于对编号的处理

voidNewInfo();

};

(3)定义文件操作类:

主要用于程序运行中对员工信息进行文件读入、写出等操作

classDBOperate{

stringEmployeephone;

staticlongEmployeeMaxNum;

voidReadOut();

voidRefreshMaxNum(intiflag);

(4)所有函数定义:

对定义的函数进行具体定义实现

(5)主函数的定义:

intmain(){

system("

color06f"

);

//设置当前窗口的背景色和前景色

char*select;

select=newchar;

while(*select!

='

5'

){

do{

cout<

<

"

\t===================主菜单===================="

endl;

\t 

请选择功能"

\t---------------------------------------------"

1.新建并输入职工数据"

2.按条件输出职工数据"

3.修改指定职工的数据"

4.删除数据"

5.退出"

\t============================================="

请选择您要服务的类别:

"

;

cin>

>

select;

\n============================================\n"

;

Employeee;

DBOperatedbo;

switch(*select){

case'

1'

e.NewInfo();

break;

2'

dbo.ReadOut();

e.ShowInfo();

3'

e.RefreshInfo();

4'

e.DeleteInfo();

sign();

break;

default:

输入错误,请重新输入!

}

cout<

endl<

}while(*select<

'

||*select>

exit

(1);

return0;

}

四.测试结果与分析:

测试结果示例:

主菜单显示:

新员工添加:

输出员工数据:

输出员工信息:

修改员工信息:

(1)程序开始,显示主菜单:

(2)新建员工数据

选择1,新建员工数据;

(3)查询员工数据

添加完后返回主菜单,选择2,按条件输出职工信息,实现的是查询功能:

可以选择4种查询输出方式:

a.输出全体职工信息,输出一个暂停一下,回车后继续,直至全部输出;

b.选择按职工学历输出,则要求选择学历,然后输出所有同学历的职工信息,同样输出一位暂停一下直至全部输出后返回主菜单;

c.选择按年龄段输出,则输出所有在这个年龄段范围内的职工信息;

d.选择按职工编号输出,则输出所输入编号职工的信息,如果编号输入错误则提示未找到相关信息。

(4)修改员工数据

选择3,则修改指定编号员工的信息,如果输入编号不存在则提示未找到相关信息,如找到,则先显示该信息,提示是否修改。

(5)删除员工数据

选择4,则对员工信息进行删除操作,共有四种删除方式供选择:

a.选择1按编号删除,要求输入要删除的编号,如果输入编号不存在则提示未找到相关信息,否则显示该编号员工的信息,并提示是否删除;

选择Y,则进行删除并提示删除成功,否则返回主菜单。

b.选择2按学历进行删除,则先要求选择要删除的学历,如果找到相关信息,然后显示该学历的所有员工信息,并提示是否删除;

否则返回主程序。

c.选择3按姓名进行删除,则输入姓名后进行查找,如找到则显示信息,进行逐条提示删除,直至所有该姓名的员工均查找出来;

否则提示未找到相关信息,并返回主菜单。

输入错误提示未找到;

d.选择4全部删除,则提示是否删除。

(6)结束界面:

选择5,程序结束,显示程序结束的签名界面然后退出。

五.心得体会

C++是一种具有语句简洁,使用灵活,执行效率高等特点的一门语言,学起来确实有很大的困难,但通过这次课程设计的实训,使我对上学期所学的C++语言的理论知识得到巩固,增加了我学习软件技术的兴趣,同时也明白了实际动手操作的重要性。

虽然现在还不明确软件技术包含的具体内容,但从C++语言这门课程开始,我已发现程序设计的乐趣,在做这次课设的过程中也学到了许多计算机的应用基础知识,对计算机的机体也有了一个大体的了解。

在实际操作过程中经常会犯一些错误,而且这些错误或疏忽很难被发现,但通过同学的帮助,自己的努力,终于圆满的完成了这次课设,收获很大,感觉实际动手操作起来很有意思,在具体操作中对这学期所学的C++语言的理论知识得到巩固,达到做课设的基本目的,也发现了很多自己的不足之处,在以后的操作中我会更加注意。

通过实际操作,我学会C++语言程序编程的基本步骤、基本方法,开发了自己的逻辑思维能力,培养了分析问题、解决问题的能力,深刻的体会到“团结就是力量”,“实践是检验真理的标准”的寓意。

在此感谢老师和同学的帮助,同时也希望以后能多进行这样的实训,加长时间,培养我们独立思考问题的能力,提高实际操作水平。

六.参考文献:

(1).刘璟等.《高级语言c++程序设计》.北京:

高等教育出版社,2006.03.

(2).严蔚敏等.《数据结构(C语言版)》.北京:

清华大学出版社,2007.04.

七.参考程序:

对单位的职工进行管理,包括插入、删除、查找、排序等功能。

基本要求:

职工对象包括姓名、性别、出生年月、工作年月的方法。

在此基础上实现增、删、查询、修改等操作。

#include<

iostream>

string>

fstream>

usingnamespacestd;

//出生年月

//工作年月

//数字判断函数 

也可使用voidshuzi(int&

方式

//员工管理类

intEmployeeposition;

//全体员工输出函数

//修改员工信息函数 

voidDeleteInfodegree(intdegree);

voidDeleteInfoname(stringname);

//文件操作类

//数据写入操作函数

//数据读出操作函数

//==============类Employee成员函数定义================

longEmployee:

EmployeeMaxNum=1000;

//员工编号基数从10001开始

//===返回系统已存储人数函数===

intEmployee:

MaxNum(){

intmn=0;

ifstreamEMN;

EMN.open("

EmployeeMaxNum.txt"

EMN>

mn;

// 

mn<

EMN.close();

returnmn;

//===添加新成员函数===

voidEmployee:

NewInfo(){

DBOperatedbo;

dbo.ReadOut();

//读取存储文件

新员工姓名:

cin>

Employee:

Employeename;

if(Employee:

MaxNum()==0)

Employeenum=EmployeeMaxNum+Employee:

MaxNum()+1;

//员工编号依次递增

elseEmployee:

Employeenum=dbo.Employeenum+1;

//编号为最后一个员工编号加一递增

do{

新员工性别:

[F为女性,M为男性]:

char*tmp00=newchar;

tmp00;

//输入存为字符串,然后取其首首字符进行判断,处理输入多个字符出错问题

Employeesex=*tmp00;

Employeesex!

f'

&

&

Employee:

F'

m'

M'

输入错误,请重新输入!

en

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2