音像管理系统C++代码.docx
- 文档编号:8010848
- 上传时间:2023-05-12
- 格式:DOCX
- 页数:29
- 大小:20.57KB
音像管理系统C++代码.docx
《音像管理系统C++代码.docx》由会员分享,可在线阅读,更多相关《音像管理系统C++代码.docx(29页珍藏版)》请在冰点文库上搜索。
音像管理系统C++代码
#include
不要抄袭哦。
。
。
。
。
。
classguke
{
private:
charno[5];//顾客编号
charname[10];//顾客姓名
public:
voidget()//输入顾客资料
{
cout<<"请输入顾客编号:
";
cin>>no;
cout<<"请输入顾客的姓名:
";
cin>>name;
}
voidprint()//打印顾客资料
{
cout<<"顾客编号:
"< cout<<"顾客的姓名: "< } char*getno() { return(no); } char*getname() { return(name); } }; //影碟类 classdie { private: charcode[20];//影碟编号 chartitle[40]; charstar1[40];//主演1 charstar2[40];//主演2 charproducer[40];//制片人 chardirector[40];//导演 charproductionCo[40];//制片公司 public: charflag;//标记 die()//利用构造函数,将flag变量默认为'N',即没有借出 { flag='N'; } voidget()//输入影碟资料 { cout<<"请输入影碟编号: "; cin>>code; cout<<"请输入影碟名称: "; cin>>title; cout<<"请输入主演1: "; cin>>star1; cout<<"请输入主演2: "; cin>>star2; cout<<"请输入制片人: "; cin>>producer; cin>>productionCo; } voidprint() { cout<<"影碟编号: "< cout<<"影碟名称: "< cout<<"主演1: "< cout<<"主演2: "< cout<<"制片人: "< cout<<"导演: "< cout<<"制片公司: "< } voidgetflag() { cout<<"确认要租此碟吗? [Y/N]"; cin>>flag; } char*getcode() { return(code); } char*gettitle() { return(title); } char*getstar1() { return(star1); } char*getstar2() { return(star2); } char*getproducer() { { return(director); } char*getproductionCo() { return(productionCo); } }; classgukeborrowdie//用于记录租碟情况的类 { public: charno[5];//顾客编号 charcode[20];//影碟编号 voidborrowdie()//借碟 { cout<<"请输入您的编号: "; cin>>no; cout<<"请输入您要租的影碟的编号: "; cin>>code; } voidprint()//显示 { cout<<"您的编号: "< cout<<"您要租的影碟的编号是: "< } }; gukegukesz[500];//(顾客库) diedian[500];//(影碟库) gukeborrowdiegkbd[500];//定义租碟记录数组(租碟库) fstreamfile_guke; fstreamfile_die; fstreamfile_gkbd; intg=0;//记录顾客个数 intdd=0;//记录影碟数量 intb=0;//记录租碟记录 voidcshguke() { file_guke.open("guke.txt",ios: : in);//打开文件 file_guke.read((char*)&gukesz[0],sizeof(gukesz[0]));//将文件内容读到读者库数组的第一个对象 if(strlen(gukesz[0].getno())==0) { cout<<"顾客库信息为空,请建立顾客信息。 "< } else { while(! file_guke.eof())//否则将文件后面的内容读到顾客库数组后面的对象之中,从而达到初始化的效果 { g++;//顾客就进行增减 file_guke.read((char*)&gukesz[g],sizeof(gukesz[g])); if(g>=500) { cout<<"顾客库已满! "< break; } } cout<<"初始化顾客库成功……"< } file_guke.close(); } voidcshdie()//初始化影碟库函数 { file_die.open("diefile.txt",ios: : in); file_die.read((char*)&dian[0],sizeof(dian[0])); if(strlen(dian[0].getcode())==0) { cout<<"影碟库信息为空,请建立影碟信息。 "< } else { while(! file_die.eof()) { dd++; file_die.read((char*)&dian[dd],sizeof(dian[dd])); if(dd>=500) { cout<<"影碟库已满! "< break; } } cout<<"初始化影碟库成功……"< } file_die.close(); } voidcshgkbd()//初始化租碟库 { file_gkbd.open("gkbd.txt",ios: : in); file_gkbd.read((char*)&gkbd[0],sizeof(gkbd[0])); if(strlen(gkbd[0].no)==0) { cout<<"租碟库信息为空,暂时无租碟情况。 "< } else { while(! file_gkbd.eof()) { b++; file_gkbd.read((char*)&gkbd[b],sizeof(gkbd[b])); if(b>=500) { cout<<"租碟库已满,请速让顾客归还影碟。 "< break; } } cout<<"初始化租碟库成功……"< } file_gkbd.close(); } voidborrowdie()//租碟函数 { intd=0;//逻辑判断值 inti=0; charflag='y'; gukeborrowdietemp; while(flag=='y'||flag=='Y') { temp.borrowdie(); for(i=0;i { if(strcmp(temp.no,gukesz[i].getno())==0) { d=1;//为1则有此编号,否则无此编号 break; } } if(d==0) { cout<<"对不起! 您的编号不存在! "< return; } intd=0,i=0;//恢复初始值,进行书的编号的判断 for(i=0;i { if(strcmp(temp.code,dian[i].getcode())==0) { d=1;//同上 break; } } if(d==0) { cout<<"对不起! 我们这里没有此影碟! "< return; } intj=0; for(j=0;j { if(strcmp(temp.code,gkbd[j].code)==0) { cout<<"非常抱歉,此影碟已经租出。 "< return; } } dian[i].getflag(); if(dian[i].flag=='Y'||dian[i].flag=='y') { file_gkbd.open("gkbd.txt",ios: : app); dian[i].print(); gkbd[b]=temp; file_gkbd.write((char*)&gkbd[b],sizeof(gkbd[b])); b++; cout<<"租碟成功! 请按时归还! "< file_gkbd.close(); } else { cout<<"您不中意此影碟吗? 租碟未成功。 "< } cout<<"要继续租此影碟吗? [Y/N]"; cin>>flag; } } voidPrintborrowdie() { inti=0; for(i=0;i { gkbd[i].print(); cout< } } voidborrow() { charchoice; cout<<"1.凭证借碟2.查看借碟情况0.返回上一级菜单"< cout<<"请输入功能代码: "; cin>>choice; switch(choice) { case'1': borrowdie(); break; case'2': Printborrowdie(); break; case'0': return; break; default: cout<<"输入错误,请重新输入: "< } } voidreplacedie() { charcode[20]; inti=0,d=0; cout<<"您要还的影碟的编号是: "; cin>>code; for(i=0;i { if(strcmp(code,gkbd[i].code)==0) { d=1;//逻辑判断,为1则租出,否则没有租出 break;//因为影碟编号具有唯一性,故退出循环 } } if(d==0) { cout<<"此碟尚未租出或者不存在。 "< return; } else { cout<<"此碟租出情况如下: "< gkbd[i].print(); } charflag; cout<<"确认要还此碟吗? [Y/N]"; cin>>flag; if(flag=='y'||flag=='Y') { intp,j=0; p=b-i;//P为要循环的次数 for(j=0;j<=p;j++) { gkbd[i]=gkbd[i+1]; i++; } b--; //以下为观察借碟数组变化的代码 for(i=0;i { gkbd[i].print(); cout< } } } voidgkbdwritefile() { inti=0; file_gkbd.open("gkbd.txt",ios: : out); for(i=0;i { file_gkbd.write((char*)&gkbd[i],sizeof(gkbd[i])); } file_gkbd.close(); } voidaddguke() { if(g>=500) { cout<<"客户库已经满,无法添加! "< return; } charflag='y'; intj=0; intp=0;//逻辑判断值 guketemp; file_guke.open("gukefile.txt",ios: : app); while(flag=='Y'||flag=='y') { p=0;//假设编号为不存在 temp.get(); for(j=0;j { if(strcmp(temp.getno(),gukesz[j].getno())==0) { cout<<"对不起! 此客户编号已经存在! "< p=1;//为1则存在,为0则不存在 } } if(p==0) { gukesz[g]=temp; file_guke.write((char*)&gukesz[g],sizeof(gukesz[g]));//写入客户库 cout<<"\t\t写入客户库成功……"< g++; } cout<<"您还要继续吗? [Y/N]"; cin>>flag; } file_guke.close(); } voidadddie() { if(dd>=500) { cout<<"影碟库已经满,无法添加! "< return; } charf='Y'; intj=0; intp=0; dietemp; file_die.open("diefile.txt",ios: : app); while(f=='Y'||f=='y') { p=0; temp.get(); for(j=0;j { if(strcmp(temp.getcode(),dian[j].getcode())==0) { cout<<"对不起! 此影碟编号已经存在! "< p=1; } } if(p==0) { dian[dd]=temp; file_die.write((char*)&dian[b],sizeof(dian[dd])); cout<<"\t\t写入影碟库成功……"< dd++; } cout<<"要继续吗? [Y/N]"; cin>>f; } file_die.close(); }; voidgukelist() { for(intj=0;j { gukesz[j].print(); cout< } } //列出所有影碟 voiddielist() { for(intj=0;j { dian[j].print(); cout< } } //客户编号查找函数 voidgukeFind_no() { intj=0; intp=0;//保存对象下标 intd=0;//逻辑判断值 charflag='Y'; charno[5]; while(flag=='Y'||flag=='y') { d=0;//默认为没有找到 cout<<"请输入要查找的客户的客户编号: "; cin>>no; for(j=0;j { if(strcmp(no,gukesz[j].getno())==0) { p=j;//将下标传给p d=1;//为1则找到对象 break;//因为code具有唯一性,故后面的不用找了,所以跳出循环. } } if(d==1) { gukesz[p].print(); } else { cout<<"非常抱歉! 没有找到你想要的! "< } cout<<"要继续查找吗? [Y/N]"; cin>>flag; } } //影碟编号查找函数 voiddieFind_code() { intj=0; intp=0;//保存对象 intd=0;//逻辑判断值 charflag='Y'; charcode[20]; while(flag=='Y'||flag=='y') { d=0;//默认为没有找到 cout<<"请输入要查找的影碟的编号: "; cin>>code; for(j=0;j { if(strcmp(code,dian[j].getcode())==0) { p=j;//将下标传给p d=1;//为1则找到对象 break;//因为code具有唯一性,故后面的不用找了,所以跳出循环. } } if(d==1) { dian[p].print(); } else { cout<<"非常抱歉! 没有找到你想要的! "< } cout<<"要继续查找吗? [Y/N]"; cin>>flag; } } //客户姓名查找模块 voidgukeFind_name() { charname[10]; charflag='Y'; intd=0;//逻辑判断值 while(flag=='Y'||flag=='y') { d=0;//默认为没有找到. cout<<"请输入要查找客户的姓名: "; cin>>name; for(inti=0;i { if(strcmp(name,gukesz[i].getname())==0) { d=1;//找到记录,将d值变为1 gukesz[i].print();//因为姓名不具有唯一性,所以得循环完. cout< } } if(d==0) { cout<<"非常抱歉! 没有找到你想要的! "< } cout<<"要继续查找吗? [Y/N]"; cin>>flag; } } //影碟名称查找模块 voiddieFind_title() { chartitle[40]; charflag='Y'; intd=0; while(flag=='Y'||flag=='y') { d=0; cout<<"请输入要查找影碟的名称: "; cin>>title; for(inti=0;i { if(strcmp(title,dian[i].gettitle())==0) { d=1; dian[i].print(); cout< } } if(d==0) { cout<<"非常抱歉! 没有找到你想要的! "< } cout<<"要继续查找吗? [Y/N]"; cin>>flag; } } //客户查找 voidgukeFind() { charflag; while (1) { cout<<"1.按客户编号查找2.按客户姓名查找0.返回上一级菜单"< cout<<"请输入功能代码: "; cin>>flag; switch(flag) { case'1': gukeFind_no();//编号查找模块 break; case'2': guk
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音像 管理 系统 C+ 代码