c公司人员标准管理系统_第1页
c公司人员标准管理系统_第2页
c公司人员标准管理系统_第3页
c公司人员标准管理系统_第4页
c公司人员标准管理系统_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++面向对象程序设计

课程设计报告

课程名称C++面向对象程序设计

课题名称企业人员信息管理系统

专业_________________________________

班级______________________________

学号______________________________

姓名______________________________

指导老师____________________________

12月25日

(一)、课程设计题目

企业人员信息管理系统

(二)、目标和要求:

1、目标:

(I)要求学生达成熟练掌握C++语言基础知识和技能;

(2)基础掌握面向对象程序设计基础思绪和方法;

(3)能够利用所学基础知识和技能,处理简单面向对象程序设计问题。

2、基础要求:

(1)要求利用面向对象方法和C++编程思想来完成系统设计;

(2)要求在设计过程中,建立清楚类层次;

(3)在系统中最少要定义四个类,每个类中要有各自属性和方法;

(4)在系统设计中,最少要用到面向对象一个机制。

3、创新要求:

在基础要求达成后,可进行创新设计,如依据查找结果进行修改功效。

(三)、设计方法和基础原理:

L功效要求

(1)添加功效

程序能够任意添加上述四类人员统计,可提供选择界面供用户选择所

要添加人员类别,要求人员编号要唯一,假如添加了反复编号统计时,则提醒用户数据

添加反复并取消添加。

(2)查询功效

可依据编号、姓名等信息对已添加统计进行查询。假如未找到,给出对应提醒信息,

假如找到,则显示对应统计信息。

(3)显示功效

可显示目前系统中全部统计。

(4)修改功效

可依据查询结果对对应统计进行修改,修改时注意编号唯一性。

(5)删除功效

对已添加人员统计进行删除。假如目前系统中没有对应人员统计,则提醒“统计为

空!”并返回操作;不然输入要删除人员编号或姓名,依据所输入信息删除该人员统计,

假如没有找到该人员信息,则提醒对应统计不存在。

(6)统计功效

能依据多个参数进行人员统计。比如:统计四类人员数量和总数,统计男、女职员

数量,统计平均工资、最高工资、最低工资等。

(7)保留功效

将目前系统中各类人员统计存入文件中。

(8)读取功效

将保留在文件中人员信息读入到目前系统中,以供用户使用。

在完成以上基础功效基础上,可自行进行扩展或完善。

1.系统需求分析错误!未定义书签。

2.总体设计....错误!未定义书签。

3.具体设计及实现错误!未定义书签。

4.系统调试....错误未定义书签。

5.结论........错误未定义书签。

6.心得体会....错误未定义书签。

7.参考书目....错误未定义书签。

1.系统需求分析

L1系统设计目标和意义:

现在企业越做越大,企业人员数量越来越多,所以需要一个企业人员管理系统来

对企业人员进行管理。

1.2系统功效需求:

本系统有五个类:Stuff类、Manager类、Salesman类、SalesManager类、Technicisl

类,存放基础信息、经理信息、销售人员信息、销售经理信息及技术人员信息。

1.基础信息添加功效

程序能够任意添加经理信息、销售信息、销售经理信息和技术人员信息。

2.修改功效

对已添加统计(经理信息、销售信息、销售经理信息和技术人员信息)进行修改。

3.删除功效

对已添加统计(经理信息、销售信息、销售经理信息和技术人员信息)进行删除。

假如目前系统中没有对应统计,则提醒“统计为空!”并返回操作;不然输入要删

除编号对该统计进行删除,假如没有找到,则提醒对应统计不存在。

4.查询功效

①可依据职位编号查询某职位全部职员信息。

②可依据职员编号查询某职员全部信息。

假如未找到,给出对应提醒信息,假如找到,则显示对应统计信息。

5.保留功效

将目前系统中各类统计存入文件中。

6.读取功效

将保留在文件中信息读入到目前系统中,以供用户使用。

2.总体设计

2.1系统功效分析:

系统经过调用函数来实现信息录入、信息修改、信息删除、信息查询和数据保留文

件等功效。add()函数用于录入信息;modify()函数用来修改信息;del()函数用

来修改信息;look()函数用来搜索职员信息;read()函数用于将文件中数据读取到

内存中;save()函数用于将内存中信息存入文件内;count用于统计职员总数;show

()显示职员信息;主函数main()用于调用这些函数。

2.2系统功效模块划分和设计:

系统定义/Stuff类、Manager类、Salesman类、SalseManager类这五个类,定义

了add()^modify()、del()、read()、save()、look()、count。、show()、等

函数来实现系统所需功效。

2.3系统功效模块图:

企业人员信息管理系

2.4类设计

(1)Stuff类(抽象类)设计:

Stuff

virtualvoidread()=0;

virtualvoidadd()=0;

virtualvoidmodify(int)=0;

virtualvoiddel(int)=0;

•1T,1八c

(2)经理类设计:

Manager

floatpay;

voidread();

voidadd();

voidlook();

voidshow();

voidmodify(int);

(3)销售人员类设计:

-n1aamnn

floatmarket;

floatrate;

voidread();

voidadd();

voidlook();

voidshow();

uciAm/^rliFuf-int•

(4)销售经理类设计:

(5)技术人员类设计:

3.具体设计及实现

3.1Stuff类(抽象类)实现

classStuff

{public:

virtualvoidread()=0;

virtualvoidadd()=0;

virtualvoidlook()=0;

virtualvoidshow()=0;

virtualvoidtnodify(int)=0;

virtualvoiddel(int)=0;

virtualvoidcount()=0;

virtualvoidsave()=O;

virtualvoidInput()=0:

virtualvoidOulpul()=0;

intnumber;

charname[100];

charsex[10];

chardepartment[10];

charrank[10];

floatmonpay;};

3.2经理类实现

#includeHStuff.hn

classManager:publicStuff

{public:

voidread();

voidadd();

voidlook。;

voidshow();

voidniodify(int);

voiddcl(int);

voidcount();

voidsavc();

voidlnput()

{cout<<”请输入经理编号:\n”;

cin»number;

coutvv"姓名:\n”;

cin»name;

coutvv”性别:\n";

cin»sex;

coutvv”所在部门:\n";

cin»departmenl;

coutvv"等级:\n";

cin»rank;

coutvv"固定工资:H';

cm»pay;

monpay=pay;}

voidOutputO

{cout«setw(l0)«"经理信息"«setw(l0)«"编号"«setw(l0)«"姓名"«setw(10)«"性别

“vvsetw(10)«”所在部门”《setw(10)«"等级"vvsetw(10)«"月薪"vvendl;

cout«sctw(10)«"经理信息、

"«setw(10)«number«setw(IO)«nanie«setw(10)«sex«setw(10)«department«setw(10)«rank«

setw(IO)«monpay«endl;}

protected:

floatpay;};

Maiiager.cpp

voidManager::read()

(fstreammanagerfile(u经理信息管理.dac",ios::in|ios::out);

managerfile»ni1fcount_Manager].number»m1[count_Managei].name»m1fcount_Manager].sex»mI[

count_Manager].dcpartmcnt»m1|count_Manager].rank»mI[count_Manager].monpay;

whilc(!managcrfilc.cofO)

{managcrfilc»m1lcounl_Managcr].numbcr»m1[count_ManagcrJ.namc»m1[count_Managcrj.scx>

>in1[count_Managerj.department»mIlcount_Manager].rank»mI[count_Manager].nionpay;

coun(_Manager++;}

managerfile.closeO;}

voidManager::add()

(

mI[coun(_Manager].nurr.ber=number;

strcpy(mI[count_Manager].name,name);

strcpy(m1(count_Managerl.sex,sex);

strcpy(m1[count_Manager].department.department);

strcpy(m1[count_Manager].rank,rank);

m1[count_Manager].monpay=monpay;

ml[count_Manager].number=number;

count_Managcr++;

}

voidManager::look()

(

if(count_Manager==0)

{

cout<<”对不起,没有相关统计!"<<cndl;

return;

)

intchoice;

cout<<”请选择查找方法:1、编号查找2、姓名查找"«endl;

cin»choice;

while(choice!=I&&choice!=2)

{coutvv”请输入正确选择:”;cin»choice;}

swilch(choice)

(

case1:

eszv”请输入要查找经理编号:";

intnumber;

cin»number;

fbr(inti=0;i<count_Manager:i++)

{if(ml[i].number==number)

(

ml[i].Output();

return;

)

)

cout«"没有相关人员!”<<endl;

break;

)

case2:

{

cout<〈”请输入要查找经理姓名:“;

charname[100];

cin»name;

fbr(inli=0;i<count_Manager;i++)

{

if(strcmp(ni1[i].name,name)==0)

(

ml|i].Output();

iClUIll;

cout«"没有相关人员V«end1:

break;

)

dcfault:cout<<"无此选项,请重试!"<<endl;break;

)

)

voidManager::show()

(

for(inti=0;i<=coun(_Manager-1;i++)

ml[i].Oulput();

}

voidManager::inodify(iinindex)

(

m1[index-1l.number=number;

strcpy(m1[index-1].name,name);

strcpy(ml[index-l].sex,sex);

strcpy(m1[index-1].department.departmen();

strcpy(m1[index-1].rank,rank);

m1[index-1].monpay=monpay;

vuidMaiiagci;;dc!(iiilindex)

for(inti=index:i<=count_Manager-1;i++)

inl[i-l].numbcr=ml[i].number;

strcpy(m1[i-1].namc,m1[i].namc);

strcpy(ml[i-l].sex,ml[i].sex);

strcpy(m11i-1].department,in11i].department);

strcpy(ml[i-l].rank,m1[ij.rank);

ml[i-1].monpay=ml(i].monpay;

)

count_Manager—;

)

voidManager::count()

(

intsum=0;

intmale=0,female=0;

for(inti=0;i<counl_Mantger;i++)

{

if(!strcmp(m1[i].sex,""))

male++;

if(!strcmp(ml[i].sex»"女"))

female++;

SUI11++;

)

coutvv"总人数是:"«sum«endl;

coutvv”男人数是:"«male«endl;

cout<<"女人数是:"«female«endl;

voidManager::save()

|

ofstrcammanagcrfile;

managerfile.open("经理信息管理.dat");

fbr(inti=0;i<=count_Manager-1;i++)

nianagerfile«m1[i].number«""«m1|i].name«""«mI[i].sex«""«m1li].department«"

"«ml[i].rank«",,«inl[il,monpay«endl;

managerfile.close();

I

3.3销售人员类实现

#includeHStuff.hn

classSalesman:publicStuff

(

public:

voidread();

voidadd();

voidlook。;

voidshow。;

voidmodify(int);

voiddel(int);

voidcount();

voidsave();

voidInput()

(

coutvv”请输入销售人员编号:\n";

cin»numbcr;

cout«"姓名姓

cin»namc;

cout<<"性别:\n";

cin»sex;

coutv〈"所在部门:‘m";

cin»departinent,

cout<<”等级:\n”;

cin»rank;

coul<v"销售额和分成百分比分”;

cin»market»rate;

monpay=market*rate;

}

voidOutputO

cout«setw(l0)<v”销售人员信息”vvset\v(10)<v"编号”《setw(10)vv"姓名”《setw(10)«”性

别"《setw(10)v<"所在部门"《setw(10)v<"等级"<vsetw(10)«"月薪"vvendl;

cout«sctw(10)«"经理信息

"«setw(IO)«number«setw(IO)«name«selw(10)«sex«selw(10)«department«setw(10)«rank«

setw(10)«monpay«endl;

}

protected:

floatmarket;

floatrate;

};

Salesman.cpp

voidSalesman::read()

{

fstreamSalesmanfile("销售人员信息管理.dar’.ios::in|ios::oul);

Salesmanfile»s1[count_Salesman].number»sl[coun(_Salesman].name»sl[count_Salesman.sex»s1[c

ount_Salesnian].department»sl[count_Salesman].rank»sl[count_Salesman].monpay;

while(!Salesmanfile.eofO)

{Salesmanfilc»sl[count_Salcsman].nunibcr»sl[count_Salesnian].namc»sl[count_Salcsman].scx»sl[

count_Salesman].dcpartincnt»sllcount_Salesman].rank»sl[count_Salcsnianj.monpay;

count_Salesman++;

)

Salesmanfile.close();

voidSalesman::add()

sl[count_Salesnian].number=number;

strcpy(s1[count_Salesman].name,name);

strcpy(sl[count_Salesman].scx,sex);

strcpy(s1[count_Salcsinan].dcpartmcnt,dcpamncnt);

strcpy(sl[count_Salesman].rank,rank);

sllcount_Salesman].monpay=monpay;

count_Salcsman++;

)

voidSalesman::look()

{

if(count_Salesman==0)

{

coul<<"对不起,没有相关统计!

return;

)

intchoice;

coutw”请选择查找方法:1、编号查找2、姓名查找"«endl;

cin»choice;

while(choice!=l&&choice!=2)

(coutvv"请输入正确选择:";cin»choice;}

switch(choice)

case1:

cout<<”请输入要查找销售人员编号:";

intnumber;

cin»numbcr;

for(inti=0;i<count_Salesman;i++)

{if(sl[i].numbcr==number)

{

sl[i].Output();

return;

)

)

cout<<”没有相关人员!”<<endl;

break,

)

case2:

(

coutv<”请输入要查找销售人员姓名:";

charname|100J;

cin»name;

for(inti=0;i<count_Salesman;i++)

if(sliciiip(sl[i].n<uiic,iiainc)——0)

sl[i].Output();

return;

)

}

cout«"没有相关人员!”<<endl;

break;

)

dcfault:cout<<"无此选项,请重试!"«endl;brcak;

)

)

voidSalesman::show()

(

for(inti-O,i<-cuunt_Salesman-1,i++)

sI[i].Output();

)

voidSalesman::modify(intindex)

(

s1[index-1].number=number;

strcpy(sl[index-1].name,name);

strcpy(s1[index-ll.sex,se\);

strcpy(sl[index-1].department,department);

Mrupy(sl[index-11.iank.rank);

s1[index-1].monpay=monpay;

voidSalesman::del(intindex)

{

for(inti=indcx;i<=count_Salcsman-1;i++)

{

sl[i-l].number=sl[i).number;

strcpy(sl[i-l].name,sl[i].name);

strcpy(sl[i-l].sex,sl|i].sex);

strcpy(sdepartmentsl|i].department);

strcpy(s1[i-1].rank,si[ij.rank);

s1[i-1].monpay=s1[ij.monpay;

)

count_Salesnian";

}

voidSalesman::count()

(

in(sum2=0;

inimale2=0,female2=0;

fbr(inti=0;i<count_Salesman;i++)

(

if(!strcmp(sl「].sex,"男"))

malc2++;

if(!strcmp(sl[i].sex,"女"))

female2++;

sum2++;

}

cout<<"总人数是;"«sum2«cndl;

coutcv”男人数是:"«male2«endl;

cout<<"女人数是:"«female2«endl;

)

voidSalesman::save()

ofstrcamSalcsmanfilc;

Salesmanfile.open。销售人员信息管理da【");

fbr(in(i=();i<=count_Salesman-1;i++)

Salesmanfilewsl[i].number«""«sl[ij.name«"H«sl[i].sex«HM«sl[i].department«n

"«s1[il,rank«""«sHil.inonpay«endl;

Salesmanfile.closeO;

3.4销售经理类实现

Salesmanager.h

classSalesmanager:publicStuff

public:

floatpayI,marketLratel;

voidread。;

voidadd();

voidlook();

voidshow();

voidmodify(int);

voiddcl(int);

voidcount();

voidsave();

voidInput()

(

coutev”请输入销售经理编号:\n”;

cin»number;

cout<<"姓名:\n”;

cin»name;

coutw”性别:\n";

cin»scx;

coutvv”所在部门:\n”;

cin»department;

coutvv"等级:\n";

cin»rank:

coul<v”固定工资、销售额和分成率:\n”;

cin»payl»""»marketl»""»ratel;

monpay=markct1*ratc1+pay1;

)

voidOutput()

{

C()UIVVSCIW(]O)VV”销售经理信息”vvsciw(10)vv"编号“vvsciw(10)vv"姓名"vvsciw(10)vv”性

别”《seiw(Io)vv”所在部门”《setw(10)<<"等级"《seiw(10)〈v”月薪"vvendl;

cout«setw(10)«"经理信息

"«setw(IO)«number«setw(10)«name«setw(10)«sex«setw(10)«department«setw(10)«rank«

setw(10)«monpay«endl;

}

};

Sslesmanager.cpp

voidSalesmanager::read()

{fstreainSalesmanagerfile("销售经理信息管理.dat",ios::in|ios::out);

Salesmanagerfile»ssI[count_Salesnianager].number»ssI[count_Salesmanager].name»ssi[count_Sales

manager].sex»ssl[count_Salesnianager].department»ssl[count_Salesnianager].rank»ssl[count_Salesm

anager].monpay;

whilc(!Salcsmanagcrfilc.cof())

{Salesmanagerfile»ssl|coun[_Salesmanager].number»ssl[couni_Salesmanager].name»ssl[count_Sale

smanager].sex»ssl[count_Salesmanager].department»ss1[count_Salesmanager].rank»ssl[count_Sales

manager],monpay;

count_Salesmanager++;}

Salesmanagerfile.closeO;}

voidSalesmanager::add()

ss1[count_Salesmanager].number=number;

strcpy(ssl[count_Salesmanager].name,name);

strcpy(ss1[count_Salesmanager].sex,sex);

strcpy(ssl[count_Salesmanager].department.department);

strcpy(ss1[count_Salesmanager].rank,rank);

ss1[count_Salcsmanagcr].monpay=monpay;

count_Salesmanager++;

)

voidSalcsmanagcr::look()

(

if(count_Salesmanagcr==0)

(

coutvv”对不起,没有相关统计!"vvendl;

return;

)

intchoice;

coul<<”请选择查找方法:1、编号查找2、姓名查找"«endl;

cin»choice;

while(choice!=1&&choice!=2)

{couivv”请输入正确选择:";cin»choice;}

case1:

cout<〈”请输入要查找销售经理编号:";

intnumber;

cin»number;

fbr(inti=0;i<count_Salcsmanagcr;i++)

{if(ssl(i].nunibcr==nunibcr)

(

ssl[i].()utput();

return;

}

)

cout«"没有相关人员!"«endl;

break;

)

case2:

{

couiv<”请输入要查找销售经理姓名:

charname[100];

cin»name;

for(inti=0;i<count_Salesmanager;i++)

if(strcmp(ss1[i].name,name)==O)

ssl[i].Output();

return;

}

}

cout«"没有相关人员!”<<cndl;

break;

)

default:cout<v"无此选项,请重试!"«endl;break;

)

I

voidSalesmanager::show()

{

for(inti=0;i<=count_Salesmanager-l;i++)

ssl[i].Outpu(();

)

voidSalesmanager::modify(iniindex)

{

ss1[index-1l.number=number;

strcpy(sslfindex-1].name,name);

strcpy(ss1[index-1].sex,sex);

slicpy(ssl[index-l].depailiiiciil,dcpailincnl);

strcpy(ss1[index-l].rank.rank);

ss1[index-1].monpay=monpay;

}

voidSalesmanagcr::dcl(intindex)

(

for(inti=index;i<=count_Salesmanager-1;i++)

(

ssl[i-l).numbcr=ssHi].number;

strcpy(ss1[i-1j.namc,ssHi].name);

strcpy(ssl[i-l].sex,ssl[i].sex);

strcpy(ss1[i-l].department,ssIlij.department);

strcpy(ssl[i-l].rank,ssl(ij.rank);

ssl[i-l].monpay=ssl[i].monpay;

)

count_Salesmanager—;

)

voidSalesmanager::count()

(

intsum2=0;

intmale2=0,female2=0;

fbr(inti=0;i<count_Salesmanager;i++)

if(!sliump(ssl[i].scx,"^"))

male2++;

if(!strcmp(ssl[i].sex»"女"))

female2++;

sum2++;

}

cout«"总人数是:"«sum2«endl;

cout«"男人数是:"«malc2«cndl;

cout<v"女人数是:"«fcmalc2«cndl;

voidSalesmanager::save()

{

ofstreamSalesinanagerfile;

Salesmanagerfile.open("销售经理信息管理.dal");

fbr(iiHi-0,i<-couiil_SalesiDanagei-1,i++)

Salesmanagerfile«ssI[il.number«""«ssl[i].name«,,"«ssl[il.sex«"

"«ss1[i].department«""«ssl[i].rank«""«ss1[i].nionpay«endl;

Salesmanagerfile.closeO;

}

3.5技术人员类实现

Technicist.h

classTechnicist:publicStuff

{

public:

voidicad();

voidadd();

voidlook();

voidshow。;

voidmodify(inl);

voiddel(int);

voidcouiitO;

voidsave();

voidInput()

(

cout<<"请输入技术人员编号人”;

cin»nuinber;

coutvv"姓名:\n〈

cin»namc;

coutvv”性别:\n";

cin»sex;

coutvv”所在部门:\n”;

cin»departnient;

coutv<”等级:\n”;

cin»rank;

cout«”工作时数:\n”;

cin»hour;

monpay=100*hour;

I

voidOutput()

(

cout«setw(l0)<<"技术人员信息”《setw(10)v<"编号”《setw(10)«"姓名"<<setw(10)«”性

别"v<setw(10)«“所在部门”<vselw(10)vv”等级"vvsetw(10)〈v”月薪"vvendl;

cout«setw(10)«"技术人员信息

"«setw()O)«numbcr«setw(10)«namc«sctw(10)«sex«sctw(10)«dcpartmcnt«sctw(10)«rank«

setw(10)«monpay«endl;

protected:

floathour;

};

Technicist.cpp

voidTechnicist::read()

(

fstreamTechnicistfile("技术人员信息管理dai",ios::in|ios::oul);

Technicistfile»tl[count_Technicist].number»tl[count_Technicist].name»tl[count_Technicist].sex»tl[

count_TechnicistJ.departnient»tl[count_Technicist].rank»tIlcount_Technicistj.monpay;

while(!Technicistfile.eofO)

(

Technicistfile»tllcount_Technicist].number»tl[count_Technicist].name»tl[count_Technicist].sex

»llLcount_l<echnicistJ.department»tlLcount_lfechnicistJ.rank»tl[count_l<echnicistj.monpay;

count_Technicist++:

)

Technicistfile.close();

}

voidTechnicist::add()

(

11[count_Technicistl.nuiriber=number;

strcpy(tl[count_Teclinicist].name,name);

strcpy(tl[count_Tcchmcist].scx,scx);

strcpy(tl[count_Tcchnicist].dcpartmcnt,dcpartmcnt);

strcpy(t1[count_Technicist].rank,rank);

11[count_Technicist].monpay=monpay;

count_Tcchnicist++:

}

voidTechnicist::look()

{

if(uount_lcchiiicisl==0)

(

coutvv”对不起,没有相关统计!H«endl;

return;

)

in(choice;

couivv"请选择查找方法:1、编号查找2、姓名查找"«endl;

cin»choicc;

while(choice!=I&&choice!=2)

{couivv”请输入正确选择:";cin»choice;}

switch(choice)

(

case1:

{

cout«"请输入要查找技术人员编号:“;

intnumber:

cin»numbcr;

fbr(inti=0;i<cour.t_Technicist;i++)

{if(tl|i].number-number)

(

ll[i].Output();

return;

}

coutcv”没有相关人员!”《endl;

break;

}

case2:

(

cuuivv”请输入耍查找技术人员姓名:“;

charnamefl00];

cin»name;

for(inti=0;i<count_Technicist;i++)

(

if(slrcmp(iI[,name)==0)

{

tl[“.Output。;

return;

)

}

〈”没有相关人员!

break;

)

default:cout<v"无此选项,请重试!"«endl;break;

)

I

voidTechnicist::show()

{

for(inti=0;i<=count_Technicist-1;i++)

tl[i].Output();

voidTechnicist::modify(intindex)

tl[index-l].number=number;

strcpy(tl[index-1J.name,name);

strcpy(tl[index-1J.sex,sex);

strcpy(tl[index-1l.department,department);

strcpy(t1[index-1].rank,rank);

111index-1].iiioiipay=nionpay;

)

voidTechnicist::del(intindex)

{

for(inti=index;i<=count_Technicist-1;i++)

(

tl[i-l].number=tl[“.number;

strcpy(tl[i-1].namc,tl[i].name);

strcpy(tI[i-1].sex,tI[il.sex);

strcpy(l1[i-1].depanment,lI[i].department);

strcpy(tl(i-l].rank,tl[i].rank);

tl[i-l].monpay=tl[ij.monpay;

)

count_Technicist—;

}

voidTcchnicist::count()

(

intsum1=0;

intmale1=0,female1=0;

for(inti=0;i<count_Technicis(;i++)

(

if(!strcmp(ll[i].sex,"男"))

malel++;

if(!strcmp(tl[ij.sex,'^C"))

female1++;

suml++;

coutvv"总人数是:"«suml«endl;

cout<<"男人数是:"«malel«endl;

女人数是:"«fcnialul«endl;

voidTechnicist::save()

ofstreaniTechnicistfile;

Technicisifile.open("技术人员信息管理.dal");

for(inti=0;i<=count_Technicist-1;i++)

Technicistfile«tl[i].number«""«tl[i].sex«""«tl[i].dcpartment«"

"«t1[i].rank«""«t1[i].monpay«endl;

Technicistfile.closeO;

3.6main.cpp

#include<iostream.h>

#include<fstream.h>

#include<string.h>

#include<stdlib.h>

样include<iomanip.li>

include"Stuff.h"

#includc"Managcr.h"

#include"Technicist.h"

#include"Salesman.h"

#include"Salesmanager.h"

constintMAXMANAGER=100;

constintMAXTECHNICIST=100;

constintMAXSALESMAN=IOO;

constintMAXSALESMANager=100;

Managerm1[MAXMANAGER];

Technicisttl[MAXTECHNICIST];

Salesmansi[MAXSALESMAN];

Salesmanagerss1[MAXSALESMANager];

intcount_Manager=0;

intcoun(_Technicist=0;

intcount_Salesman=0;

intcount_Salcsmanagcr=0;

Stuff*p=NULL;

charout;

〃经理管理子菜单

voidManagei_manage()

(

intchoice,i=0;

boolquit=false;

while(l)

system(Mclsn);

couiw"**********号经f里管理子菜单********

cout«n1.添加经理信息”《endl;

cout<<”2.查询经理信息"«cndl;

COUlVV”3.显示经理信息”《endl;

cout«"4.修改经理信息"«endl;

cout«5.删除经理信息"«endl;

cout«06.统计经理人数"«cndl;

cout«M0.退出"<<endl;

coutw''**********才***********************''vv^ndl,

cout<<”请输入所要操作编号:";

ciii»uhoiuu;

switch(choice)

(

case1:

(

Managerm2;

p=&m2;

cout«"请输入要添加经理信息\n”;

m2.Input();

for(inti=0;i<count_Manager;i++)

if(ml[i].number==m2.number){coutvv”该编号经理已存在!"«endl;break;(

if(m2.nnmher>=MAXMANAGER)

{cout<<"经理库已满,无法添加!"vvendl;re【um;}

else

cout<<"是否保留经理信息?(y/n)\n";

cin»out;

if(ouc=='y')

(

p->addO;

p->save();

)

break;

}

case2:

Managerm3;

p=&m3;

p->look();

system("pause");

break;

)

case3:

{

Managerm4;

p=&m4;

p->show();

if(count_Manager==0)

(cout«"系统中无存放统计!"«endl;

}systemC^pause");

break;

)

case4:

(

Managerm5:

p=&m5:

if(counl_Mdnager==0)

{coutvv”系统中无存放统计!"v〈endl;retum;}

intindex;

p->show();

couiw"请选择经理编号:\n";

cin»indcx;

for(inti=0;i<count_Manager;i++)

if(ml[i].niiniber==index)

coul«"请对经理信息进行修改:"vvendl;

p->I叩ut();

cout«"是否保留经理信息?(y/n)\n";

uin»oul;

if(oul=-y')

{

p->modify(index);

p->savc();

}return;

)

elseccutv〈"无此经理信息!"<<cndl;

system("pause");

break;

1

case5:

{

Managerm6;

p=&m6;

intindex;

if(count_Manager==0)

coutvc”经理库为空!”《endl;

else

fbr(inti=0;i<=count_Managcr-1;i++)

cout«ml[i].number«""«ml[i].name«",,«ml[i].sex«"

"«ml[i].departmen(«""«ml[i].rank«",,«ml[i].monpay«endl;

cout«”请选择要删除经理编号:\n";

cin»indcx;

for(inti=0;i<count_Manager;i++)

if(ml[i].number==index)

{

coutvv"继续"vvendl;

couivv”是否保留经理信息?(y/n)\iiH;

cin»ou(;

if(out=='y')

(

p->del(index);

p->save();

)

return;

该编号经理信息不存在!"«endl;

systcmC'pausc");

break;

}

case6:

{

Managerm7;

p=&m7;

p->count();

system("pause");

break;

case0:

quit=truc;

break;

default:

cout<<”请输入0〜6之间数字!"<<endl;

break.;

}

if(quil==lrue)

break;

)

systein("cls");

relum;

)

〃技术人员管理子菜单

voidTechnicist_manage()

(

intchoice,i=0;

boolquit=false;

while(l)

systcm("cls");

cout<v”*************技术人员信息管理子菜单*************”vvendl;

cout«"1.添加技术人员信息"«endl;

cout«'t2.查询技术人员信息"«endl;

cout«"

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论