C++课程设计 员工管理.docx

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

C++课程设计 员工管理.docx

《C++课程设计 员工管理.docx》由会员分享,可在线阅读,更多相关《C++课程设计 员工管理.docx(24页珍藏版)》请在冰豆网上搜索。

C++课程设计 员工管理.docx

C++课程设计员工管理

淮阴工学院

C++程序设计课程设计报告

选题名称:

员工管理

系(院):

计算机工程学院

专业:

软件工程

班级:

软件1111

姓名:

周淼学号:

1111315217

指导教师:

于长辉

学年学期:

2011~2012学年第1学期

2012年1月6日

设计任务书

课题

名称

员工管理

设计

目的

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

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

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

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

实验

环境

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

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

任务

要求

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

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

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

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

工作进度计划

序号

起止日期

工作内容

1

2012.1.2~2012.1.3

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

2

2012.1.3~2012.1.4

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

3

2012.1.4~2012.1.5

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

4

2012.1.5~2012.1.6

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

指导教师(签章):

年月日

摘要:

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

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

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

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

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

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

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

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

关键词:

员工管理;全局对象数组;编程经验

目录

1课题综述-5-

1.1课题来源-5-

1.2课题意义-5-

1.3预期目标-5-

1.4面对的问题-5-

1.5需要解决的关键技术-5-

2总体方案-5-

3系统设计-5-

3.1.1算法描述-6-

3.1.2实现方法-6-

3.1.3详细设计-7-

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

4代码编写-8-

5程序调试-21-

6问题与解决办法-22-

总结-23-

致谢-24-

参考文献-25-

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();//声明为Person的友元,函数功能为:

3.员工信息删除

friendvoidindex();//声明为Person的友元,函数功能为:

4.员工信息排序

friendvoidfind();//声明为Person的友元,函数功能为:

5.员工信息查找

friendvoidsave();//声明为Person的友元,函数功能为:

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.员工信息修改

break;

case3:

dele();//3.员工信息删除

break;

case4:

index();//4.员工信息排序

break;

case5:

find();//5.员工信息查找

break;

case6:

save();//6.员工信息保存

break;

default:

run=0;

break;

}

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

#include

#include

#include

#include

#include//字符转浮点atof()

usingnamespacestd;

intNUM=0;//计数员工的个数

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

classPerson

{

public:

Person(){}//构造函数

voidsetPerson(char*num1,char*name1,char*sex1,char*birth1,char*tel1,char*salary1);//成员数据的修改函数;

friendvoidadd();//1.员工信息输入

friendvoidmodify();//2.员工信息修改

friendvoiddele();//3.员工信息删除

friendvoidindex();//4.员工信息排序

friendvoidfind();//5.员工信息查找

friendvoidsave();//6.员工信息保存

private:

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

charnum[15];

charname[15];

charsex[5];

charbirth[15];

chartel[15];

charsalary[15];

};

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<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<<"请选择(0~6):

";

cout<

:

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

"<

}

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

{charnum[15];//编号

charname[15];//姓名

charsex[5];//性别

charbirth[15];//生日

chartel[15];//电话

charsalary[15];//工资

charp;//用于选择判断

system("cls");//清屏

while

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

{

cout<<"输入员工信息:

"<

cout<<"编号"<<"姓名"<<"性别"<<"生日"<<"电话"<<"工资"<

cin>>num;

cin>>name>>sex>>birth>>tel>>salary;

for(inti=0;i

{

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

{

cout<<"该编号的已经存在"<

system("pause");//按任意键继续……

return;

}

}

p=0;

cout<<"请选择:

"<<'\t'

<<"1.确认添加数据"<<'\t'

<<"2.重新输入"<<'\t'

<<"3.返回主菜单"<

cin>>p;//控制是否确认添加数据

if(p<'1'||p>'3')

{cout<<"没有这个选项!

"<<'\n'

<<"请重新输入:

"<

continue;

}

if(p=='2')//重新输入数据

{

continue;

}

if(p=='3')//返回主菜单

{

return;

}

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

cout<<"添加数据成功!

"<

saveCtrl=0;

NUM++;

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

cin>>p;//返回主菜单

if(p=='y'||p=='Y')

{

return;

}

}

}

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

{

system("cls");//清屏

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

{

cout<<"没有任何员工记录。

"

<<"即将返回主菜单";

Sleep(1000);

return;

}

charnum[15];

cout<<"编号"<<"姓名"<<"性别"<<"生日"<<"电话"<<"工资"<

for(inti1=0;i1

{

cout<

<

<

<

<

<

}

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

";

cin>>num;

intchoice;

for(inti=0;i

{

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

{

do{

system("cls");//清屏

cout<<"编号"<<"姓名"<<"性别"<<"生日"<<"电话"<<"工资"<

cout<

<

<

<

<

<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<<"请选择(0~7):

";

cout<<"请选择:

";

cin>>choice;

if(choice<0||choice>7)

continue;

switch(choice)

{

case1:

cout<<"请输入新的员工编号:

";

cin>>Per[i].num;

saveCtrl=0;

break;

case2:

cout<<"请输入新的员工姓名:

";

cin>>Per[i].name;

saveCtrl=0;

break;

case3:

cout<<"请输入新的员工性别:

";

cin>>Per[i].sex;

saveCtrl=0;

break;

case4:

cout<<"请输入新的员工生日:

";

cin>>Per[i].birth;

saveCtrl=0;

break;

case5:

cout<<"请输入新的员工电话:

";

cin>>Per[i].tel;

saveCtrl=0;

break;

case6:

cout<<"请输入新的员工工资:

";

cin>>Per[i].salary;

saveCtrl=0;

break;

case7:

return;

}

}while(choice<7);

}

}

}

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

{

system("cls");//清屏

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

{

cout<<"没有任何员工记录。

"

<<"即将返回主菜单"<

Sleep(1000);

return;

}

cout<<"编号"<<"姓名"<<"性别"<<"生日"<<"电话"<<"工资"<

for(inti1=0;i1

{if(Per[i1].num!

=NULL)

cout<

<

<

<

<

<

}

charnum[15];

Persontemp;

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

cin>>num;

for(inti=0;i

{

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

{

temp=Per[i];

for(intj=i;j

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

NUM--;

break;

}

}

cout<<"删除成功!

"<

system("pause");//按任意键继续……

saveCtrl=0;

}

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

{

system("cls");//清屏

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

{

cout<<"没有任何员工记录。

"<

cout<<"即将返回主菜单"<

Sleep(1000);

return;

}

Persont;

intk=0;

intchoice;

cout<<"请选择:

"<<'\t'

<<"1.按编号排序"<<'\t'

<<"2.按工资排序"<

cin>>choice;

if(choice==1)

{for(inti=0;i

{k=i;

for(intj=i+1;j

if(atof(Per[k].num)>atof(Per[j].num))

k=j;

t=Per[k];

Per[k]=Per[i];

Per[i]=t;

}

cout<<"按员工的编号排序结果"<

}

elseif(choice==2)

{

for(inti1=0;i1

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

当前位置:首页 > 医药卫生

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

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