音像出租管理系統(tǒng)_第1頁
音像出租管理系統(tǒng)_第2頁
音像出租管理系統(tǒng)_第3頁
音像出租管理系統(tǒng)_第4頁
音像出租管理系統(tǒng)_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 中國農(nóng)業(yè)大學(xué) 課程論文 (2011-2012學(xué)年春季學(xué)期) 論文題目: 音像店出租管理系統(tǒng) 課程名稱: 面向?qū)ο蟪绦蛟O(shè)計課程設(shè)計 任課教師: 康麗 班級: 信電114班 學(xué)號: 1108140406 姓名: 郭晨陽 目錄一、 系統(tǒng)設(shè)計目標(biāo)及意義 1二、 功能介紹 1三、 流程圖 2四、 類圖 3五、 主要運行界面圖及運行結(jié)果圖 4六、 系統(tǒng)設(shè)計過程中遇到的問題 11七、 創(chuàng)新點 11八、 課程設(shè)計心得體會 11九、 附錄 11 音像出租管理系統(tǒng)一、系統(tǒng)設(shè)計目標(biāo)及意義本系統(tǒng)是一個音像出租管理系統(tǒng),實現(xiàn)任意添加、刪除、編輯、找與顯示音像資料和顧客信息等功能,為音像出租店的工作提供參考。二、功能介

2、紹1、初始化顧客庫信息、影碟庫信息、租碟庫信息的操作輸入1進入系統(tǒng),輸入2退出系統(tǒng);通過函數(shù)的識別,自動判斷是否已經(jīng)初始化顧客庫信息、影碟庫信息、租碟庫信息。若未初始化,則輸入這些信息;若已建立,則可直接使用其他功能 。2、添加和顯示信息的操作:分為輸入顧客信息,輸入碟片信息。輸入顧客信息時需要輸入編號和名字,輸入碟片信息時需要輸入編號、名稱、主演。輸入完信息后可以輸出這些信息。 3、刪除信息的操作:可以刪除所輸入的影碟和顧客信息 4、查找顧客信息的操作:通過對顧客編號的輸入,實現(xiàn)查看某一位顧客的所有信息。5、查找碟片的操作:通過對碟片編號的輸入,查看是否有這個碟片或者這個碟片是否可借;6、顧

3、客租碟的操作:顧客可以通過碟片的編號查找碟片,看是否可租,在該過程中需要輸入顧客的編號;如果所輸入的編號不存在,會提示該碟片不存在;如果租碟成功,會顯示該碟片的具體信息。7、顧客還碟:通過輸入所借碟片的編號進行還碟;8、退出系統(tǒng):退出音像店出租管理系統(tǒng)界面。主程序流程圖:開始顯示系統(tǒng)菜單退出系統(tǒng)進入系統(tǒng)顧客還碟影碟管理顧客管理顧客租碟增加顧客刪除顧客列出顧客查找顧客列出所有影碟查找影碟刪除影碟增加影碟三、類圖Customer name10:char number5: char phone20: char+ get(): void + print(): void+getnumber(): cha

4、r*+getname(): char* +getphone(): char*+borrowdie(): void+Pointborrowdie(): void+replacedie(): void+addcustomer(): void+customerlist(): void+customerFind_number():void+customerFind(): void+customerdelete(): void+customerdeletefile(): void+customerguanli(): voidcostomerborrowdie+number5: char+code20:

5、char+zday15: char+hday15:char+time: int+borrowdie(): void+print(): voiddie code20:char title40:char star140:char company40: char+ flag: char+get(): void+print(): void+getflag(): void+getcode(): char*+gettitle(): char*+getstar(): char*+getcompany(): char*+adddie(): void+dielist(): void+dieFind_code:

6、void+dieFind(): void+diandelete(): void+diandeletefile(): void+dieguanli(): void四、主要運行界面圖及運行結(jié)果圖(1)輸入1進入系統(tǒng)(2)輸入4進入顧客管理(3)輸入1,添加顧客個人信息,輸入編號,姓名,如果不想繼續(xù)增加顧客輸入n(4)按5返回主界面,進行影碟庫的 初始化,輸入3再輸入1,增加影碟信息,如編號、名稱、主演。(5)輸入5回到主界面,輸入1進入顧客租碟部分,其中需要輸入顧客編號,所要租的影碟的編號,確認(rèn)是否要租碟,然后會出現(xiàn)該影碟的信息確認(rèn)是否要繼續(xù)租碟。輸入n表示不繼續(xù)租碟,回到主界面如果顧客編號或者影

7、碟編號不存在,將出現(xiàn)(5)輸入2,進入“顧客還碟”界面,輸入你所需要歸還影碟的編號,輸入y或者n確定是否歸還影碟,然后回到主界面如果沒有此影碟信息,將會有下面(6)輸入3,進入“影碟管理”界面,輸入4,列出所有影碟 然后回到影碟管理輸入3,查找影碟,輸入1按影碟編號查找,再輸入影碟編號1,輸出影碟的詳細(xì)信息輸入n回到查找界面,再輸入0返回影碟管理的界面,(7)輸入2,進入刪除影碟界面,輸入將要刪掉的影碟的編號,再輸入y,確認(rèn)刪除影碟,然后又回到影碟管理界面。 (8)輸入5,回到主界面輸入4進入顧客管理界面輸入4列出所有顧客信息,然后自動回到顧客管理界面(9)輸入3進入查找顧客的界面,輸入1進行

8、按客戶編號查詢顧客信息,輸入要查找的顧客的編號,輸入n退出查找,回到查找界面再輸入0回到上一級菜單,輸入2進行刪除顧客操作,輸入要刪除的顧客的編號,輸入y確認(rèn)刪除此顧客,并回到顧客管理界面輸入5退回到主界面,輸入2退出系統(tǒng)五、系統(tǒng)設(shè)計過程中遇到的問題1、本來想編為多文件系統(tǒng)的,但在編譯過程出現(xiàn)很多問題,例如在處理非成員函數(shù)時總會出現(xiàn)問題2、功能還不夠全面,還不能夠解決更多的問題,例如:1不能利用顧客名字和影碟名字進行查詢 2、沒有對顧客庫、碟片庫的上限進行檢查,有可能會溢出3操作界面為dos,不夠美觀,沒有能夠編成windows操作界面的六、創(chuàng)新點1、在刪除顧客時增加了判斷該顧客是否有租影碟的

9、判斷,避免了顧客已刪,但他仍有租碟的情況。七、課程設(shè)計心得體會剛開始的時候有無從下手的感覺,通過去圖書館查閱相關(guān)書籍,上網(wǎng)查找相關(guān)資料,向?qū)W長請教,漸漸的自己也開始明白如何去解決這個問題,但有一些功能的實現(xiàn)還是通過上網(wǎng)查詢或?qū)W長幫助完成。通過這次動手編這個比較大型的程序,自己也對C+的知識有了更深的了解,之前在課堂上,知識學(xué)習(xí)一些理論上的知識,雖然平時也有上機實驗,但都是編比較小的程序,而這次真正聯(lián)系全部的知識,將所有知識融會貫通的運用于一個系統(tǒng)的編程,確實讓自己提高了在書本以外的實踐動手的能力,相信也會對以后的學(xué)習(xí)提供很大的幫助。由于之前忙著期末復(fù)習(xí),沒時間弄課程設(shè)計,所以這次課程設(shè)計的時間

10、有點緊張,以至于無法呈現(xiàn)一個更完美的音像出租管理系統(tǒng)。不過,對C+認(rèn)識的加深和動手能力的提高是自己最大的收獲。八、附錄源文件代碼:#include #include #include #include #define S 1class customer private: char number5; char name10;char phone20;public: void get() cout number; cout name; coutphone; void print() cout 顧客編號: numberendl; cout 顧客的姓名: name endl;cout顧客的電話:pho

11、neendl; char* getnumber() return(number); char* getname() return(name); char* getphone() return(phone); void borrowdie(); void Printborrowdie(); void replacedie(); void addcustomer(); void customerlist(); void customerFind_number(); void customerFind(); void customerdelete(); void customerdeletefile

12、(); void customerguanli(); ; class die private: char code20; char title40; char star140; char company40; int onshelf; public: char flag; die() flag =N; void get() cout code; cout title; cout star1; coutcompany; void print() cout 影碟編號: code endl; cout 影碟名稱: title endl; cout 主演: star1 endl; cout發(fā)行公司:

13、company endl;if(onshelf)cout可租endl;elsecout已租出endl; void getflag() cout flag; char* getcode() return(code); char* gettitle() return(title); char* getstar1() return(star1); char* getcompany() return(company); void adddie() ; void dielist(); void dieFind_code();void dieFind() ; void diandelete(); void

14、 diandeletefile(); void dieguanli(); friend class customer; ; class customerborrowdie public: char number5; char code20; char zday15; char hday15; int time; void borrowdie() cout number; cout code; coutzday; couthday; couttime; void print() cout 您的編號: number endl; cout 您要租的影碟的編號是: code endl; cout您要租

15、借的日期是:zday-hdayendl; cout總計time天endl; if(time3|time=3) cout租費:time*S元; else cout租費:3*S元罰款:0.1*(time-3)endl; friend class customer; customer customersz500; die dian500; customerborrowdie gkbd500; fstream file_customer;fstream file_die;fstream file_gkbd;customer a;die n;customerborrowdie c;int g=0; in

16、t dd=0; int b=0; void cshcustomer() file_customer.open( customer.txt , ios:in); file_customer.read(char*)&customersz0, sizeof(customersz0); if(strlen(customersz0.getnumber() = 0) cout 請建立顧客信息。 endl; else while(!file_customer.eof() g+; file_customer.read(char*)&customerszg, sizeof(customerszg); cout

17、初始化顧客庫成功 endl; file_customer.close(); void cshdie() file_die.open( diefile.txt , ios:in); file_die.read(char*)&dian0, sizeof(dian0); if(strlen(dian0.getcode() = 0) cout 請建立影碟信息。 endl; else while(!file_die.eof() dd+; file_die.read(char*)&diandd, sizeof(diandd); cout 初始化影碟庫成功 endl; file_die.close(); v

18、oid cshgkbd() file_gkbd.open( gkbd.txt , ios:in); file_gkbd.read(char*)&gkbd0, sizeof(gkbd0); if(strlen(gkbd0.number) = 0) cout 暫時無租碟情況。 endl; else while (!file_gkbd.eof() b+; file_gkbd.read(char*)&gkbdb, sizeof(gkbdb); cout 初始化租碟庫成功 endl; file_gkbd.close(); void customer:borrowdie() int d = 0; int

19、i = 0; char flag = y; customerborrowdie temp; while(flag = y | flag = Y) temp.borrowdie(); for (i = 0; i g; i+) if (strcmp(temp.number, customerszi.getnumber() = 0) d = 1; break; if (d = 0) cout 對不起!您的編號不存在! endl; return; int d = 0, i = 0; for(i = 0; i dd; i+) if(strcmp(temp.code,diani.getcode() = 0

20、) 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 非常抱歉,此影碟已經(jīng)租出。 endl; return; diani.getflag(); if (diani.flag = Y| diani.flag = y) file_gkbd.open( gkbd.txt , ios:app); diani.print(); gkbdb = temp; file_gkbd.write(char

21、*)&gkbdb, sizeof(gkbdb); b+; cout 租碟成功!請按時歸還! endl; file_gkbd.close(); n.onshelf=0; else cout 租碟未成功。 endl; cout flag; void customer:Printborrowdie()int i=0;for(i=0;ib;i+)gkbdi.print ();coutendl;void customer:replacedie() char code20; int i = 0, d = 0; cout code; for (i = 0 ; i b; i+) if (strcmp(code

22、, gkbdi.code) = 0) d = 1; break; 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; for (j = 0 ; j = p ; j+) gkbdi = gkbdi + 1; i+; b-; n.onshelf+; for (i = 0; i b; i+) gkbdi.print(); cout endl;

23、 void customer:addcustomer() char flag = y; int j = 0 ; int p = 0 ; customer temp; file_customer.open( customerfile.txt , ios:app); while (flag = Y | flag = y) p = 0; temp.get(); for(j = 0; j g; j+) if(strcmp( temp.getnumber() , customerszj.getnumber() ) = 0) cout 對不起!此客戶編號已經(jīng)存在! endl; p = 1; if (p =

24、 0) customerszg = temp; file_customer.write(char*)&customerszg, sizeof(customerszg); cout tt寫入客戶庫成功 endl; g+; cout flag; file_customer.close(); void die:adddie() 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 d

25、d; j+) if (strcmp(temp.getcode(), dianj.getcode() = 0) cout 對不起!此影碟編號已經(jīng)存在! endl; p = 1; if( p = 0) diandd = temp; file_die.write(char*)&dianb, sizeof(diandd); cout tt寫入影碟庫成功 endl; dd+; coutf; file_die.close(); ;void customer:customerlist() for (int j = 0; j g; j+) customerszj.print(); cout endl; voi

26、d die:dielist() for(int j = 0; j dd; j+) dianj.print(); cout endl; void customer:customerFind_number() int j = 0; int p = 0; int d = 0; char flag = Y; char number5; while (flag = Y | flag = y) d = 0; coutnumber; for(j = 0 ;j g; j+) if(strcmp(number, customerszj.getnumber() =0) p = j; d = 1; break; i

27、f (d = 1) customerszp.print(); else cout非常抱歉!沒有找到你想要的! endl; cout flag; void die:dieFind_code() int j = 0; int p = 0; int d = 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; d = 1; break; if (d = 1) dianp.

28、print(); else cout 非常抱歉!沒有找到你想要的! endl; cout flag; void customer:customerFind() char flag; while (1) cout 1.按客戶編號查找 0.返回上一級菜單 endl; cout flag; switch (flag) case 1: a.customerFind_number(); break; case 0: return; break; default: cout 輸入錯誤,請重新輸入: endl; void die:dieFind() char flag; while (1) cout 1.按

29、影碟編號查找 0.返回上一級菜單 endl; cout flag; switch (flag) case 1: n.dieFind_code(); break; case 0: return; break; default: cout 輸入錯誤,請重新輸入: endl; void customer:customerdelete() char number5; int d = 0, i = 0, j = 0; cout number; for (i = 0; i g; i+) if (strcmp(number, customerszi.getnumber() = 0) d = 1; break

30、; if (d = 0) cout 對不起,此客戶不存在. endl; return; d = 0, j = 0; for (j = 0; j b; j+) if(strcmp( number, gkbdj.code) = 0) d = 1; break; if(d = 1) cout 此客戶有碟未還,還碟后方可刪除此客戶. endl; return; char flag; int p = b - i; cout flag; if(flag = Y | flag = y) for (j = 0; j = p; j+) customerszi = customerszi+1; i+; g-; c

31、out 客戶刪除成功 endl; for (i = 0 ; i g ; i+) customerszi.print(); cout endl; void customer:customerdeletefile() int i = 0; file_customer.open( customerfile.txt , ios:out); for (i =0; i g; i+) file_customer.write(char*)&customerszi, sizeof(customerszi); file_customer.close(); void die:diandelete() char co

32、de20; int d = 0, i = 0, j = 0; cout code; for (i = 0; i dd; i+) if(strcmp(code, diani.getcode() = 0) d = 1; break; if (d = 0) cout 對不起,此影碟不存在. endl; return; d = 0, j = 0; for (j = 0; j b; j+) if (strcmp(code, gkbdj.code) = 0) d = 1; break; if (d = 1) cout 此碟未還,還后方可刪除此影碟. endl; return; char flag; int p = dd - i; cout flag; if(flag = Y | flag = y) for (j = 0; j = p; j+) diani = diani +1;

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論