1、音像管理系统C+代码#include 不要抄袭哦。class guke private: char no5; /顾客编号 char name10; /顾客姓名 public: void get() /输入顾客资料 cout no; cout name; void print() /打印顾客资料 cout 顾客编号: noendl; cout 顾客的姓名: name endl; char* getno() return(no); char* getname() return(name); ; /影碟类class die private: char code20; /影碟编号 char title
2、40; char star140;/主演1 char star240;/主演2 char producer40;/制片人 char director40;/导演 char productionCo40;/制片公司 public: char flag; /标记 die() /利用构造函数,将flag变量默认为 N ,即没有借出 flag =N; void get() /输入影碟资料 cout code; cout title; cout star1; cout star2; cout producer; cin productionCo; void print() cout 影碟编号: code
3、 endl; cout 影碟名称: title endl; cout 主演1: star1 endl; cout 主演2: star2 endl; cout 制片人: producer endl; cout 导演: director endl; cout 制片公司: productionCoendl; void getflag() cout flag; char* getcode() return(code); char* gettitle() return(title); char* getstar1() return(star1); char* getstar2() return(star
4、2); char* getproducer() return(director); char* getproductionCo() return(productionCo); ; class gukeborrowdie /用于记录租碟情况的类 public: char no5; /顾客编号 char code20; /影碟编号 void borrowdie() / 借碟 cout no; cout code; void print() /显示 cout 您的编号: no endl; cout 您要租的影碟的编号是: code endl; ; guke gukesz500; /(顾客库) die
5、 dian500; /(影碟库) gukeborrowdie gkbd500; /定义租碟记录数组(租碟库) fstream file_guke;fstream file_die;fstream file_gkbd;int g=0; /记录顾客个数 int dd=0; /记录影碟数量 int b=0; /记录租碟记录void cshguke() file_guke.open( guke.txt , ios:in); /打开文件 file_guke.read(char*)&gukesz0, sizeof(gukesz0);/将文件内容读到读者库数组的第一个对象 if(strlen(gukesz0
6、.getno() = 0) cout 顾客库信息为空,请建立顾客信息。 =500) cout 顾客库已满! endl; break; cout 初始化顾客库成功 endl; file_guke.close(); void cshdie() /初始化影碟库函数 file_die.open( diefile.txt , ios:in); file_die.read(char*)&dian0, sizeof(dian0); if(strlen(dian0.getcode() = 0) cout 影碟库信息为空,请建立影碟信息。 = 500) cout 影碟库已满! endl; break; cout
7、 初始化影碟库成功 endl; file_die.close(); void cshgkbd() /初始化租碟库 file_gkbd.open( gkbd.txt , ios:in); file_gkbd.read(char*)&gkbd0, sizeof(gkbd0); if(strlen(gkbd0.no) = 0) cout 租碟库信息为空,暂时无租碟情况。 = 500) cout 租碟库已满,请速让顾客归还影碟。 endl; break; cout 初始化租碟库成功 endl; file_gkbd.close(); void borrowdie() /租碟函数 int d = 0; /
8、逻辑判断值 int i = 0; char flag = y; gukeborrowdie temp; while(flag = y | flag = Y) temp.borrowdie(); for (i = 0; i g; i+)/判断有无此读者编号 if (strcmp(temp.no, gukeszi.getno() = 0) d = 1; /为1则有此编号,否则无此编号 break; if (d = 0) cout 对不起!您的编号不存在! endl; return; int d = 0, i = 0; /恢复初始值,进行书的编号的判断 for(i = 0; i dd; i+) /判
9、断有无此影碟编号 if(strcmp(temp.code,diani.getcode() = 0) d = 1; /同上 break; if(d = 0) cout 对不起!我们这里没有此影碟! endl; return; int j = 0; for(j = 0;j b; j+) if(strcmp(temp.code, gkbdj.code) = 0) cout 非常抱歉,此影碟已经租出。 endl; return; diani.getflag(); if (diani.flag = Y| diani.flag = y) file_gkbd.open( gkbd.txt , ios:app
10、); diani.print(); gkbdb = temp; file_gkbd.write(char*)&gkbdb, sizeof(gkbdb); b+; cout 租碟成功!请按时归还! endl; file_gkbd.close(); else cout 您不中意此影碟吗?租碟未成功。 endl; cout flag; void Printborrowdie() int i=0; for(i=0;ib;i+) gkbdi.print (); coutendl; void borrow() char choice; cout 1.凭证借碟 2.查看借碟情况 0.返回上一级菜单 endl
11、; cout choice; switch (choice) case 1: borrowdie(); break; case 2: Printborrowdie(); break; case 0: return; break; default: cout 输入错误,请重新输入: endl; void replacedie() char code20; int i = 0, d = 0; cout code; for (i = 0 ; i b; i+) if (strcmp(code, gkbdi.code) = 0) d = 1; /逻辑判断,为1则租出,否则没有租出 break; /因为影
12、碟编号具有唯一性,故退出循环 if (d = 0) cout 此碟尚未租出或者不存在。 endl; return; else cout 此碟租出情况如下: endl; gkbdi.print(); char flag; cout flag; if (flag = y | flag = Y) int p , j = 0; p = b - i; /P为要循环的次数 for (j = 0 ; j = p ; j+) gkbdi = gkbdi + 1; i+; b-; /以下为观察借碟数组变化的代码 for (i = 0; i b; i+) gkbdi.print(); cout endl; voi
13、d gkbdwritefile() int i = 0; file_gkbd.open( gkbd.txt , ios:out); for (i = 0; i = 500) cout 客户库已经满,无法添加! endl; return; char flag = y; int j = 0 ; int p = 0 ; /逻辑判断值 guke temp; file_guke.open( gukefile.txt , ios:app); while (flag = Y | flag = y) p = 0; /假设编号为不存在 temp.get(); for(j = 0; j g; j+)/判断客户编号
14、是否重复 if(strcmp( temp.getno() , gukeszj.getno() ) = 0) cout 对不起!此客户编号已经存在! endl; p = 1;/为1则存在,为0则不存在 if (p = 0) gukeszg = temp; file_guke.write(char*)&gukeszg, sizeof(gukeszg); /写入客户库 cout tt写入客户库成功 endl; g+; cout flag; file_guke.close(); void adddie() if (dd = 500) cout 影碟库已经满,无法添加! endl; return; ch
15、ar f = Y; int j = 0; int p = 0; die temp;file_die.open( diefile.txt , ios:app); while ( f = Y | f = y) p = 0; temp.get(); for(j = 0; j dd; j+) if (strcmp(temp.getcode(), dianj.getcode() = 0) cout 对不起!此影碟编号已经存在! endl; p = 1; if( p = 0) diandd = temp; file_die.write(char*)&dianb, sizeof(diandd); cout
16、tt写入影碟库成功 endl; dd+; coutf; file_die.close(); ;void gukelist() for (int j = 0; j g; j+) gukeszj.print(); cout endl; /列出所有影碟 void dielist() for(int j = 0; j dd; j+) dianj.print(); cout endl; /客户编号查找函数void gukeFind_no() int j = 0; int p = 0; /保存对象下标 int d = 0; /逻辑判断值 char flag = Y; char no5; while (fl
17、ag = Y | flag = y) d = 0; /默认为没有找到 coutno; for(j = 0 ;j g; j+) if(strcmp(no, gukeszj.getno() =0) p = j; /将下标传给p d = 1; /为1则找到对象 break; /因为code具有唯一性,故后面的不用找了,所以跳出循环. if (d = 1) gukeszp.print(); else cout非常抱歉!没有找到你想要的! endl; cout flag; /影碟编号查找函数 void dieFind_code() int j = 0; int p = 0; /保存对象 int d =
18、0; /逻辑判断值 char flag = Y; char code20; while (flag = Y | flag = y) d = 0; /默认为没有找到 cout code; for (j = 0; j dd; j+) if(strcmp(code, dianj.getcode() = 0) p = j; /将下标传给p d = 1; /为1则找到对象 break; /因为code具有唯一性,故后面的不用找了,所以跳出循环. if (d = 1) dianp.print(); else cout 非常抱歉!没有找到你想要的! endl; cout flag; /客户姓名查找模块 vo
19、id gukeFind_name() char name10; char flag = Y; int d = 0; /逻辑判断值 while (flag = Y | flag = y) d = 0; /默认为没有找到. cout name; for (int i = 0; i g; i+) if (strcmp(name, gukeszi.getname() = 0) d = 1; /找到记录,将d值变为1 gukeszi.print(); /因为姓名不具有唯一性,所以得循环完. cout endl; if(d = 0) cout 非常抱歉!没有找到你想要的! endl; cout flag;
20、 /影碟名称查找模块 void dieFind_title() char title40; char flag = Y; int d = 0; while (flag = Y | flag = y) d = 0; cout title; for(int i = 0; i b; i+) if(strcmp(title, diani.gettitle() = 0) d = 1; diani.print(); cout endl; if (d = 0) cout非常抱歉!没有找到你想要的! endl; cout flag; /客户查找 void gukeFind() char flag; while (1) cout 1.按客户编号查找 2.按客户姓名查找 0.返回上一级菜单 endl; cout flag; switch (flag) case 1: gukeFind_no(); /编号查找模块 break; case 2: guk
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1