管理系统C课程设计_第1页
管理系统C课程设计_第2页
管理系统C课程设计_第3页
管理系统C课程设计_第4页
管理系统C课程设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

管理系统c

课程设计

一、需求与功能分析

二、系统总体框架

三、模块设计与分析

四、类的设计与分析

五、特色算法分析

六、功能测试

七、存在的不足与对策

八、程序源代码

一.需求与功能分析

一、程序的需求

随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人

们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作

为计算机应用的一部分,使用计算机对人事信息进行管理,具有着手工管理

所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保

密性好、寿命长、成本低等。这些优点能够极大地提高人事理的效率,也是

企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套

管理软件成为很有必要的事情。

目前,无论是机关、事业单位、还是企业单位,人事管理对于组织生

存与长远发展所具备的重要性都已经有了明确的认识,而人事管理水平的

提升不仅需要高素质的管理人员,而且也需要信息化工具进行辅助

在现代化的企业管理中,人事管理系统有着十分重要的作用,然而,

用大型软件系统来于小型的企事业单位,不啻于“杀鸡用牛刀”,因此小

型的的软件对于这种单位自然有十分重要作用。

二、程序的主要功能

1、添加功能:

添加一个职员的基本信息,包括姓名,工作证号,身份证号码,生日,

家庭住址,家庭电话号码,部门,薪水,性别,职务。

2、删除功能:

能够对一个职员的信息进行删除按姓名进行删除。

1录133-44-99-1111-171818-33

3、删除全部职员信息:

能够对于全部职员的信息进行删除!4、显示功能:

显示所有职员的主要信息包括姓名,身份证号码,工作证号,生日等。

5、查找功能:

根据你键入的职员姓名,显示其详细信息!6、修改功能:

对职员的信息进行修改。7、保存信息

对全部信息进行保存。8、退出程序

能够退出程序。

二.系统总体框架

系统

录入员工信息

显示员工信息查找员工信息删除员工信息修改员工信息清空员工信

息保存员工信息

退出程序

三.模块设计与分析

1.录入员工信息

voidinsert。〃录入数据{intn;while(l){

cout<<"请输入部门的代码:1-人事部cin>>n;

if(n==l||n==21|n==3){

if(n==l){do{

Staff<Personnel>*p;p=newStaff<Personnel>;

2

2-维修部3—销售部"<<endl;

p->bumen,show();p->input();p->bumen.input();intq;do{for(inti=0;i<

;N;i++){q=0;if(P[i]==NULL){break;}elseif(P[i]->No==p->No){cout<<"

此工作号已存在!请修改

~!"<<endl;p->input();p->bumen.input();q++;break;}}}while(q!=0);fo

r(intj=0;j<N;j++){if(P[j]==NULL){P[j]=p;cout<<"输入成

功!”<<endl;break;}}

你还要继续执行其操作吗?是'1',否

'0':";cin>>n;}while(n==l);P申请新的Staff<Personnel>

空间,输入数据,检查所输入的信息是否已经存在,存在显示数据已经存

在,重新输入新的数据,再检查,直到输入没有错误。进入保存该正确的

数据,空间要有足够的空间才能保存数据,不足就保存失败。

2.显示员工信息

voidshow()〃显示数据

Staff<Personnel>*p;cout<<out<<endl;for(intj=0;j<N;j++){if(P

U]!=NULL){

3

)

只要P的空间内不为空就输出数据。

3.查找员工信息p=P[j];p->output();p->bumen.output();

voidfind()〃查找数据stringn;cout<<"输入你要查找姓名

"<<endl;cin>>n;for(intj=0;j<N;j++){

if(P[j]!=NULL&&(P[j]->Name)==n){P[j]->bumen.show();cout<

;<out<<endl;P[j]->output();P[j]->bumen.output();break;}

输入要查找的名字,循环空间,空间不为空,而且空间里的名字与输

入的名字对比,

符合就输出该数据,不符合下一条数据,直到符合为止。如果全部空

间扫描完都没有找到该信息,就输出不存在该信息。

4.删除员工信息

voidDelete()〃删除数据stringn;intm;cout<<"输入你要查找姓名

"<<endl;cin>>n;cout<<''请输入该员工所在的部门的代码:1-

人事部"<<endl;cin>>m;if(m==l){for(intj=0;j<N;j++){

if(P[j]!=NULL&&(P[j]->Name)==n){cout<<out<<endl;PD]

->output();P[j]->bumen.output();P[j]=NULL;

42-维修部3—销售部

)

输入要查找的名字,循环空间,空间不为空,而且空间里的名字与输

入的名字对比,符合就把该项的数据赋为空值,不符合下一条数据,直到

符合为止。如果全部空间扫描完都没有找到该信息,没有信息输出。

5.修改员工信息}}cout<<”该员工已被删除!l,<<endl;break;

voidrevise()〃修改数据stringn;intm;cout<<"输入你要查找姓名

"<<endl;cin>>n;cout<<"请输入该员工所在的部门的代码:1-

人事部2-维修部3—销售部

"<<endl;cin>>m;if(m==l){for(intj=0;j<N;j++){if(P[j]l=NULL&

&(P[j]->Name)==n){cout<<out<<endl;P[j]->output();P[j]-

>bumen.output();P[j]->input();P[j]->bumen.input();cout<<"该员

工修改成功!";break;}}}

输入要查找的名字,循环空间,空间不为空,而且空间里的名字与输

入的名字对比,符合就重新输入数据,不符合下一条数据,直到符合为止。

如果全部空间扫描完都没有找到该信息,就没有信息输出。

6.清空员工信息

voidclear。〃清空数据{intn,a=l;do{cout<<"请输入密码

"<<"cin>>n;if(n==a){'0'返回界面"<<endl;

5

}for{inti=0;i<N;i++){P[i]=NULL;M[i]=NULL;S[i]=NULL;}cout<<"^TW

员工的资料已被删除!"<<endl;break;}elsecout<<"输入密码失

败!"<<endl;}while(n!=O);

首先清空全部员工数据是要慎重考虑的,所以要设置密码,且密码定

义为1,没有密码不能清空全部员工。密码正确,然后把所有的空间都赋

为空值。

7.保存员工信息

voidsave()〃保存数据

{ofstreamoutput_file;ofstreamoutput_filel;ofstreamoutput_file2;ofstreamout

put_file3;cout<<"正在保存

中..."<<endl;output_file.open("Personnel.txt");if(!output_file){cout<

保存Personnel文件失

^!"<<endl;}for(inti=0;i<N;i++){if(P[i]!=NULL){output_file<<P[i]-&g

t;No<<""<<P[i]->Sex<<""<<P[i]->Name<<""<

<R[i]->ID<<""<<R[i]->Birthday<<""<<P[i]->Addr

ess<<""<<P[i]->Phone<<""<<P[i]->bumen.Job<<

""<<P[i]->bumen.Pay<<endl;bl++;}}output_file2.open("Maintain.

txt");if(!output_file2){cout<<厂保存Maintain文件失

败!"<<endl;}for(i=0;i<N;i++){if(M[i]!=NULL){

output_file2<<M[i]->No<<""<<M[i]->Sex<<""<<

M[i]->Name<<""<<M[i]->ID<<""<<M[i]->Birthday

<<""<<M[i]->Address<<""<<M[i]->Phone<<""&l

t;<M[i]->bumen.Job<<""<<M[i]->bumen.Pay<<endl;

6

}}b2++;

output_file3.open("Sell.txt");if(!output_file3){cout<<"保存Sell文件

败!"<<endl;}for(i=0;i<N;i++){if⑸i]!=NULL){output_file3<<S[i]->

t;S[i]->ID<<""<<S[i]->Birthday<<""<<S[i]->Address

<<S[i]->bumen.Pay<<endl;b3++;}}

因为我用了3个数组来保存3个不同的部门信息,所以就用了3个不

同的文件来保存。然后再用一个文件来保存各个部门的数据的条数,这样

是用来控制读出文件的条数,防止读出错误的信息。

8.退出程序

四.类的设计与分析

为了界面简洁些,用了几个类。一个类包含员工的基本信息,一个类

包含部门的信息,一个类继承了基本信息和部门信息。

1.Base类

classBase{public:intNo;intlD;stringName;stringSex;intBirthday;stringAddress;in

tPhone;voidinput(){cout<<”输入员工的工作

号:"<<endl;cin>>No;cout<<"输入员工的姓

名:"<<endl;cin>>Name;cout<<"输入员工的性

别:"<<endl;cin>>Sex;

7

输入员工的身分

证:"<<endl;cin>>ID;cout<<"输入员工的生

日:"<<endl;cin>>Birthday;cout<<"输入员工的家庭住

址:"<<endl;cin>>Address;cout<<"输入员工的家庭电话号

M:"<<endl;cin>>Phone;}voidoutput(){cout<<setiosflags(ios::le

ft)<<setw(8)<<No

<<setw(8)<<Name<<setw(6)<<Sex<<setw(8)<<l

D<<setw(10)<<Birthday<<setw(8)<<Address<<setw(l

0)<<Phone;}};

2.Personnel类

classPersonnel〃人事部

{public:

virtualvoidshow()

{cout<<"人事部"<<endl;

)

stringjob;

intPay;

voidinput()

{

cout<<"请输入该员工的职务"<<endl;

cin>>Job;

请输入该员工的薪水"<<endl;

cin>>Pay;

8

)

voidoutput(){

cout<<setiosflags(ios::left)<</职务:"<<setw⑹

薪水:"<<setw⑹<<Pay<<endl;}};

3.继承类

classMaintain:publicPersonnel{public:

virtualvoidshowO{cout<<"维修部"<<endl;}};

〃维修部

classStaff:publicBase,publicBranch<Type>{};

9

Birthday

Address

Phone

voidinput()

voidoutputO数据成员数据成员数据成员记录员工对象的生日记录员

工对象的家庭住址记录员工对象的电话成员方法数据成员

数据成员JobPay

virtualvoid

show()

voidinput()

voidoutputO成员方法成员方法成员方法成员函数,输入数据记录员工

对象的职务记录员工对象的薪水虚函数,显示所在的部门成员函数,输入

数据成员函数,输出数据

五.特色算法分析

1.随机生成字符串

功能:能够随机生成字符串。

算法思路:在一个保存了字母的数组里随机抽取字母,而控制抽取字

母的就是数组的下标位置。只要随机生成下标的数字,再用另外的一个数

组来保存所抽取出来的字母,这样就成功生成随机字符串。

代码:

constintSIZE_CHAR=5;

constcharCCH[]="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVW

XYZ";stringm()〃随机生字母

charch[SIZE_CHAR+l]={0};

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

(

intx=rand()%(sizeof(CCH)-l);

ch[i]=CCH[x];

)

returnch;

)

2.查找员工的信息

功能:查找相应的员工信息

算法思路:输入想要查找的信息,循环空间,空间不为空,而且空间

里的名字与输入的名字对比,符合就显示相对应的数据,不符合下一条数

据,直到符合为止。如果全部空间扫描完都没有找到该信息,就没有信息

输出。

流程图:

n

j=0

10P[j]!=NULL&&(P[j]->Name)==n

243

1输出

数据j+=lnull

j<N

结束

代码:

voidfindQ〃查找数据{stringn;cout<<「输入你要查找姓名

"<<endl;cin>>n;for(intj=0;j<N;j++){

if(P[j]!=NULL&&(P[j]->Name)==n){P[j]->bumen.show();cout<

;<out<<endl;ll

}}for(j=0;j<N;j++){if(M[j]!=NULL&&(M[j]->Name)==n){M[j]

->bumen.show();cout<<out<<endl;M[j]->output();M[j]->bu

men.output();break;}}for(j=0;j<N;j++){if(S[j]!=NULL&&(S[j]->Na

me)==n){S[j]->bumen.show();cout<<out<<endl;S[j]->output();

S[j]->bumen.output();break;}}}P[j]->output();P[j]->bumen.output();br

eak;

六.功能测试1

.界面

图6-1

2.界面选择“1”界面测试图

12

图6-2

3.再选择"1

”选择1的测试图

图6-3选择1的测试图

如果输入的工作号原先已存在就会输出

6—3a.图6-3a选择1的测试图

13

4.界面选择"2

图6-4选择2的测试图

5.界面选择"3

图6-5选择3的测试图

6.界面选择"4

图6-6选择4的测试图

7.界面选择“5"

14

图6-7选择5的测试图

8.界面选择"6

图6-8选择6的测试图

密码错误的时候

图6-8a选择6的测试图

9.界面选择"7

图6-9选择7的测试图

10.界面选择"8

15

图6-10选择8的测试图

七.存在的不足与对策

由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,

查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,

因此,请不要故意输入错误信息。这些不足请老师多多谅解。今后设计者

会更多的学习编程技巧,不断的提高程序设计水平。

1.在使用读取功能时,运行程序出现错误,发现原来没有申请新的

空间,导致运行出错。

2.在使用录入功能时,如果输入与已经存在的数据时不会出现提示,

最后要用到循环来检查数据是否相同。开始的时候用到全局变量来控制循

环,然后再用到局部变量来覆盖全部变量,导致不能判断数据是否相同。

经过修改。在循环那里在重新赋值就可以成功判断!

3.在使用读取功能时,读出数据成功,可是读出一些空值,因此在

保存数据的时候增加了保存多少条数据,这样用来控制读出数据的条数,

以免读出空值!

八.程序源代码

//basic.h

#include"string"

#include"iostream"

#include"iomanip"

usingnamespacestd;

classBase

(

public:

intNo;

intID;

stringName;

stringSex;

intBirthday;

stringAddress;

intPhone;

voidinput()

(

cout<<”输入员工的工作号:"<<endl;

cin>>No;

输入员工的姓名:"<<endl;

cin>>Name;

cout<<”输入员工的性别:"<<endl;

cin>>Sex;

cout<<”输入员工的身分证:"<<endl;

cin>>ID;

cout<<"输入员工的生H:"<<endl;

cin>>Birthday;

cout<<“输入员工的家庭住址:"<<endl;

16

cin>>Address;

输入员工的家庭电话号码:"<<endl;

cin>>Phone;

)

voidoutput()

(

cout<<setiosflags(ios::left)<<setw(8)<<No

<<setw(8)<<Name<<setw(6)<<Sex<<setw(8)<<l

D<<setw(10)<<Birthday

<<setw(8)<<Address<<setw(10)<<Phone;

)

);

//branch.h

#include"iostream"

#include"string"

#include"iomanip"

usingnamespacestd;

classPersonnel〃人事部

{public:

virtualvoidshow()

{cout<<"人事部"<<endl;

)

stringjob;

intPay;

voidinput()

(

cout<<「请输入该员工的职务"<<endl;

cin>>Job;

cout<<”请输入该员工的薪水l,<<endl;

cin>>Pay;

)

voidoutput()

(

cout<<setiosflags(ios::left)<<"职务:"<<setw⑹<<Job

薪水:"<<setw⑹<<Pay<<endl;

)

);

classMaintain:publicPersonnel

{public:

virtualvoidshow()

{cout<<"维修部"<<endl;〃维修部

17

)

);

classSell:publicPersonnel〃销售部{public:

virtualvoidshow()

{cout<<"销售部"<<endl;

)

);

template<classType>

classBranch

(

public:

Typebumen;

);

//staff.h

#include"basic.h"

#include"branch.h"

#include"iostream"

usingnamespacestd;

template<classType>

classStaff:publicBase,

(

);

〃头文件

#include"string"

#include<string>

#include"staff.h"

#include"cstdio"

#include"conio.h"

#include"fstream"

#include"iostream"

#include"stdlib.h"

#defineN100

usingnamespacestd;

Staff<Personnel>*P[N];

Staff<Maintain>*M[N];

Staff<Sell>*S[N];

constintSIZE_CHAR=5;publicBranch<Type>

18

constcharCCH[]

"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";intbl=Ozb2

=0,b3=0;〃导入数据条数

stringm()〃随机生字母

(

charch[SIZE_CHAR+l]={0};

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

(

intx=rand()%(sizeof(CCH)-l);

ch[i]=CCH[x];

)

returnch;

)

ostream&out(ostream&stream)〃操纵符

(

returnstream<<setiosflags(ios::left)

<<setw⑻也工作号"<<setw⑻姓名"

<<setw⑹也性别性lt;<setw⑻身分

"<<setw(12)<<"生日"<<setw⑻地址"

<<setw(10)<<"电话"

<<>部门";

)

voidinsert()〃录入数据

intn;

while(l)

{

请输入部门的代码:1-人事部2-维修部3—销售部

"<<endl;cin>>n;

if(n==l||n==21|n==3)

(

if(n==l)

(

do

{

Staff<Personnel>*p;

p=newStaff<Personnel>;

p->bumen.show();

p->input();

p->bumen.input();

19=证

intq;

do

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

q=0;

if(P[i]==NULL)

{break;}

elseif(P[i]->No==p->No)

{cout<<”此工作号已存在!请修改~!"<<endl;

p->input();

p->bumen.input();

q++;

break;

}

)

}while(q!=O);

for(intj=0;j<N;j++)

(

if(P[j]==NULL)

(

P[j]=P;

cout<<"输入成功!

break;

)

)

cout<<"你还要继续执行其操作吗?是'1',否

'0':";cin>>n;}while(n==l);

}

elseif(n==2)

(

do

(

Staff<Maintain>*a;

a=newStaff<Maintain>;

a->bumen.show();

a->input();

a->bumen.input();

intq;

do{

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

{q=o;

if(M[i]==NULL)

20

{break;}

elseif(M[i]->No==a->No)

{cout<<''此工作号已存在!请修改~!”<<endl;

a->input();

a->bumen.input();

q++;

break;

)

)

}while(q!=O);

for(intj=0;j<N;j++)

(

if(M[j]==NULL)

(

M[j]=a;

输入成功!"<<endl;

break;

)

)

你还要继续执行其操作吗?是'2',否

'0':";cin>>n;}while(n==2);

)

elseif(n==3)

do

Staff<Sell>*s;

s=newStaff<Sell>;

s->bumen.show();

s->input();

s->bumen.input();

intq;

do{

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

{q=o;

if(S[i]==NULL)

{break;}

elseif(S[i]->No==s->No)

{cout<<''此工作号已存在!请修改~!''<<endl;

s->input();

s->bumen.input();

q++;

break;

21

}

)

}while(q!=O);

for(intj=0;j<N;j++)

if(S[j]==NULL)

(

S[j]=s;

cout<<"输入成功!"<<endl;

break;

)

)

cout<<"你还要继续执行其操作吗?是'3',}while(n==3);

)

}

break;

)

)

voidshow。〃显示数据

(

intn;

while(l)

(

请输入部门的代码:1-人事部"<<endl;

cin>>n;

if(n==l||n==21|n==3)

if(n==l)

(

Staff<Personnel>*p;

cout<<out<<endl;

for(intj=0;j<N;j++)

(

if(P[j]!=NULL){

P=P[j];

p->output();

p->bumen.output();

)

)

break;

)

22否'0':";cin>>n;2-维修部3—销售部

elseif(n==2)

(

Staff<Maintain>*a;

cout<<out<<endl;

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

if(M[i]!=NULL)

a=M[i];

a->output();

a->bumen.output();

)

)

break;

)

elseif(n==3)

(

Staff<Sell>*s;

cout<<out<<endl;

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

(

if(S[i]!=NULL)

(

s=S[i];

s->output();

s->bumen.output();

)

)

break;

)

}

elseif(n=O)break;

)

)

丫01€|甘11€|()〃查找数据{

stringn;

cout<</输入你要查找姓名"<<endl;cin>>n;

for(intj=0;j<N;j++)

(

23

if(P[j]!=NULL&&(P[j]->Name)==n)

(

P[j]->bumen.show();

cout<<out<<endl;

P[j]->output();P[j]->bumen.output();break;

)

}

for(j=0;j<N;j++)

if(M[j]!=NULL&&(M[j]->Name)==n)

M[j]->bumen.show();

cout<<out<<endl;

M[j]->output();M[j]->bumen.output();break;

)

)

for(j=0;j<N;j++)

(

if(S[j]!=NULL&&(S[j]->Name)==n)

(

S[j]->bumen.show();

cout<<out<<endl;

S[j]->output();S[j]->bumen.output();break;

)

)

)

voidDelete()〃删除数据

(

stringn;intm;

输入你要查找姓名"<<endl;

cin>>n;

cout<<"请输入该员工所在的部门的代码:1-人事部部"<<endl;

cin>>m;

if(m==l)

(

for(intj=0;j<N;j++)

(

242-维修部3—销售

if(P[j]!=NULL&&(P[j]->Name)==n){

cout<<out<<endl;

P[j]->output();P[j]->bumen.output();P[j]=NULL;

cout<<"该员工已被删除!"<<endl;break;

}

)

)

if(m==2)

(

for(intj=0;j<N;j++)

(

if(M[j]!=NULL&&(M[j]->Name)==n){

cout<<out<<endl;

M[j]->output();M[j]->bumen.output();M[j]=NULL;

cout<<”该员工已被删除!”<<endl;break;

)

)

)

if(m==3)

{

for(intj=0;j<N;j++)

(

if(S[j]!=NULL&&(S[j]->Name)==n){

cout<<out<<endl;

S[j]->output();S[j]->bumen.output();S[j]=NULL;

cout<<"该员工已被删除!"<<endl;break;

}

)

)

)

voidrevise()〃修改数据

(

stringn;intm;

cout<<"输入你要查找姓名"<<endl;

25

cin>>n;

请输入该员工所在的部门的代码:1-人事部部"<<endl;

cin>>m;

if(m==l)

(

for(intj=0;j<N;j++)

{

if(P[j]!=NULL&&(P[j]->Name)==n)

(

cout<<out<<endl;

P[j]->output();P[j]->bumen.output();P[j]->input();P[j]->bumen.inp

ut();

cout<<”该员工修改成功!”;

break;

)

)

)

if(m==2)

(

for(intj=0;j<N;j++)

if(M[j]!=NULL&&(M[j]->Name)==n)

cout<<out<<endl;

M[j]->output();M[j]->bumen.output();M[j]->input();M[j]->bumen.i

nput();

cout<<“该员工修改成功!

break;

)

)

)

if(m==3)

(

for(intj=0;j<N;j++)

{

if(S[j]!=NULL&&(S[j]->Name)==n)

(

cout<<out<<endl;

S[j]->output();S[j]->bumen.output();S[j]->input();S[j]->bumen.inpu

t();

cout<<”该员工修改成功!";

break;

)

262-维修部3—销售

)

)

}

voidclear()〃清空数据

{intn,a=l;

do

(

请输入密码"<<"'0'返回界面"<<endl;

cin>>n;

if(n==a)

(

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

(

P[i]=NULL;

M[i]=NULL;

S[i]=NULL;

)

cout<<"所有员工的资料已被删除!”<<endl;break;

}

elsecout<<"输入密码失败!

}while(n!=0);

)

voidsave()〃保存数据

(

ofstreamoutput_file;

ofstreamoutput_filel;

ofstreamoutput_file2;

ofstreamoutput_file3;

正在保存中..."<<endl;

output_file.openCPersonnel.txt");

if(!output_file)

{cout<<"保存Personnel文件失败!"<<endl;}

for(inti=0;i<N;i++){

if(P[i]!=NULL)

(

output_file<<P[i]->No<<""<<P[i]->Sex<<""<<P[i

]->Name<<""<<P[i]->ID<<""<<P[i]->Birthday<&

lt;""<<P[i]->Address<<""<<P[i]->Phone<<""<<P[

i]->bumen.Job<<""<<P[i]->bumen.Pay<<endl;

bl++;

)

27

)

output_file2.open("Maintain.txt");

if(!output_file2)

{cout<<"保存Maintain文件失败!"<<endl;}

for(i=0;i<N;i++){

if(M[i]!=NULL)

(

output_file2<<M[i]->No<<""<<M[i]->Sex<<""<<

M[i]->Name<<""<<M[i]->ID<<""<<M[i]->Birthday

<<""<<M[i]->Address<<""<<M[i]->Phone<<""&l

t;<M[i]->bumen.Job<<""<<M[i]->bumen.Pay<<endl;

b2++;

)

)

output_file3.open("Sell.txt");

if(!output_file3)

{cout<<"保存Sell文件失败!"<<endl;}

for(i=0;i<N;i++){

if(S[i]!=NULL)

output_file3<<S[i]->No<<""<<S[i]->Sex<<""<<S[

i]->Name<<""<<S[i]->ID<<""<<S[i]->Birthday<&

lt;""<<S[i]->Address<<""<<S[i]->Phone<<""<<S[i

]->bumen.Job<<""<<S[i]->bumen.Pay<<endl;b3++;

)

)

output_filel.open("kongzhi.txt");

output_filel<<bl<<""<<b2<<""<<b3<<endl;〃保

存数据条数

output_filel.close();

output_file.close();

output_file2.close();

output_file3,close();

cout<<"保存完毕!"<<endl;

)

voidmain()

{ifstreaminput_file;

ifstreaminput_filel;

ifstreaminput_file2;

ifstreaminput_file3;

input_filel.open("kongzhi.txt");

28

input_filel>>bl>>b2>>b3;

input_file.open("Personnel.txt");

input_file2.open("Maintain.txt");

input_file3.open("Sell.txt");

if(!input_file||!input_file21|!input_file3)

{cout<<”打开文件失败!”<<endl;

建立新的数据!"<<endl;

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

(

P[i]=NULL;

M[i]=NULL;

S[i]=NULL;

)

for(i=0;i<32;i++)

(

〃随机生成数据

P[i]=newStaff<Personnel>;

P[i]->No=100+i;P[i]->Sex='m';P[i]->Name=m();P[i]->ID=

1000+rand()%100;

P[i]->Birthday=1988000+rand()%100;P[i]->Address=m();P[i]->Phone=

13567+rand()%100;

P[i]->bumenJob=m();P[i]->bumen.Pay=2000+rand()%101;

M[i]=newStaff&11;Maintain>;

M[i]->No=100+i;M[i]->Sex='m';M[i]->Name=m();M[i]->l

D=1000+rand()%100;

M[i]->Birthday=1988000+rand()%100;M[i]->Address=m();M[i]->Phon

e=13567+rand()%100;

M[i]->bumen.Job=m();M[i]->bumen.Pay=2000+rand()%101;

S[i]=newStaff<Sell>;

S[i]->No=100+i;S[i]->Sex='m';S[i]->Name=m();S[i]->ID=l

000+rand()%100;

S[i]->Birthday=1988000+rand()%100;S[i]->Address=m();S[i]->Phone=

13567+ran

温馨提示

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

评论

0/150

提交评论