售后服务管理系统 合院何浩.docx
- 文档编号:12840868
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:18
- 大小:18.10KB
售后服务管理系统 合院何浩.docx
《售后服务管理系统 合院何浩.docx》由会员分享,可在线阅读,更多相关《售后服务管理系统 合院何浩.docx(18页珍藏版)》请在冰点文库上搜索。
售后服务管理系统合院何浩
#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<<"输入错误,请从新输入: "; } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 售后服务管理系统 合院何浩 售后服务 管理 系统