C++课程设计员工管理共24页word资料Word格式文档下载.docx
- 文档编号:20657082
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:21
- 大小:27.11KB
C++课程设计员工管理共24页word资料Word格式文档下载.docx
《C++课程设计员工管理共24页word资料Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++课程设计员工管理共24页word资料Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
姓名:
周淼学号:
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)/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 员工 管理 24 word 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)