您的当前位置:首页正文

公司员工管理系统设计说明书(模板)

2023-08-20 来源:易榕旅网


课程设计说明书

课 程 名 称: 面向对象程序设计 题 目: 公司员工管理系统 年级/专业/班: 学 生 姓 名: 学 号:

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

目 录

1 引 言 1.1 问题的提出 1.2任务与分析 2 程序的主要功能 2.1新增功能 2。2更改功能 2.3 删除信息

2.4查找功能 2。5显示功能 2。6全部删除功能

3 程序运行平台 4 总体设计 5 程序类的说明 6 模块分析 6.1 添加模块

6。2 显示模块 6.3 修改模块

6。4 查找模块 6.5 删除模块

6。6 清空模块 7 系统测试

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

引言

1.1 问题的提出

随着计算机的普及,网络进入大宗的家庭,不论在工作、学习还是生活中,人们越来越离不开它,社会上,计算机及使用计算机的人几乎是随处可见.人们用计算机,是因为它能反映现实世界,随着计算机越来越深入到人们的实际生活,如何把计算机科学更好的应用于实际,最大限度解决人们日常问题已经成为许多人热衷的研究方向.

1.2 任务与分析

1. 人数其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号

顺序加1。

2. 升级程序对所有人员有提升级别的功能

3. 工资计算薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领

取月薪,兼职推销员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。

4. 修改能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息 5. 在基本要求达到后,可设计出比较友好的界面(如下拉菜单),也可用VC++

ClassWizard 设计.

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

2. 程序的主要功能

1. 新增(添加新职员,计算工资) 2. 更改(更改职员信息) 3. 删除(删除职员信息)

4. 查找(显示所要寻找的职员信息) 5. 显示(显示所有职员的信息) 6. 全删(删除所有职员的信息)

3. 程序运行平台

WINDOWS XP/2000 VC++ 4. 总体设计

4.1 主要流程图

开始 选定相应操作序号 增加 修改 删除 显示 查询 显示信息 退出 输 入 数 据 保 存 到 文 件 退 出 图2-1 流程图

4.2 N-S图

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

开始 键盘输入操作序号 判断炒作序号 操作序号传入函数 按要求输入相关数据 数据保存到文件 退出 图2—2 N-S图

5. 程序类的说明

class Employee //职工类 {

int tag;//删除标记 int no;//职工编号 char name[20]; char zw[20];//职工职位 int salary;//职工工资

public:

void setzw(char q[])//设置职位

====================专业收集精品文档,您的最好选择======================

Employee(){}

char *getname() {return name;}//获取名字 int gettag() {return tag;}//获取标记 int getno() {return no;}//获取编号 int getsalary(){return salary;}//获取工资

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

{ }

void setname(char na[])//设置名字 { }

void getsalary(int sa){salary=sa;}

strcpy(name,na); strcpy(zw,q);

void delna(){tag=1;}//删除

void addemp(int n,int sa,char *na,char *q)//增加 { }

void disp()//显示职工信息 {

cout<<\"│\"<〈setw(10)<cout〈<”├-—-——┼—-———┼———-—┼———-———┤

\"<}

};

/////////////////////////////////// ///////////////////////////////////

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

class Database//职工数据类 { public:

//////////////////////////////////////////////////////////

int addemp (int n, int sa,char *na,char*q) //增加职工 {

====================专业收集精品文档,您的最好选择======================

int top;

Employee read[Maxr];

Database()//将职工信息从employee。txt读取到read[]中 { }

void clear()//删除所有 {

top=—1; renshu=0; Employee s; top=-1;

fstream file(”employee。txt\:in); while (1) {

file.read((char *)&s,sizeof(s)); if (!file) break; top++; read[top]=s;

file.close();

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

}

Employee *p=query(n); if (p==NULL) {

top++;

read[top]。addemp(n,sa,na,q); return 1;

} return 0;

//////////////////////////////////////////////////////

Employee *query(int empid) {

for (int i=0;i〈=top;i++)

if (read[i]。getno()==empid && read[i].gettag()==0)

return &read[i];

return NULL;

///////////////////////////////////////////////// Employee *query1(char empna[20]) {

for (int i=0;i〈=top;i++)

if ((read[i].getname()==empna) && read[i].gettag()==0)

return &read[i];

return NULL;

///////////////////////////////////////////// void disp() //职工信息显示 {

for (int i=0;i<=top;i++)

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

}

read[i]。disp();

////////////////////////////////////////////////// void empdata();

~Database() //将read[]中的信息读如到employee。txt中 { }

fstream file(”employee。txt\:out); for (int i=0;i〈=top;i++)

if (read[i].gettag()==0)

file.write((char *)&read[i],sizeof(read[i]));

file.close();

};

6. 模块分析

6。1添加:

void Database::empdata()//职工维护 {

int choice=1; int m=1;int b=1; char rname[20];

int empid; int empsa;char q[20]; Employee *r; while (choice!=0) {

cout<〈”职工维护 1:新增 2:更改 3:删除 4:查找 5:显示 6:全删

0:退出=〉\";

cin〉>choice; switch (choice)

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

{ case 1:

cout<〈setw(50)<〈” ┌——-—————-————-—┐\\n\"; cout<〈setw(50)〈<” │ 请选择您所需的操作 │\\n\"; cout〈switch(m) { case 1:

cout〈〈”输入经理编号:\"; cin>>empid;

cout〈<”输入经理姓名:\"; cin〉〉rname;

addemp(empid,8000,rname,\"经理”); renshu++; break;

case 2:

cout<〈”输入销售经理编号:\"; cin〉>empid;

cout〈〈”输入月提成: \"; cin〉>empsa;

cout〈<\"输入销售经理姓名:”;

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

cin>〉rname;

addemp(empid,4000+empsa,rname,\"销售经理\"); renshu++; break;

case 3:

cout〈<\"输入兼职推销员编号:\"; cin>〉empid;

cout〈〈”输入销售额提成: \"; cin〉〉empsa;

cout<<\"输入兼职推销员姓名:\"; cin〉>rname;

addemp(empid,empsa,rname,\"兼职推销员\"); renshu++; break;

case 4: } break;

cout〈〈\"输入兼职技术人员编号:\"; cin〉〉empid;

cout<〈\"输入工作小时: ”; cin〉〉empsa;

cout〈〈\"输入兼职技术人员姓名:”; cin〉>rname;

addemp(empid,20*empsa,rname,\"兼职技术人员\"); renshu++; break;

break;

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

6.2更改:

case 2:

cout〈〈\"输入职工编号:\"; cin〉>empid; r=query(empid); if (r==NULL) {

cout<〈”该职工不存在\"<

cout〈<”输入新的工资:\"<〈endl; cin〉>empsa;

r-〉getsalary(empsa);

cout<<\"请输入新的及级别”<〈endl; cin〉>q; r->setzw(q);

addemp(empid,empsa,rname,q); break;

6。3删除:

====================专业收集精品文档,您的最好选择======================

case 3:

cout〈<”输入职工编号:\"; cin〉>empid; r=query(empid); if (r==NULL) {

cout<<\"该读者不存在\"〈专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

r-〉delna(); break;

6。4查找:

case 4:

cout<〈setw(50)〈<” ┌————-—-———-—-┐\\n\"; cout〈〈setw(50)〈<” │ 请选择您所需的操作 │\\n”; cout〈switch(b) { case 1:

cout<〈\"输入职工编号:”; cin>>empid; r=query(empid); if (r==NULL) { }

cout〈<\"├—-———┼———-—┼—————┼--——-cout<〈\"该职工不存在\"<〈endl; break;

——┤”〈cout〈<\"│”<〈setw(10)〈〈”编号\"<<”│\"〈〈setw(10)

〈<\"姓名\"〈<\"│\"<〈setw(10)<〈”工资\"〈〈”│\"<====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

│”〈〈endl;

cout〈<”├—-———┼————-┼————-┼—-——

———┤\"<〈endl;

} break;

r->disp(); break;

case 2: } break;

break;

6.5显示:

case 5:

cout〈〈\"├————-┼-————┼—-—-—┼———————

┤\"<cout〈<\"│”<〈setw(10)<〈\"编号”〈<”│”<姓名”〈〈\"│”<〈setw(10)<〈”工资\"〈〈\"│”<cout〈<\"├———--┼——--—┼—-—-—┼———-—-—┤

\"<disp();

6.6全部删除:

} }

/////////////////////////////////////////////////////////////

====================专业收集精品文档,您的最好选择======================

case 6:

clear(); break;

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

void main() {

int choice=1;Database EmpDB; while(choice!=0) {

cout〈〈\"***************************************

*****************************************\"<cout<〈endl; cout<cout<〈setw(20)〈〈”******************************

欢迎使用职工管理系统******************************”〈cout〈〈endl; cout<〈endl;

cout<choice; switch(choice) { case 1:

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

}

}

while(1) { }

cout〈〈setw(20); EmpDB.empdata(); break; break;

7. 系统测试

开始

选择“1\",进行操作: ,出现职工维护:

选择任务1新增,并且添加一个经理职务:

====================专业收集精品文档,您的最好选择======================

专业收集整理精品文档

!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!

==================================================================

我们先选择4查询任务,并按编号查询:

选择5显示任务:

选择3删除任务,并按编号删除:

====================专业收集精品文档,您的最好选择======================

因篇幅问题不能全部显示,请点此查看更多更全内容