媒體庫管理系統(tǒng)設(shè)計(jì)_第1頁
媒體庫管理系統(tǒng)設(shè)計(jì)_第2頁
媒體庫管理系統(tǒng)設(shè)計(jì)_第3頁
媒體庫管理系統(tǒng)設(shè)計(jì)_第4頁
媒體庫管理系統(tǒng)設(shè)計(jì)_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、c+程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告題 目: 媒體庫管理系統(tǒng)設(shè)計(jì) 姓 名: 趙嘉豪 學(xué) 號(hào): 1492010117 專業(yè)班級(jí): 計(jì)科14 甲 指導(dǎo)老師: 朱夏君 2014 年 7 月 1 日浙江工商大學(xué)杭州商學(xué)院目 錄1課題目標(biāo)02程序具體實(shí)現(xiàn)原理12.1 總體方案12.1.1開發(fā)平臺(tái)12.1.2基本原理12.2 程序各個(gè)功能說明12.2.1 程序結(jié)構(gòu)12.2.2 程序各主要功能的實(shí)現(xiàn)23 課程設(shè)計(jì)調(diào)試與測試報(bào)告84 課程設(shè)計(jì)總結(jié)8附件 程序清單(源程序)91 課題目標(biāo)程序基本功能:(1)添加物品:主要完成圖書館三類物品信息的添加,要求編號(hào)唯一。當(dāng)添加了重復(fù)的編號(hào)時(shí),則提示數(shù)據(jù)添加重復(fù)并取消添加;當(dāng)物品庫

2、已滿,則提示不能再添加新的數(shù)據(jù)。(2)查詢物品可按照三種方式來查詢物品,分別為:按標(biāo)題查詢:輸入標(biāo)題,輸出所查詢的信息,若不存在該記錄,則提示“該標(biāo)題不存在!”;按編號(hào)查詢:輸入編號(hào),輸出所查詢的信息,若不存在該記錄,則提示“該編號(hào)不存在!”;按類別查詢:輸入類別,輸出所查詢的信息,若不存在記錄,則提示“該類別沒有物品!”;(3)顯示物品庫:輸出當(dāng)前物品庫中所有物品信息,每條記錄占據(jù)一行。(4)編輯物品:可根據(jù)查詢結(jié)果對(duì)相應(yīng)的記錄進(jìn)行修改,修改時(shí)注意編號(hào)的唯一性。(5)刪除物品:主要完成圖書館物品信息的刪除。如果當(dāng)前物品庫為空,則提示“物品庫為空!”,并返回操作;否則,輸入要?jiǎng)h除的編號(hào),根據(jù)編

3、號(hào)刪除該物品的記錄,如果該編號(hào)不在物品庫中,則提示“該編號(hào)不存在”。(6)統(tǒng)計(jì)信息輸出當(dāng)前物品庫中總物品數(shù),以及按物品類別,統(tǒng)計(jì)出當(dāng)前物品中各類別的物品數(shù)并顯示。(7)物品存盤:將當(dāng)前程序中的物品信息存入文件中。(8)讀出物品:從文件中將物品信息讀入程序。2 程序具體實(shí)現(xiàn)原理2.1 總體方案(1) 程序采用雙向鏈表數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)。(2) 用類來實(shí)現(xiàn)數(shù)據(jù)的封裝。(3) 使用文件的輸入輸出流實(shí)現(xiàn)對(duì)記錄的保存與讀取。2.1.1開發(fā)平臺(tái)操作系統(tǒng):win7 開發(fā)軟件:mirosoft visual c+ 6.02.1.2基本原理密碼系統(tǒng)登陸菜單管理員菜單其他人員菜單退出信息刪除信息顯示信息查詢信息添加信息

4、查詢退出2.2 程序各個(gè)功能說明2.2.1 程序結(jié)構(gòu)1.類設(shè)計(jì) 基類:tushuguan 數(shù)據(jù)成員: 作者、編號(hào)、標(biāo)題、評(píng)級(jí)、類別編號(hào) 成員函數(shù):display() 輸入姓名、編號(hào)、標(biāo)題、評(píng)級(jí)、類別編號(hào) class tushuguan public: char name256; /作者int num; /編號(hào)char biaoti256; /標(biāo)題char pingji256; /評(píng)級(jí) int x; /類別編號(hào)void display()coutname; coutnum; coutbiaoti; coutpingji; coutx; ; 派生類:tushu shipinguangpan tuh

5、ua tushu 數(shù)據(jù)成員:出版社 isbn號(hào) 頁數(shù) 成員函數(shù):display1() 調(diào)用基類的display()函數(shù)和輸入課時(shí) teacher(int s=800) /基本工資賦值 class tushu:public tushuguan public: char cbs256; /出版社 int hm; / isbn號(hào) int yeshu; /頁數(shù)void display1()cout請(qǐng)輸入圖書的; tushuguan:display();coutcbs; couthm; coutyeshu; ; shipinguangpan 數(shù)據(jù)成員:名字 時(shí)長 年份 成員函數(shù):display1() 調(diào)

6、用基類的display()函數(shù) shiyanyuan(int s=650,int b=150) /基本工資及補(bǔ)助賦值 class shipinguangpan:public tushuguan public: char mingzi256; /名字 int year; /年份 int shichang; /時(shí)長 void display1()cout請(qǐng)輸入視頻光盤的; tushuguan:display();coutmingzi; coutyear; coutshichang; ; tuhua 數(shù)據(jù)成員:國籍、長、寬 成員函數(shù):display1() 調(diào)用基類的display()函數(shù)class

7、tuhua:public tushuguan public:char guoji256; /國籍 int chang; /長int kuan; /寬void display1() cout請(qǐng)輸入圖畫的; tushuguan:display();coutguoji; coutchang; coutkuan; ;tushuguan#name256:chai#num:int #biaoti256; char#pingji256; char#x:int+display() void具體如圖: 基類 tushu#cbs256;char #hm: int#yeshu:int+display1() void

8、shipinguangpan#mingzi:char#year: int#shichang:int+display1():voidtuhua#guoji:char#chang:int#kuan:int+display1():void派生類2.2.2 程序各主要功能的實(shí)現(xiàn)1.添加函數(shù)void tushutianjia() /圖書添加 int m=3; ofstream outfile(圖書.txt,ios:app); if(outfile.fail() coutopen error!endl; exit(1); int b; coutb; for(i=0;ib;i+) int num1; cha

9、r nam256; ti.display1(); cout請(qǐng)重新輸入圖書的編號(hào)num1;cout請(qǐng)重新輸入圖書的作者nam;int n=0;for(j=0;;infile.close(); if(tj.num!=num1) n+;break; if(tj.num=num1&strcmp(,nam)!=0) break; for(j=0;jsj.num;infile.close(); if(sj.num=num1) break; else n+;break; for(j=0;jhj.num; infile.close(); if(hj.num=num1)

10、 break; else n+;break; strcpy(,nam) ; ti.num=num1; for(j=0;jtj.num; if(tj.num!=0) m=3; else m=2; infile.close(); if(n=m) outfileti.x ti.num ti.biaoti ti.pingji ti.cbs ti.hm 1 ti.yeshuendl; else cout數(shù)據(jù)添加重復(fù)。endl; outfile.close(); 2.查詢函數(shù) void biaotichaxun() /標(biāo)題查詢 int n; char biaot100; co

11、utbiaot; for(i=0,n=0;iti.numti.biaotiti.hmti.yeshu; if(ti.num=0) break; if(strcmp(ti.biaoti,biaot)=0) n+; ti.biaotiti.pingjiti.cbsti.hmti.yeshu; coutti.x ti.num ti.biaoti ti.pingji ti.cbs ti.hm ti.yeshuendl; break; infile.close(); if(n=0) cout圖書內(nèi)沒有你要查詢的信息。endl; for(i=0

12、,n=0;isi.numsi.biaotisi.yearsi.shichang; if(si.num=0) break; if(strcmp(si.biaoti,biaot)=0) n+;si.biaotisi.pingjisi.mingzisi.yearsi.shichang; coutsi.x si.num si.biaoti si.pingji si.mingzi si.year si.shichangendl;infile.close(); break; infile.close();if(n=0)cout視頻光盤內(nèi)沒有你要

13、查詢的信息。endl; for(i=0,n=0;ihi.numhi.biaotihi.changhi.kuan;if(hi.num=0) break; if(strcmp(hi.biaoti,biaot)=0) n+;hi.biaotihi.pingjihi.guojihi.changhi.kuan; couthi.x hi.num hi.biaoti hi.pingji hi.guoji hi.chang hi.kuanendl;infile.close(); break; if(n=0) cout圖畫沒有你要查詢的信息。hi.x

14、hi.biaotihi.pingjihi.guojihi.changhi.kuan; if(ti.num=0) break; else couthi.x hi.num hi.biaoti hi.pingji hi.guoji hi.chang hi.kuanendl; cout圖畫顯示完畢!endl; infile.close();4.刪除函數(shù)void tuhuashanchu() /圖畫刪除 ifstream infile(圖畫.txt,ios:in); int bianha; coutbianha; for(i=0;ihi.xhi.numhi.na

15、mehi.biaotihi.pingjihi.guojihi.changhi.kuan; if(hi.num=0) break; if(hi.num=bianha) for(int j=i;j100;j+) hj.num=0;strcpy(, );strcpy(hj.biaoti, );strcpy(hj.pingji, );strcpy(hj.guoji, ) ; hj.x=0;hj.chang=0;hj.kuan=0; infile.close();ofstream outfile(圖畫.txt,ios:out); for(i=0;i100;i+) if(hi.num!=0)

16、 outfilehi.xhi.num hi.biaoti hi.pingjihi.guojihi.changhi.kuanc; if(c=4)cout退出刪除成功。endl;break; else switch(c) case 1: tushushachu(); break; case 2: shipinguangpanshanchu();break; case 3: tuhuashanchu();break; default:cout上一次輸入錯(cuò)誤。endl;break; 5.統(tǒng)計(jì)函數(shù)void xinxitongji() /數(shù)據(jù)統(tǒng)計(jì)int n=0,k=0,m=0; for(i

17、=0;iti.xti.num; if(ti.num=0) break; if(ti.x=1) n+ ;infile.close();for(i=0;isi.xsi.num; if(si.num=0) break; if(si.x=2) k+ ; infile.close();for(i=0;ihi.xhi.num;if(hi.num=0) break; if(hi.x=3) m+ ; infile.close();cout圖書館有圖書:n本endl;coutendl; cout圖書館有視頻光盤:m個(gè)endl; coutendl; cout圖書館有圖畫k冊(cè)endl; 3 課程設(shè)計(jì)調(diào)試與測試報(bào)告1

18、. 首頁進(jìn)入媒體管理系統(tǒng)登錄系統(tǒng)2.進(jìn)入媒體庫管理主菜單2. 可進(jìn)入添加、查詢、顯示、刪除、統(tǒng)計(jì)界面 4 課程設(shè)計(jì)總結(jié)(1) 通過本次課程設(shè)計(jì),對(duì)本學(xué)期c+課程習(xí)得的知識(shí)進(jìn)行了一次綜合運(yùn)用,鞏固了所學(xué)。而本次課程設(shè)計(jì)與現(xiàn)實(shí)聯(lián)系比較緊密,綜合性也比較強(qiáng),鍛煉了獨(dú)立思考并解決問題的能力。課程設(shè)計(jì)分為兩個(gè)階段,對(duì)于處理問題比較有層次性,即逐步深入;而課程要求也對(duì)本次試驗(yàn)有一定的引導(dǎo)作用。完成了本次試驗(yàn),對(duì)于其他編程項(xiàng)目,不論簡單、復(fù)雜,也比較容易理解、接受、嘗試、解決。(2) 在做了本課程設(shè)計(jì)以后,我對(duì)c+的了解更深了,很多知識(shí)得到了鞏固,一些不懂的知識(shí)也漸漸明了!這其中主要是對(duì)指針的使用收獲很多,

19、在指針使用的過程中,對(duì)指針的指向以及對(duì)各函數(shù)中指針的賦值會(huì)影響到整個(gè)程序的運(yùn)行;還有就是對(duì)文件的輸入輸出流了解得更透徹了,知道了打開一個(gè)文件后必須還要對(duì)其關(guān)閉,否則程序無法運(yùn)行,對(duì)各種文件的輸入輸出控制符都能基本融會(huì)貫通。(3) 雖然本課題已完成,可是還是存在一些問題,比如說界面還不夠好看,為了用戶用得舒服,界面是很重要的。源代碼#include #include #include #include int i; int j; class tushuguan public: char name256; int num; char biaoti256; char pingji256; int x

20、; void display() coutname; coutnum; coutbiaoti; coutpingji; coutx; ; class tushu:public tushuguan public: char cbs256; int hm; int yeshu; void display1() cout請(qǐng)輸入圖書的; tushuguan:display(); coutcbs; couthm; coutyeshu; ; class shipinguangpan:public tushuguan public: char mingzi256; int year; int shichan

21、g; void display1() cout請(qǐng)輸入視頻光盤的; tushuguan:display(); coutmingzi; coutyear; coutshichang; ;class tuhua:public tushuguan public: char guoji256; int chang; int kuan; void display1() cout請(qǐng)輸入圖畫的; tushuguan:display(); coutguoji; coutchang; coutkuan; ; tushu t100; shipinguangpan s100; tuhua h100; void sho

22、w() cout請(qǐng)輸入你要添加的對(duì)象 :endl; cout1:圖書endl; cout2:視頻光盤endl; cout3:圖畫endl; cout4:退出添加endl; cout請(qǐng)選擇: ; void tushutianjia() /圖書添加 int m=3; ofstream outfile(圖書.txt,ios:app); if(outfile.fail() coutopen error!endl; exit(1); int b; coutb; for(i=0;ib;i+) int num1; char nam256; ti.display1(); cout請(qǐng)重新輸入圖書的編號(hào)num1;

23、cout請(qǐng)重新輸入圖書的作者nam;int n=0;for(j=0;;infile.close(); if(tj.num!=num1) n+;break; if(tj.num=num1&strcmp(,nam)!=0) break; for(j=0;jsj.num;infile.close(); if(sj.num=num1) break; else n+;break; for(j=0;jhj.num; infile.close(); if(hj.num=num1) break; else n+;break; strcpy(,nam) ;

24、 ti.num=num1; for(j=0;jtj.num; if(tj.num!=0) m=3; else m=2; infile.close(); if(n=m) outfileti.x ti.num ti.biaoti ti.pingji ti.cbs ti.hm 1 ti.yeshuendl; else cout數(shù)據(jù)添加重復(fù)。endl; outfile.close(); void shipinguangpantianjia() /視頻光盤添加 int n,m=3; ofstream outfile(視頻光盤.txt,ios:app); if(outfile.fail()

25、 ) coutopen error!endl; exit(1); int b; coutb; for(i=0,n=0;ib;i+) int num1=0; char nam256= ; si.display1(); cout請(qǐng)重新輸入視頻光盤的編號(hào)num1; cout請(qǐng)重新輸入視頻光盤的作者nam; for(j=0;;infile.close(); if(sj.num!=num1) n+;break; if(sj.num=num1&strcmp(,nam)!=0) break; for(j=0;jtj.num;infile.close(); if(tj.num=num1) break; else n+;break; for(j=0;jhj.num; if(hj.num=num1) break; else n+;break; for(j=0;jsj.num; if(sj

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論