實(shí)訓(xùn)音像店管理系統(tǒng)的C++源代碼_第1頁
實(shí)訓(xùn)音像店管理系統(tǒng)的C++源代碼_第2頁
實(shí)訓(xùn)音像店管理系統(tǒng)的C++源代碼_第3頁
實(shí)訓(xùn)音像店管理系統(tǒng)的C++源代碼_第4頁
實(shí)訓(xùn)音像店管理系統(tǒng)的C++源代碼_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C++源代碼#include <iostream.h>#include <fstream.h>#include <string.h>#include <iomanip.h>class guke{private:char no[5];//顧客編號char name[10];//顧客姓名public:void get//輸入顧客資料{cout<<“請輸入顧客編號:“;cin>>no;cout<<“請輸入顧客的姓名:“;cin>>name;}void print//打印顧客資料{cout<<“顧客編號:“<<no<<endl;cout<<“顧客的姓名:“<<name<<endl;}char* getno{return(no);}char* getname{return(name);}};//影碟類class die{private:char code[20];//影碟編號char title[40];char star1[40];//1char star2[40];//主演2char producer[40];//制片人char director[40];//導(dǎo)演char productionCo[40];//制片公司public:char flag;//標(biāo)記die//利用構(gòu)造函數(shù),將flag變量默認(rèn)為”N”,即沒有借出{flag=”N”;}void get//輸入影碟資料{cout<<“請輸入影碟編號:“;cin>>code;cout<<“請輸入影碟名稱:“;cin>>title;cout<<“1:“;cin>>star1;cout<<“2:“;cin>>star2;cout<<“請輸入制片人:“;cin>>producer;cout<<“請輸入導(dǎo)演:“;cin>> director;cout<<“請輸入制片公司:“;cin>> productionCo;}void print{cout<<“影碟編號:“<<code <<endl;cout<<“影碟名稱:“<<title <<endl;cout<<“1:“<<star1<<endl;cout<<“2:“<<star2<<endl;cout<<“制片人:“<<producer<<endl;cout<<“導(dǎo)演:“<<director<<endl;cout<<“制片公司:“<<productionCo<<endl;}void getflag{cout<<“確認(rèn)要租此碟嗎?[Y/N]“;cin>>flag;}char* getcode{return(code);}char* gettitle{return(title);}char* getstar1{return(star1);}char* getstar2{return(star2);}char* getproducer{return(producer);}char* getdirector{return(director);}char* getproductionCo{return(productionCo);}};class gukeborrowdie //用于記錄租碟狀況的類{public:char no[5];//顧客編號char code[20];//影碟編號void borrowdie//借碟{cout<<“請輸入您的編號:“;cin>>no;cout<<“請輸入您要租的影碟的編號:“;cin>>code;}void print//顯示{cout<<“您的編號:“<<no<<endl;cout<<“您要租的影碟的編號是:“<<code<<endl;}};guke gukesz[500];//(顧客庫)die dian[500];//(影碟庫)gukeborrowdie gkbd[500];//定義租碟記錄數(shù)組(租碟庫)fstream file_guke;fstream file_die;fstream file_gkbd;int g=0;//記錄顧客個數(shù)int dd=0;//記錄影碟數(shù)量int b=0;//記錄租碟記錄voidcshguke{file_guke.open(“guke.txt“, ios::in);//翻開文件file_guke.read((char*)&gukesz[0], sizeof(gukesz[0]));//將文件內(nèi)容讀到讀者庫數(shù)組的第一個對象if(strlen(gukesz[0].getno) == 0){cout<<“顧客庫信息為空,請建立顧客信息?!?lt;<endl;}else{while(!file_guke.eof)//否則將文件后面的內(nèi)容讀到顧客庫數(shù)組后面的對象之中,從而到達(dá)初始化的效果{g++;//顧客就進(jìn)展增減file_guke.read((char*)&gukesz[g], sizeof(gukesz[g]));if (g>=500){cout<<“顧客庫已滿!“<<endl;break;}}cout<<“初始化顧客庫成功……“<<endl;}file_guke.close;}voidcshdie//初始化影碟庫函數(shù){file_die.open(“diefile.txt“, ios::in);file_die.read((char*)&dian[0], sizeof(dian[0]));if(strlen(dian[0].getcode) == 0){}else{

cout<<“影碟庫信息為空,請建立影碟信息?!?lt;<endl;while(!file_die.eof){dd++;file_die.read((char*)&dian[dd], sizeof(dian[dd]));if(dd>=500){cout<<“影碟庫已滿!“<<endl;break;}}cout<<“初始化影碟庫成功……“<<endl;}file_die.close;}void cshgkbd //初始化租碟庫{file_gkbd.open(“gkbd.txt“, ios::in);file_gkbd.read((char*)&gkbd[0], sizeof(gkbd[0]));if(strlen(gkbd[0].no)==0){cout<<“租碟庫信息為空,臨時無租碟狀況?!?lt;<endl;}else{while (!file_gkbd.eof){b++;file_gkbd.read((char*)&gkbd[b], sizeof(gkbd[b]));if (b >= 500){cout<<“租碟庫已滿,請速讓顧客歸還影碟。break;}}

“<<endl;cout<<“初始化租碟庫成功……“<<endl;}file_gkbd.close;}void{intdborrowdie//租碟函數(shù)= 0;//規(guī)律推斷值inti= 0;charflag=”y”;gukeborrowdie temp;while(flag ==”y”||flag ==”Y”){temp.borrowdie;for(i =0; i <g;i++)//推斷有無此讀者編號{if(strcmp(temp.no, gukesz[i].getno) == 0){d = 1;//1則有此編號,否則無此編號break;}}if (d==0){cout<<“對不起!您的編號不存在!“<<endl;return;}int d=0, i=0; //恢復(fù)初始值,進(jìn)展書的編號的推斷for(i=0;i<dd;i++)//推斷有無此影碟編號{if(strcmp(temp.code,dian[i].getcode) == 0){d=1;//同上break;}}if(d==0){cout<<“對不起!我們這里沒有此影碟!“<<endl;return;}int j=0;for(j=0;j<b;j++){if(strcmp(temp.code,gkbd[j].code) == 0){cout<<“格外內(nèi)疚,此影碟已經(jīng)租出。“<<endl;return;}}dian[i].getflag;if(dian[i].flag==”Y”||dian[i].flag==”y”){}else{}

file_gkbd.open(“gkbd.txt“, ios::app);dian[i].print;gkbd[b] = temp;file_gkbd.write((char*)&gkbd[b], sizeof(gkbd[b]));b++;cout<<“租碟成功!請按時歸還!“<<endl;file_gkbd.close;cout<<“您不中意此影碟嗎?租碟未成功。“<<endl;cout<<“要連續(xù)租此影碟嗎?[Y/N]“;cin>>flag;}}voidPrintborrowdie{inti=0;for(i=0;i<b;i++){gkbd[i].print;cout<<endl;}}voidborrow{charchoice;cout<<“1.憑證借碟2.查看借碟狀況0.返回上一級菜單“<<endl;cout<<“請輸入功能代碼:“;cin>>choice;switch(choice){case ”1”:borrowdie;break;case ”2”:Printborrowdie;break;case ”0”:return;break;default:cout<<“輸入錯誤,請重輸入:“<<endl;}}void replacedie{char code[20];int i=0,d=0;cout<<“您要還的影碟的編號是:“;cin>>code;for(i=0;i<b;i++){if(strcmp(code, gkbd[i].code) == 0){d=1;//1則租出,否則沒有租出break;//由于影碟編號具有唯一性,故退出循環(huán)}}if(d==0){cout<<“此碟尚未租出或者不存在?!?lt;<endl;return;}else{cout<<“此碟租出狀況如下:“<<endl;gkbd[i].print;}charflag;cout<<“確認(rèn)要還此碟嗎?[Y/N]“;cin>>flag;if(flag==”y”||flag==”Y”){intp,j=0;p=b-i; //P為要循環(huán)的次數(shù)for(j =0;j<=p;j++){gkbd[i]=gkbd[i+1];i++;}b--;//以下為觀看借碟數(shù)組變化的代碼for(i=0;i<b;i++){gkbd[i].print;cout<<endl;}}}void gkbdwritefile{inti=0;file_gkbd.open(“gkbd.txt“,ios::out);for(i=0;i<b;i++){file_gkbd.write((char*)&gkbd[i],sizeof(gkbd[i]));}file_gkbd.close;}voidaddguke{if (g>=500){cout<<“客戶庫已經(jīng)滿,無法添加!“<<endl;return;}charflag=”y”;int j= 0;int p= 0;//規(guī)律推斷值guke temp;file_guke.open(“gukefile.txt“,ios::app);while (flag==”Y”||flag==”y”){p= 0;//假設(shè)編號為不存在temp.get;for(j=0;j<g;j++)//推斷客戶編號是否重復(fù){if(strcmp(temp.getno,gukesz[j].getno)==0){cout<<“對不起!此客戶編號已經(jīng)存在!“<<endl;p=1;//1則存在,0則不存在}}if(p==0){gukesz[g]=temp;file_guke.write((char*)&gukesz[g],sizeof(gukesz[g]));//寫入客戶庫cout<<“\t\t“<<endl;g++;}cout<<“您還要連續(xù)嗎?[Y/N]“;cin>>flag;}file_guke.close;}voidadddie{if(dd>=500){cout<<“影碟庫已經(jīng)滿,無法添加!“<<endl;return;}char 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, dian[j].getcode) == 0){cout<<“對不起!此影碟編號已經(jīng)存在!“<<endl;p =1;}}if(p==0){dian[dd]=temp;file_die.write((char*)&dian[b], sizeof(dian[dd]));cout<<“\t\t寫入影碟庫成功……“<<endl;dd++;}cout<<“要連續(xù)嗎?[Y/N]“;cin>>f;}file_die.close;};void gukelist{for(intj=0;j<g;j++){gukesz[j].print;cout<<endl;}}//列出全部影碟void dielist{for(intj=0;j<dd;j++){dian[j].print;cout<<endl;}}//客戶編號查找函數(shù)void gukeFind_no{intj=0;intp=0;//保存對象下標(biāo)intd=0;//規(guī)律推斷值charflag=”Y”;charno[5];while(flag==”Y”||flag==”y”){d=0;//默認(rèn)為沒有找到cout<<“請輸入要查找的客戶的客戶編號:“;cin>>no;for(j=0;j<g;j++){if(strcmp(no,gukesz[j].getno)==0){p=j;//將下標(biāo)傳給pd=1;//1則找到對象break;//由于code具有唯一性,故后面的不用找了,所以跳出循環(huán).}}if(d==1){gukesz[p].print;}else{cout<<“格外內(nèi)疚!沒有找到你想要的!“<<endl;}cout<<“要連續(xù)查找嗎?[Y/N]“;cin>>flag;}}//影碟編號查找函數(shù)void dieFind_code{intj=0;intp=0;//保存對象intd=0;//規(guī)律推斷值char flag=”Y”;char code[20];while(flag==”Y”||flag==”y”){d= 0;//默認(rèn)為沒有找到cout<<“請輸入要查找的影碟的編號:“;cin>>code;for(j=0;j<dd;j++){if(strcmp(code,dian[j].getcode)==0){p=j;//將下標(biāo)傳給pd=1;//1則找到對象break;//由于code具有唯一性,故后面的不用找了,所以跳出循環(huán).}}if(d==1){dian[p].print;}else{cout<<“格外內(nèi)疚!沒有找到你想要的!“<<endl;}cout<<“要連續(xù)查找嗎?[Y/N]“;cin>>flag;}}//客戶姓名查找模塊void gukeFind_name{char name[10];char flag = ”Y”;int d = 0;//規(guī)律推斷值while (flag == ”Y”|| flag == ”y”){d=0;//默認(rèn)為沒有找到.cout<<“請輸入要查找客戶的姓名:“;cin>>name;for(inti=0;i<g;i++){if(strcmp(name,gukesz[i].getname)==0){d = 1;//找到記錄,將d1gukesz[i].print;//由于姓名不具有唯一性,所以得循環(huán)完.cout<<endl;}}if(d==0){cout<<“格外內(nèi)疚!沒有找到你想要的!“<<endl;}cout<<“要連續(xù)查找嗎?[Y/N]“;cin>>flag;}}//影碟名稱查找模塊void dieFind_title{chartitle[40];charflag=”Y”;int d=0;while(flag==”Y”||flag==”y”){d=0;cout<<“請輸入要查找影碟的名稱:“;cin>>title;for(inti=0;i<b;i++){if(strcmp(title,dian[i].gettitle)==0){d=1;dian[i].print;cout<<endl;}}if(d==0){cout<<“格外內(nèi)疚!沒有找到你想要的!“<<endl;}cout<<“要連續(xù)查找嗎?[Y/N]“;cin>>flag;}}//客戶查找void gukeFind{char flag;while (1){cout<<“1.按客戶編號查找 2.按客戶姓名查找“<<endl;cout<<“請輸入功能代碼:“;cin>>flag;switch (flag){

0.返回上一級菜單case ”1”:gukeFind_no;//編號查找模塊break;case ”2”:gukeFind_name;//姓名查找模塊break;case ”0”:return;break;default:cout<<“輸入錯誤,請重輸入:“<<endl;}}}//影碟查找void dieFind{char flag;while (1){cout<<“1.按影碟編號查找 2.按影碟名查找<<endl;cout<<“請輸入功能代碼:“;cin>>flag;switch (flag){

0.返回上一級菜單“case ”1”:dieFind_code;//按影碟編號查找模塊break;case ”2”:dieFind_title;//按書名查找模塊case ”0”:return;break;default:cout<<“輸入錯誤,請重輸入:“<<endl;}}}void gukedelete{charno[5]; //客戶編號int d=0,i=0,j=0;cout<<“請輸入要刪除的客戶的編號:“;cin>>no;for (i=0;i<g;i++)//首先推斷客戶庫有沒有此客戶{if(strcmp(no,gukesz[i].getno)==0){d =1;//1則有break;}}if(d==0){cout<<“對不起,此客戶不存在.“<<endl;return;}d=0,j=0; //恢復(fù)初值,在借書庫進(jìn)展推斷for(j=0;j<b;j++){if(strcmp(no,gkbd[j].code)==0){d=1; //1則有碟未還break;}}if(d==1){cout<<“此客戶有碟未還,還碟前方可刪除此客戶.“<<endl;return;}char flag;int p=b-i;cout<<“確認(rèn)刪除此客戶嗎?[Y/N]“;cin>>flag;if(flag==”Y”||flag==”y”){for(j=0;j<= p;j++)//挪動客戶數(shù)組;{gukesz[i]=gukesz[i+1];i++;}g--;cout<<“客戶刪除成功“<<endl;}for(i=0;i<g;i++){gukesz[i].print;cout<<endl;}}void gukedeletefile//刪除顧客文件上的操作{inti=0;file_guke.open(“gukefile.txt“, ios::out);for(i=0;i<g;i++){file_guke.write((char*)&gukesz[i], sizeof(gukesz[i]));}file_guke.close;}void diandelete{char code[20]; //影碟編號intd=0,i=0,j=0;cout<<“請輸入要刪除的影碟編號:“;cin>>code;for(i=0;i<dd;i++)//首先推斷客戶庫有沒有此客戶{if(strcmp(code,dian[i].getcode)== 0){d=1;//1則有break;}}if(d==0){cout<<“對不起,此影碟不存在.“<<endl;return;}d=0,j=0;//恢復(fù)初值,在借書庫進(jìn)展推斷for(j= 0;j < b;j++){if(strcmp(code,gkbd[j].code)==0){d =1;//1則有書未還break;}}if(d==1){cout<<“此碟未還,還前方可刪除此影碟.“<<endl;return;}char flag;int p=dd-i;cout<<“確認(rèn)刪除此影碟嗎?[Y/N]“;cin>>flag;if(flag==”Y” || flag==”y”){for(j=0;j<=p;j++)//挪動客戶數(shù)組;{dian[i]=dian[i+1];i++;}dd--;cout<<“影碟刪除成功“<<endl;}for(i=0;i<dd;i++){dian[i].print;cout<<endl;}}void diandeletefile//刪除影碟文件上的操作{inti = 0;file_die.open(“diefile.txt“,ios::out);for(i=0;i< dd; i++){file_die.write((char*)&dian[i], sizeof(dian[i]));}file_die.close;}void gukeguanli//顧客治理{char flag;while (1){cout<<“1.增加顧客“<<endl;cout<<“2.刪除顧客“<<endl;cout<<“3.查找顧客“<<endl;cout<<“4.列出全部顧客“<<endl;cout<<“5.退出“<<endl;cout<<“請輸入功能代碼:“;cin>>flag;switch (flag){default:}}}

case ”1”:addguke;//增加顧客break;case ”2”:gukedelete;//刪除顧客break;case ”3”:gukeFind;//查找顧客break;case ”4”:gukelist;//顯示全部顧客break;case ”5”:return;break;cout<<“輸入錯誤,請重輸入:“<<endl;void dieguanli//影碟治理{c

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論