C++课程设计员工管理共24页word资料Word格式文档下载.docx

上传人:b****5 文档编号:20657082 上传时间:2023-01-24 格式:DOCX 页数:21 大小:27.11KB
下载 相关 举报
C++课程设计员工管理共24页word资料Word格式文档下载.docx_第1页
第1页 / 共21页
C++课程设计员工管理共24页word资料Word格式文档下载.docx_第2页
第2页 / 共21页
C++课程设计员工管理共24页word资料Word格式文档下载.docx_第3页
第3页 / 共21页
C++课程设计员工管理共24页word资料Word格式文档下载.docx_第4页
第4页 / 共21页
C++课程设计员工管理共24页word资料Word格式文档下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C++课程设计员工管理共24页word资料Word格式文档下载.docx

《C++课程设计员工管理共24页word资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计员工管理共24页word资料Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。

C++课程设计员工管理共24页word资料Word格式文档下载.docx

姓名:

周淼学号:

1111315217

指导教师:

于长辉

学年学期:

2019~2019学年第1学期

2019年1月6日

设计任务书

课题

名称

员工管理

设计

目的

1.调研并熟悉幻方的基本功能、数据流程与工作规程;

2.学习与幻方相关的参考资料和基于VC++集成环境的编程技术;

3.通过实际编程加深对基础知识的理解,提高实践能力;

4.学习开发资料的收集与整理,学会撰写课程设计报告。

实验

环境

1.微型电子计算机(PC);

2.安装Windows2000以上操作系统,VisualC++6.0开发工具。

任务

要求

1.利用课余时间去图书馆或上网查阅课题相关资料,深入理解课题含义及设计要求,注意材料收集与整理;

2.在第16周末之前完成预设计,并请指导教师审查,通过后方可进行下一步工作;

3.本课题主要实现添加、修改、删除、读出、写入、查找、排序等。

4.结束后,及时提交设计报告(含纸质稿、电子稿),要求格式规范、内容完整、结论正确,正文字数不少于3000字(不含代码)。

工作进度计划

序号

起止日期

工作内容

1

2019.1.2~2019.1.3

在预设计的基础上,进一步查阅资料,完善设计方案,形成书面材料。

2

2019.1.3~2019.1.4

设计总体方案,构建、绘制流程框图,编写代码,上机调试。

3

2019.1.4~2019.1.5

测试程序,优化代码,增强功能,撰写设计报告。

4

2019.1.5~2019.1.6

提交软件代码、设计报告,参加答辩,根据教师反馈意见,修改、完善设计报告。

指导教师(签章):

年月日

摘要:

随着经济的快速发展,一个好的员工管理系统在企业及用人单位扮演者重要角色。

因此,本次我设计的课题是员工管理系统。

为了设计一个功能完善的的员工管理系统,我查阅图书,搜集了许多有关C++方面的资料,学会了switch语句的使用、全局对象数组(Person[100])的定义、函数调用机制的实现等诸多技能,并且将一部分课外的知识运用于我的代码,例如:

使程序运行稍作停顿(Sleep(1000))。

在具体编程时,我没有使用链表结构,而是直接定义了一批全局对象数组,把员工信息通过函数储存在定义的全局对象数组中。

也因为这样,使得编译时候错误发生的减少了很多。

然而,在初步设计好该系统后,我发现这样的系统只能储存有限数目的员工信息,无法做到员工信息储存的不限量。

但是考虑到实际应用,只要定义的全局对象数组达到200个就会足够企业使用。

关键词:

员工管理;

全局对象数组;

编程经验

1课题综述

1.1课题来源

现代社会经济发展迅速,不同类型人才在公司企业间的流动十分频繁,传统的纸质员工管理系统已不适合现阶段的实际情况。

为此,必须通过设计新的更为便捷、操作简单、不受时空限制的员工管理系统来管理员工信息。

否则既浪费时间,又不能适应经济社会发展。

1.2课题意义

设计一款新的员工管理系统,在实现系统添加、删除、查找、修改保存、排序等功能的同时,既锻炼了我实践操作能力,又增加了我对C++语言的熟悉程度,同时还初步了解了公司企业对员工的管理制度、增加了团队协作能力。

1.3预期目标

设计一个员工管理系统:

①定义一组全局对象数组;

②对部分全局对象数组进行操作;

③实现数据的输入、输出、查找、修改、删除、排序等。

1.4面对的问题

对VC环境下的系统编制程序不够熟悉,有的功能无法找到合适的代码,对部分临界数据的处理不够精确,代码的注释不能让他人完全理解。

1.5需要解决的关键技术

对部分全局对象数组进行操作,不影响其他已储存的数据。

同时,要设计相应程序实现把数据储存在系统中,即使从新打开系统也要让数据存在。

使用switch()语句实现函数的调用,最终实现系统的协调运作。

2总体方案

使用C++语言设计员工管理系统,通过函数调用方式使其能完成对员工的信息管理,对员工信息的任意添加(add())、查询(find())、删除(dele())、修改(modify())、保存(save())及排序(index())

3系统设计

3.1.1算法描述

在主界面上选择相应操作项,通过运用switch语句来判断相应指令,实现对以下功能的选择1:

add()添加员工信息2:

modify()修改员工信息3:

dele()删除员工信息4:

index()排序员工信息5:

find()查询员工信息6:

save()保存员工信息。

并用六个函数来实现各个部分的功能:

voidadd();

voidfind();

voiddele();

voidmodify();

voidsave()和voidindex()。

在执行完每一次数据操作后,通过判断程序,来判断是否返回等。

如返回,则操作同开始,否则执行其他操作。

3.1.2实现方法

共同的基类person包含如下信息:

classPerson

public:

Person(){}//构造函数

voidsetPerson(char*num1,char*name1,char*sex1,char*birth1,char*tel1,char*salary1);

//成员数据的修改函数;

friendvoidadd();

//声明为Person的友元,函数功能为:

1.员工信息输入

friendvoidmodify();

//声明为Person的友元,函数功能为:

2.员工信息修改

friendvoiddele();

3.员工信息删除

friendvoidindex();

4.员工信息排序

friendvoidfind();

5.员工信息查找

friendvoidsave();

6.员工信息保存

friendvoidread();

private:

//声明编号、姓名、出生年月、性别、联系电话、基本工资等成员变量

charnum[15];

charname[15];

charsex[5];

charbirth[15];

chartel[15];

charsalary[15];

在主函数中运用Switch(choice)选择需要的功能:

switch(choice)

case1:

add();

//1.员工信息输入

break;

case2:

modify();

//2.员工信息修改

case3:

dele();

//3.员工信息删除

case4:

index();

//4.员工信息排序

case5:

find();

//5.员工信息查找

case6:

save();

//6.员工信息保存

default:

run=0;

3.1.3详细设计

1.员工档案管理系统构建框架

◆1、添加员工信息

◆2、修改员工信息

◆3、删除员工信息

◆4、员工信息排序

◆5、查找员工信息

◆6、保存员工信息

◆7、退出管理系统

3.2员工管理系统程序模块设计

模块一:

头文件,变量定义,函数的声明

对系统所使用的变量进行定义,对函数进行声明

模块二:

员工信息的添加

voidadd()//1.添加员工信息

模块三:

员工信息修改

voidmodify()//2.员工信息修改

模块四:

员工信息删除

voiddele()//3.员工信息删除

模块五:

员工信息排序

voidindex()//4.员工信息排序

模块六:

员工信息查找

voidfind()//5.员工信息查找

模块七:

员工信息保存

voidsave()//6.员工信息保存

4代码编写

#include<

iostream>

#include<

string>

fstream>

iomanip>

windows.h>

stdlib.h>

//字符转浮点atof()

usingnamespacestd;

intNUM=0;

//计数员工的个数

intsaveCtrl=1;

//该变量用于检测数据的修改后是否保存的情况

//1.员工信息输入

//2.员工信息修改

//3.员工信息删除

//4.员工信息排序

//5.员工信息查找

//6.员工信息保存

//声明编号、姓名、出生年月、性别、联系电话、基本工资等成员变量

PersonPer[500];

//声明全局Person对象数组

voidPerson:

:

setPerson(char*num1,char*name1,char*sex1,char*birth1,char*tel1,char*salary1)

strcpy(num,num1);

strcpy(name,name1);

strcpy(sex,sex1);

strcpy(birth,birth1);

strcpy(tel,tel1);

strcpy(salary,salary1);

voidmenu()//主菜单

cout<

<

setw(45)<

"

员工管理系统"

endl;

1.员工信息添加"

2.员工信息修改"

3.员工信息删除"

4.员工信息排序"

5.员工信息查找"

6.员工信息保存"

setw(37)<

0.退出"

请选择(0~6):

;

setiosflags(ios:

left)<

请输入选择项(0~6):

voidadd()//1.添加员工信息

{charnum[15];

//编号

//姓名

//性别

//生日

//电话

//工资

charp;

//用于选择判断

system("

cls"

);

//清屏

while

(1)//控制信息添加多次的循环

cout<

输入员工信息:

编号"

姓名"

性别"

生日"

电话"

工资"

cin>

>

num;

name>

sex>

birth>

tel>

salary;

for(inti=0;

i<

NUM;

i++)//检测所添加员工的编号是否存在

if(strcmp(Per[i].num,num)==0)

cout<

该编号的已经存在"

system("

pause"

//按任意键继续……

return;

p=0;

请选择:

'

\t'

<

1.确认添加数据"

2.重新输入"

3.返回主菜单"

p;

//控制是否确认添加数据

if(p<

1'

||p>

3'

{cout<

没有这个选项!

\n'

<

请重新输入:

continue;

if(p=='

2'

)//重新输入数据

)//返回主菜单

return;

Per[NUM].setPerson(num,name,sex,birth,tel,salary);

添加数据成功!

saveCtrl=0;

NUM++;

是否返回主菜单(y/n)"

//返回主菜单

y'

||p=='

Y'

voidmodify()//2.员工信息修改

//清屏

if(NUM==0)//判断员工数是否为0,即是否存在员工记录,若无记录,则退出函数

没有任何员工记录。

即将返回主菜单"

Sleep(1000);

return;

for(inti1=0;

i1<

i1++)//列出现有的员工的详情,方便修改

Per[i1].num<

Per[i1].name<

Per[i1].sex<

Per[i1].birth<

Per[i1].tel<

Per[i1].salary<

请输入要修改的员工的编号:

cin>

intchoice;

for(inti=0;

i++)

if(strcmp(Per[i].num,num)==0)

do{

system("

//清屏

cout<

Per[i].num<

<

Per[i].name<

Per[i].sex<

Per[i].birth<

Per[i].tel<

Per[i].salary<

员工管理系统"

1.修改编号"

2.修改姓名"

3.修改性别"

4.修改生日"

5.修改电话"

6.修改工资"

7.返回主菜单"

请选择(0~7):

请选择:

cin>

choice;

if(choice<

0||choice>

7)

continue;

switch(choice)

case1:

cout<

请输入新的员工编号:

cin>

Per[i].num;

saveCtrl=0;

break;

case2:

请输入新的员工姓名:

Per[i].name;

case3:

请输入新的员工性别:

Per[i].sex;

case4:

请输入新的员工生日:

Per[i].birth;

case5:

请输入新的员工电话:

Per[i].tel;

case6:

请输入新的员工工资:

Per[i].salary;

case7:

return;

}while(choice<

7);

voiddele()//3.员工信息删除

if(NUM==0)//判断员工数是否为0,即是否存在员工记录,若无记录,则退出函数

工资"

i1++)//列出现有的员工的详情,方便删除

{if(Per[i1].num!

=NULL)

cout<

Persontemp;

请输入要删除的员工的编号"

if(strcmp(Per[i].num,num)==0)

temp=Per[i];

for(intj=i;

j<

NUM-1;

j++)

Per[j]=Per[j+1];

NUM--;

break;

删除成功!

saveCtrl=0;

system("

if(NUM==0)/

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

当前位置:首页 >

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1