售后服务管理系统 合院何浩.docx

上传人:b****8 文档编号:12840868 上传时间:2023-06-08 格式:DOCX 页数:18 大小:18.10KB
下载 相关 举报
售后服务管理系统 合院何浩.docx_第1页
第1页 / 共18页
售后服务管理系统 合院何浩.docx_第2页
第2页 / 共18页
售后服务管理系统 合院何浩.docx_第3页
第3页 / 共18页
售后服务管理系统 合院何浩.docx_第4页
第4页 / 共18页
售后服务管理系统 合院何浩.docx_第5页
第5页 / 共18页
售后服务管理系统 合院何浩.docx_第6页
第6页 / 共18页
售后服务管理系统 合院何浩.docx_第7页
第7页 / 共18页
售后服务管理系统 合院何浩.docx_第8页
第8页 / 共18页
售后服务管理系统 合院何浩.docx_第9页
第9页 / 共18页
售后服务管理系统 合院何浩.docx_第10页
第10页 / 共18页
售后服务管理系统 合院何浩.docx_第11页
第11页 / 共18页
售后服务管理系统 合院何浩.docx_第12页
第12页 / 共18页
售后服务管理系统 合院何浩.docx_第13页
第13页 / 共18页
售后服务管理系统 合院何浩.docx_第14页
第14页 / 共18页
售后服务管理系统 合院何浩.docx_第15页
第15页 / 共18页
售后服务管理系统 合院何浩.docx_第16页
第16页 / 共18页
售后服务管理系统 合院何浩.docx_第17页
第17页 / 共18页
售后服务管理系统 合院何浩.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

售后服务管理系统 合院何浩.docx

《售后服务管理系统 合院何浩.docx》由会员分享,可在线阅读,更多相关《售后服务管理系统 合院何浩.docx(18页珍藏版)》请在冰点文库上搜索。

售后服务管理系统 合院何浩.docx

售后服务管理系统合院何浩

#include

#include

#include

#include//输入/输出文件流类

usingnamespacestd;

constintMaxr=100;//最多的被服务人员(有公司的服务人员数决定)

constintMaxb=100;//最多的项目

constintMaxbor=5;//每位被服务人员每次进行的最多服务项目

//被服务人员类,实现对被服务人员的信息的描述

classService

{

private:

inttag;//删除标记1:

已删0:

未删

intno;//被服务人员编号

charname[10];//被服务人员姓名

intborProject[Maxbor];//所服务项目

public:

Service(){}

char*getname(){returnname;}//获取姓名

intgettag(){returntag;}//获取删除标记

intgetno(){returnno;}//获取被服务人员编号

voidsetname(charna[])//设置姓名

{

strcpy(name,na);

}

voiddelProject(){tag=1;}//设置删除标记1:

已删0:

未删

voidaddService(intn,char*na)//增加被服务人员

{

tag=0;

no=n;

strcpy(name,na);

for(inti=0;i

borProject[i]=0;

}

voidborrowProject(intProjectid)//服务操作

{

for(inti=0;i

{

if(borProject[i]==0)

{

borProject[i]=Projectid;

return;

}

}

}

intretProject(intProjectid)//已经服务对象

{

for(inti=0;i

{

if(borProject[i]==Projectid)

{

borProject[i]=0;

return1;

}

}

return0;

}

voiddisp()//读出被服务人员信息

{

cout<

[";

for(inti=0;i

if(borProject[i]!

=0)

cout<

cout<<"]"<

}

};

//被服务人员类库,实现建立被服务人员的个人资料

classRDatabase

{

private:

inttop;//被服务人员记录指针

Serviceread[Maxr];//被服务人员记录

public:

RDatabase()//构造函数,将Service.txt读到read[]中

{

Services;

top=-1;

fstreamfile("Service.txt",ios:

:

in);//打开一个输入文件

while

(1)

{

file.read((char*)&s,sizeof(s));

if(!

file)break;

top++;

read[top]=s;

}

file.close();//关闭Service.txt

}

voidclear()//删除所有被服务人员信息

{

top=-1;

}

intaddService(intn,char*na)//添加被服务人员时先查找是否存在

{

Service*p=query(n);

if(p==NULL)

{

top++;

read[top].addService(n,na);

return1;

}

return0;

}

Service*query(intServiceid)//按编号查找

{

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

if(read[i].getno()==Serviceid&&

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

{

return&read[i];

}

returnNULL;

}

voiddisp()//输出所有被服务人员信息

{

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

read[i].disp();

}

voidServicedata();//被服务人员库维护

~RDatabase()//析构函数,将read[]写到Service.txt文件中

{

fstreamfile("Service.txt",ios:

:

out);

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

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

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

file.close();

}

};

voidRDatabase:

:

Servicedata()

{

charchoice;

charrname[20];

intServiceid;

Service*r;

while(choice!

='0')

{

cout<<"\n\n\t\t\t服务维护\n\n\n\t\t1新增\n\n\t\t2更改\n\n\t\t3删除\n\n\t\t4查找\n\n\t\t5显示\n\n\t\t6全删\n\n\t\t0退出"<

cin>>choice;

switch(choice)

{

case'1':

cout<<"输入被服务人员编号:

";

cin>>Serviceid;

cout<<"输入被服务人员姓名:

";

cin>>rname;

addService(Serviceid,rname);

break;

case'2':

cout<<"输入被服务人员编号:

";

cin>>Serviceid;

r=query(Serviceid);

if(r==NULL)

{

cout<<"该人员不存在"<

break;

}

cout<<"输入新的姓名:

";

cin>>rname;

r->setname(rname);

break;

case'3':

cout<<"输入被服务人员编号:

";

cin>>Serviceid;

r=query(Serviceid);

if(r==NULL)

{

cout<<"该被服务人员不存在"<

break;

}

r->delProject();

break;

case'4':

cout<<"读入被服务人员编号:

";

cin>>Serviceid;

r=query(Serviceid);

if(r==NULL)

{

cout<<"该人员不存在"<

break;

}

r->disp();

break;

case'5':

disp();

break;

case'6':

clear();

break;

default:

cout<<"输入错误,请从新输入:

";break;

}

}

}

//项目类,实现对项目的描述,项目的编号,项目名称等

classProject

{

private:

inttag;//删除标记1:

已删0:

未删

intno;//项目编号

charname[20];//项目名称

intonshelf;//是否再架1:

未服务2:

已服务

public:

Project(){}

char*getname(){returnname;}//获取姓名

intgetno(){returnno;}//获取项目编号

intgettag(){returntag;}//获取删除标记

voidsetname(charna[])//设置项目名称

{

strcpy(name,na);

}

voiddelProject(){tag=1;}//删除项目

voidaddProject(intn,char*na)//增加项目

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

intborrowProject()//服务操作

{

if(onshelf==1)

{

onshelf=0;

return1;

}

return0;

}

voidretProject()//已服务操作

{

onshelf=1;

}

voiddisp()//输出项目

{

cout<

<<(onshelf==1?

"欢迎使用本程序":

"请服务下一位")<

}

};

//项目库类,实现对项目的维护,查找,删除等

classBDatabase

{

private:

inttop;//项目记录指针

ProjectProject[Maxb];//项目记录

public:

BDatabase()//构造函数,将Project.txt读到Project[]中

{

Projectb;

top=-1;

fstreamfile("Project.txt",ios:

:

in);

while

(1)

{

file.read((char*)&b,sizeof(b));

if(!

file)break;

top++;

Project[top]=b;

}

file.close();

}

voidclear()//全删

{

top=-1;

}

intaddProject(intn,char*na)//增加项目

{

Project*p=query(n);

if(NULL==p)

{

top++;

Project[top].addProject(n,na);

return1;

}

return0;

}

Project*query(intProjectid)//查找项目

{

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

if(Project[i].getno()==Projectid&&Project[i].gettag()==0)

{

return&Project[i];

}

returnNULL;

}

voidProjectdata();//项目库维护

voiddisp()

{

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

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

Project[i].disp();

}

~BDatabase()//析构函数,将Project[]写到Project.txt文件中

{

fstreamfile("Project.txt",ios:

:

out);

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

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

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

file.close();

}

};

voidBDatabase:

:

Projectdata()

{

charchoice;

charbname[40];

intProjectid;

Project*b;

while(choice!

='0')

{

cout<<"\n\n\n\t\t\t项目维护"<

cout<<"\t\t1新增服务项目\n\t\t2更改服务项目\n\t\t3删除服务项目\n\t\t4查找服务项目\n\t\t5显示服务项目\n\t\t6全删\n\t\t0退出"<

cin>>choice;

switch(choice)

{

case'1':

cout<<"输入项目编号:

"<

cin>>Projectid;

cout<<"输入项目名称:

"<

cin>>bname;

addProject(Projectid,bname);

break;

case'2':

cout<<"输入项目编号:

"<

cin>>Projectid;

b=query(Projectid);

if(b==NULL)

{

cout<<"该项目不存在"<

break;

}

cout<<"输入新的项目:

"<

cin>>bname;

b->setname(bname);

break;

case'3':

cout<<"读入项目编号:

"<

cin>>Projectid;

b=query(Projectid);

if(b==NULL)

{

cout<<"该项目不存在"<

break;

}

b->delProject();

break;

case'4':

cout<<"读入项目编号:

"<

cin>>Projectid;

b=query(Projectid);

if(b==NULL)

{

cout<<"该项目不存在"<

break;

}

b->disp();

break;

case'5':

disp();

break;

case'6':

clear();

break;

default:

cout<<"输入错误,请从新输入:

";

}

}

}

//main()函数的实现,程序的主界面的引导

voidmain()

{

charchoice;

intProjectid,Serviceid;

RDatabaseServiceDB;

Service*r;

BDatabaseProjectDB;

Project*b;

while(choice!

='0')

{

cout<

cout<<"\t\t\t1服务\n\n\t\t\t2维修\n\n\t\t\t3项目维护\n\n\t\t\t4消费者维护\n\n\t\t\t0离开"<

cin>>choice;

switch(choice)

{

case'1':

cout<<"服务:

请输入被服务人员编号:

";

cin>>Serviceid;

cout<<"服务项目编号:

";

cin>>Projectid;

r=ServiceDB.query(Serviceid);//按编号查找

if(NULL==r)

{

cout<<"不存在该被服务人员,不能进行服务"<

break;

}

b=ProjectDB.query(Projectid);

if(b==NULL)

{

cout<<"不存在该服务项目,请进行下一项服务"<

break;

}

if(b->borrowProject()==0)

{

cout<<"该项目正在服务,请进行下一项服务"<

break;

}

r->borrowProject(b->getno());

break;

case'2':

cout<<"还书\n被服务人员编号:

";

cin>>Serviceid;

cout<<"服务编号:

";

cin>>Projectid;

r=ServiceDB.query(Serviceid);

if(r==NULL)

{

cout<<"不存在该人员,不能进行服务"<

break;

}

b=ProjectDB.query(Projectid);

if(b==NULL)

{

cout<<"不存在该项目,不能进行服务·"<

break;

}

b->retProject();

r->retProject(b->getno());

break;

case'3':

ProjectDB.Projectdata();

break;

case'4':

ServiceDB.Servicedata();

break;

default:

cout<<"输入错误,请从新输入:

";

}

}

}

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2