版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生課程設(shè)計(jì)說明書</p><p> 題 目:c++語言課程設(shè)計(jì)</p><p><b> ——影像管理系統(tǒng)</b></p><p><b> 學(xué)生姓名: </b></p><p><b> 學(xué) 號(hào): </b></p>
2、<p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p> 班 級(jí):計(jì)算機(jī)三班</p><p><b> 指導(dǎo)教師:</b></p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 影像信息管理系統(tǒng)目錄</p><p> 內(nèi)蒙古科技大學(xué)
3、課程設(shè)計(jì)任務(wù)書I</p><p> 第一章 需求分析3</p><p><b> 1.1引言3</b></p><p> 1.2任務(wù)概述3</p><p> 1.3數(shù)據(jù)描述3</p><p> 1.4功能需求3</p><p> 1.5性
4、能需求3</p><p> 1.6運(yùn)行需求4</p><p> 1.7任務(wù)計(jì)劃4</p><p> 第二章概要設(shè)計(jì)5</p><p> 2.1總體設(shè)計(jì)5</p><p> 2.2數(shù)據(jù)類型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))5</p><p> 2.3接口設(shè)計(jì) //函數(shù)聲明
5、5</p><p> 2.4運(yùn)行界面設(shè)計(jì)5</p><p> 第三章詳細(xì)設(shè)計(jì)7</p><p> 3.1輸入模塊設(shè)計(jì)7</p><p> 3.2輸出模塊設(shè)計(jì)7</p><p> 3.3查找模塊設(shè)計(jì)7</p><p> 3.4排序模塊設(shè)計(jì)7</p>
6、<p> 3.5保存及讀取模塊設(shè)計(jì)7</p><p> 第四章測試分析8</p><p> 4.1測試程序執(zhí)行情況8</p><p> 4.2出現(xiàn)的問題和解決的方法8</p><p> 第五章用戶手冊(可選)9</p><p> 5.1使用說明9</p>
7、<p> 5.2運(yùn)行說明9</p><p> 第六章課程設(shè)計(jì)總結(jié)10</p><p> 附錄:程序代碼11</p><p><b> 參考文獻(xiàn)12</b></p><p><b> 致謝13</b></p><p><b> 第一
8、章 需求分析</b></p><p><b> 引言</b></p><p> c++語言具有高級(jí)語言的強(qiáng)大功能,卻又有很多直接操作計(jì)算機(jī)硬件的功能(這些都是匯編語言的功能),因此,c++語言通常又被稱為中級(jí)語言。學(xué)習(xí)和掌握c++語言,既可以增進(jìn)對(duì)于計(jì)算機(jī)底層工作機(jī)制的了解,又為進(jìn)一步學(xué)習(xí)其他高級(jí)語言打下了堅(jiān)實(shí)的基礎(chǔ)。</p><
9、p> 為了方便對(duì)影像進(jìn)行管理,用c++程序?qū)崿F(xiàn)這一想法。</p><p><b> 任務(wù)概述</b></p><p><b> 影像信息管理系統(tǒng)</b></p><p> 影像信息包括:碟片名稱,演員,類型,可否借閱等。試設(shè)計(jì)一碟片信息管理系統(tǒng),使之能提供以下功能:</p><p>
10、 碟片信息錄入功能(碟片信息用文件保存)--輸入</p><p> 碟片信息瀏覽功能--輸出</p><p> 查詢或排序功能:(至少兩種種查詢方式)--算法</p><p> ●按名稱查詢 ●按演員名查詢</p><p><b> 碟片的借出與歸還</b></p><p><
11、;b> 數(shù)據(jù)描述</b></p><p><b> class cd</b></p><p><b> { </b></p><p> friend class MoiveSystem;</p><p><b> private:</b></p
12、><p> char film_name[10]; </p><p> char actor [10];</p><p> char type[10];</p><p><b> int n; </b></p><p><b> };</b></p>&
13、lt;p> class MoiveSystem</p><p><b> {</b></p><p><b> public:</b></p><p> MoiveSystem();</p><p><b> public:</b></p><
14、;p> void add(void);</p><p> int check_name(void);</p><p> int check_actor(void);</p><p> int rent(void) ;</p><p> void retur_n(void) ;</p><p><b
15、> private:</b></p><p> cd CD[1000];</p><p> int cd_number; </p><p><b> };</b></p><p> MoiveSystem::MoiveSystem()</p><p><b>
16、 {</b></p><p> cd_number = 1;</p><p> } 定義結(jié)構(gòu)體類型,該類型包括四個(gè)成員:依次為碟片的名稱,演員,類型,可否借閱。</p><p><b> 功能需求</b></p><p><b> 實(shí)現(xiàn):按名稱查詢</b></p>
17、;<p><b> 按演員名查詢</b></p><p><b> 增加碟片</b></p><p><b> 借閱碟片</b></p><p><b> 歸還碟片</b></p><p><b> 性能需求</b&
18、gt;</p><p> 要求反應(yīng)時(shí)間快,對(duì)碟片的信息了解較全面。(時(shí)間特性)</p><p><b> 運(yùn)行需求</b></p><p> 屏幕格式:有菜單和工具欄以方便操作</p><p> 各數(shù)據(jù)信息可以在屏幕直接修改</p><p> 各數(shù)據(jù)結(jié)果可在屏幕顯示</p>
19、<p> 硬件環(huán)境:普通計(jì)算機(jī)</p><p> 編譯環(huán)境:vc++++6.0</p><p><b> 任務(wù)計(jì)劃</b></p><p> 設(shè)計(jì)c++程序,實(shí)現(xiàn)影像管理的各項(xiàng)功能。</p><p> 碟片查詢:兩種查詢方式分別為按名稱查詢,按演員查詢,其中如果按要求找到對(duì)應(yīng)的碟片,則輸出該書目的所
20、有信息。</p><p> 碟片增加:可輸入碟片信息。</p><p> 碟片借閱:可按名稱查詢到碟片并借閱。</p><p> 碟片歸還:可按名稱查詢到碟片并歸還。</p><p><b> 概要設(shè)計(jì)</b></p><p><b> 總體設(shè)計(jì)</b></p
21、><p> 總體設(shè)計(jì)目標(biāo):使用者可以利用本系統(tǒng)進(jìn)行對(duì)影像借閱的各項(xiàng)運(yùn)算操作,根據(jù)用戶的需求自動(dòng)的進(jìn)行添加碟片,借閱碟片,歸還碟片。查找所要的碟片,查閱碟片的詳細(xì)資料,查閱演員的詳細(xì)資料。最后清晰完整的結(jié)果于屏幕中。大大方便使用者對(duì)碟片借閱的操作,不僅節(jié)省時(shí)間,而且提高準(zhǔn)確性,可以達(dá)到事半功倍的效果。</p><p> 總體設(shè)計(jì)策略:本系統(tǒng)采用的是自頂向下、層次化的模塊結(jié)構(gòu)。</p&g
22、t;<p><b> 結(jié)構(gòu)圖:</b></p><p> 數(shù)據(jù)類型設(shè)計(jì)(或數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì))</p><p><b> class cd</b></p><p><b> { </b></p><p> friend class MoiveSystem;&l
23、t;/p><p><b> private:</b></p><p> char film_name[10]; </p><p> char actor [10];</p><p> char type[10];</p><p><b> int n; </b><
24、;/p><p><b> };</b></p><p><b> 接口設(shè)計(jì) </b></p><p><b> 運(yùn)行界面設(shè)計(jì)</b></p><p><b> 詳細(xì)設(shè)計(jì)</b></p><p><b> 輸入模塊設(shè)計(jì)
25、</b></p><p> void MoiveSystem::add(void)</p><p><b> { </b></p><p><b> FILE *a; </b></p><p><b> char s;</b></p><
26、p><b> s='y';</b></p><p> system("cls");</p><p> while (s=='y')</p><p><b> {</b></p><p> system("cls"
27、);</p><p> cout << "請(qǐng)輸入碟片名稱:\n"; </p><p> scanf("%s",CD[cd_number].film_name); getchar();</p><p> cout << "請(qǐng)輸入演員名字:\n";</p><p
28、> scanf("%s",CD[cd_number].actor);getchar();</p><p> cout << "請(qǐng)輸入碟片類型:\n"; </p><p> scanf("%s",CD[cd_number].type);getchar();</p><p> cout
29、 << "請(qǐng)輸入碟片狀態(tài):\n";</p><p> scanf("%d",&CD[cd_number].n);</p><p> getchar();</p><p> a = fopen("cd.txt","a");</p><p&g
30、t; fprintf(a,"%s %s %s %d \n",CD[cd_number].film_name,CD[cd_number].actor,CD[cd_number].type,CD[cd_number].n);</p><p> fclose(a);</p><p> cd_number++;</p><p> cout <
31、;< "是否繼續(xù)添加?(Y/N)\n";</p><p><b> cin >> s;</b></p><p> fclose(a);</p><p> system("cls");</p><p><b> }</b></p&
32、gt;<p><b> }</b></p><p> 查詢(名稱)模塊設(shè)計(jì)</p><p> int MoiveSystem::check_name(void)</p><p><b> { </b></p><p><b> int i;</b><
33、;/p><p><b> FILE *a;</b></p><p> char cd_name[10]; </p><p> system("cls");</p><p> a=fopen("cd.txt","r");</p><p&g
34、t; while(!feof(a))</p><p><b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);i
35、f(!feof(a)) cd_number++;</p><p><b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p> cin >> cd_name;</p><p> getchar();</p><
36、;p> for(i = 0; i < cd_number; i++) </p><p><b> { </b></p><p> if((strcmp(CD[i].film_name, cd_name))==0)</p><p><b> { </b></p><p> if(
37、CD[i].n==1)</p><p><b> { </b></p><p> cout << "可借閱\n"; </p><p> fclose(a);</p><p> return 1; </p><p><b> } </b>
38、;</p><p> if(CD[i].n==0)</p><p><b> { </b></p><p> cout << "已借出\n"; </p><p> fclose(a); </p><p> return 1; </p><
39、;p><b> } </b></p><p><b> }</b></p><p><b> }</b></p><p> for(i = 0; i < cd_number; i++) </p><p><b> { </b>&l
40、t;/p><p> if((strcmp(CD[i].film_name, cd_name))!=0)</p><p><b> {</b></p><p> cout << "無此片\n"; </p><p> fclose(a); </p><p> r
41、eturn 1; </p><p><b> }</b></p><p><b> }</b></p><p> fclose(a);</p><p><b> return 0;</b></p><p><b> }</
42、b></p><p> 查詢(演員)模塊設(shè)計(jì)</p><p> int MoiveSystem::check_actor(void)</p><p><b> { </b></p><p><b> int i;</b></p><p><b> F
43、ILE *a;</b></p><p> char actor[10]; </p><p> system("cls");</p><p> a=fopen("cd.txt","r");</p><p> while(!feof(a))</p>&
44、lt;p><b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number++;</p&g
45、t;<p><b> } </b></p><p> cout << "請(qǐng)輸入演員名字:\n"; </p><p> cin >> actor;</p><p> getchar();</p><p> for(i = 0; i < cd_numb
46、er; i++) </p><p><b> { </b></p><p> if((strcmp(CD[i].actor, actor))==0) </p><p><b> { </b></p><p> if(CD[i].n==1)</p><p><b&
47、gt; { </b></p><p> cout << "可借閱\n"; </p><p> fclose(a);</p><p> return 1; </p><p><b> } </b></p><p> if(CD[i].n==0)
48、</p><p><b> { </b></p><p> cout << "已借出\n"; </p><p> fclose(a); </p><p> return 1; </p><p><b> } </b></p>
49、;<p><b> }</b></p><p><b> }</b></p><p> for(i = 0; i < cd_number; i++) </p><p><b> { </b></p><p> if((strcmp(CD[i].
50、actor, actor))!=0) </p><p><b> {</b></p><p> cout << "無此片\n"; </p><p> fclose(a); </p><p> return 1; </p><p><b> }
51、</b></p><p><b> }</b></p><p> fclose(a);</p><p> return 0; </p><p><b> }</b></p><p><b> 3.4借閱模塊設(shè)計(jì)</b></
52、p><p> int MoiveSystem::rent(void) </p><p><b> { </b></p><p><b> int i;</b></p><p> int j,f=0;</p><p> char cd_name[10]; </p
53、><p><b> FILE *a; </b></p><p><b> int k=0; </b></p><p> char choice; </p><p> choice='a';</p><p> system("cls")
54、;</p><p> while(choice!='b')</p><p><b> {</b></p><p> a = fopen("cd.txt","r"); </p><p> while(!feof(a))</p><p>
55、<b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number++;</p><
56、p><b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p> cin >> cd_name;</p><p> getchar();</p><p><b> k++;</b></p>
57、;<p> for (j = 0; j < cd_number; j++) </p><p><b> { </b></p><p> if((strcmp(CD[j].film_name, cd_name))==0)</p><p><b> { </b></p><p&g
58、t; CD[j].n=0; </p><p><b> f=1;</b></p><p><b> } </b></p><p><b> } </b></p><p><b> if (f==0)</b></p><p&g
59、t; cout << "不存在此片!\n";</p><p> cout << "A: 再借一張\n"; </p><p> cout << "B: 退出\n"; </p><p> fclose(a); </p><p> scanf(
60、"%c",&choice); </p><p> getchar();</p><p> } return 0;</p><p><b> }</b></p><p><b> 3.5歸還模塊設(shè)計(jì)</b></p><p> void M
61、oiveSystem::retur_n(void) </p><p><b> { </b></p><p><b> int i;</b></p><p><b> int j;</b></p><p> char cd_name[10]; </p>
62、<p><b> FILE *a; </b></p><p><b> int k=0; </b></p><p> char choice; </p><p> choice='a';</p><p> system("cls");<
63、/p><p> while(choice!='b')</p><p><b> {</b></p><p> a = fopen("cd.txt","r"); </p><p> while(!feof(a))</p><p><b
64、> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number++;</p><p>
65、<b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p> cin >> cd_name;</p><p> getchar();</p><p><b> k++;</b></p>&l
66、t;p> for (j = 0; j < cd_number; j++) </p><p><b> { </b></p><p> if((strcmp(CD[j].film_name, cd_name))==0)</p><p><b> { </b></p><p> C
67、D[j].n=1; </p><p><b> } </b></p><p><b> else</b></p><p> cout << "不存在此片!\n";</p><p><b> } </b></p>&l
68、t;p> fclose(a); </p><p> cout << "A: 再還一張\n"; </p><p> cout << "B: 退出\n"; </p><p> cin >> choice;</p><p> getchar();</p
69、><p><b> } </b></p><p><b> }</b></p><p><b> 測試分析</b></p><p><b> 測試程序執(zhí)行情況</b></p><p><b> 課程設(shè)計(jì)總結(jié)<
70、/b></p><p> 一門課程設(shè)計(jì)是一種對(duì)語言內(nèi)容的提煉和使用,當(dāng)確定所要設(shè)計(jì)的內(nèi)容是,要從其所要實(shí)現(xiàn)的功能上下手,所確立的課題要擁有的功能是從一個(gè)用戶的角度所來考慮的,用戶是不知道其源程序,同時(shí)不知道任何內(nèi)部細(xì)節(jié),對(duì)于用戶或者所該軟件的使用者來說,你所要呈現(xiàn)的是一個(gè)清楚明了的界面,而他們可以從這個(gè)界面上得到他們所要實(shí)現(xiàn)的東西這是開發(fā)一個(gè)軟件里應(yīng)具有的思維程序,如同一個(gè)源程序的算法一樣,這樣一個(gè)算法的
71、建立會(huì)讓你有理有章,先要做些什么,然后下一步是什么,這也是從一個(gè)解決問題的理論高度上所出發(fā)的,每一問題的解決理所當(dāng)然有一個(gè)如何解決的思路呈現(xiàn),下面就具體用這個(gè)</p><p> 程序的設(shè)計(jì)過程來說明。</p><p> 當(dāng)確立要設(shè)計(jì)一個(gè)影像管理系統(tǒng)的c++語言程序時(shí),所呈現(xiàn)的第一個(gè)問題是什么:當(dāng)你對(duì)所謂的影像管理流程一無所知時(shí),你應(yīng)當(dāng)做的第一步是什么,對(duì)了,就是首先去了解它——了解它的
72、作用,它的流程,它的功能。這是一個(gè)必須要經(jīng)歷的階段,只有當(dāng)你熟練掌握你所要求的東西的細(xì)節(jié)之后,你的圍繞才能展開,你所做的后續(xù)工作一切的核心都將圍繞它,當(dāng)你要一個(gè)個(gè)實(shí)現(xiàn)它的功能是時(shí),你的思路里要求孕育著它,這就是你做這個(gè)軟件的前提,當(dāng)我了解一個(gè)影像管理系統(tǒng)的功能時(shí),了解他所要求的細(xì)節(jié)時(shí),一切就更加順理成章。我知道了一個(gè)影像管理系統(tǒng)要求有影像信息的錄入,影像信息的修改,影像信息的刪除,影像的排序,影像信息的瀏覽,影像信息的查詢當(dāng)然還有后續(xù)的
73、一些功能,這首先必須得建立在基礎(chǔ)的功能之上,然后達(dá)到進(jìn)一步的實(shí)現(xiàn)。然后就是組裝這些功能,實(shí)現(xiàn)一個(gè)算法的流程。顯而易見主函數(shù)就起到一個(gè)選擇的作用,使用switch語句來選擇相應(yīng)的功能,當(dāng)然也可以附加一個(gè)menu的子函數(shù),用主函數(shù)對(duì)他的調(diào)用,再通過它來實(shí)現(xiàn)選擇的作用。而主函數(shù)中的printf語句就可以呈現(xiàn)給用戶一個(gè)明確的界面信息,告訴用戶如何選擇,如何實(shí)現(xiàn)相應(yīng)的功能。</p><p> 當(dāng)然這一切都只是個(gè)框架,并不
74、具備具體的內(nèi)容,要達(dá)到具體的內(nèi)容不是讓讓其成為一個(gè)空架子,所以對(duì)于相應(yīng)子函數(shù)的逐個(gè)設(shè)計(jì)是整個(gè)重心!而每一個(gè)子函數(shù)的實(shí)現(xiàn)都是一個(gè)對(duì)于細(xì)節(jié)相當(dāng)程度上的把握問題,需要一遍又一遍的提煉。最終才能做得更好。往往所學(xué)習(xí)的知識(shí)內(nèi)容,即你所擁有的知識(shí)儲(chǔ)備,難以實(shí)現(xiàn)所有的要求,利用資源,而且是合理的吸收資源,反而成為一個(gè)相當(dāng)比重的能力,對(duì)于新知識(shí)的吸收和把握才能更好的體現(xiàn)你所具備的能力,從我所設(shè)計(jì)這個(gè)程序的過程上講,當(dāng)具體著手做的時(shí)候,所具備的知識(shí)是不足
75、以實(shí)現(xiàn)的,學(xué)習(xí)鏈表的相應(yīng)使用,學(xué)習(xí)文件的相應(yīng)功能上的應(yīng)用都是一個(gè)必須所經(jīng)過的過程。這其中有許多可以借鑒的子函數(shù),它們所具備的功能加以改進(jìn)就可以實(shí)現(xiàn)自己程序的功能,例如建立動(dòng)態(tài)鏈表的函數(shù),節(jié)點(diǎn)插入的insert函數(shù),以及最基本的一些函數(shù)如排序的靈活運(yùn)用都是一個(gè)利用資源的能力,要做的是理解這些程序,然后才能靈活的運(yùn)用這些東西,通過這些東西的理解也是對(duì)c++語言具體相應(yīng)規(guī)則的更加深刻的了解!同時(shí)還有僅靠課本上的內(nèi)容不足以使程序達(dá)到一定的程度,
76、因此借用一些完善程序的某些內(nèi)容可以使自己的程序更加趨于完善!</p><p> 這一切的過程說起來也許可以條分縷析,但是真正做的時(shí)候要求的東西更多,需要更加的定下心來,面對(duì)一串串代碼,運(yùn)算符,以及標(biāo)點(diǎn)符號(hào)一個(gè)也許很不顯眼的問題就足以讓你頭昏腦脹,要理清思路,要關(guān)注每一點(diǎn)。整體上的把握,例如不要忽視了函數(shù)的聲明,以至于無法運(yùn)行,嘗試著多一些調(diào)試,每一次改動(dòng)都要考慮到方方面面,要整體上把握你的程序,這樣才能減少不知
77、所以的錯(cuò)誤,當(dāng)錯(cuò)誤出現(xiàn)的時(shí)候,你可以準(zhǔn)確的把握錯(cuò)誤所出現(xiàn)的地方,這種能力的實(shí)現(xiàn)就是要求足夠的細(xì)心,要求你對(duì)程序整體上的把握足夠的熟練,當(dāng)用三天的時(shí)間就針對(duì)一個(gè)鏈表排序來改變不同種做法的時(shí)候,也許你覺得這一切都足夠的不可思議,然而實(shí)際上遠(yuǎn)遠(yuǎn)不是如此,你可以從這個(gè)過程中旁敲側(cè)擊的理解許多容易忽略的東西,熟練不是說出來的,熟練是做出來的!特別對(duì)于計(jì)算機(jī)專業(yè)的來說,對(duì)于軟件的開發(fā)來說,一切的錯(cuò)誤不可避免,一切都趨于正常為此你所建立的信心是足夠強(qiáng)
78、大的!一切其實(shí)只是個(gè)開始,我們還都只是個(gè)門外漢,當(dāng)你知道的越多,你能感受到什么,是的,你會(huì)明白你是無知的,往往你所擁有的知識(shí)只不過是鳳毛麟角,當(dāng)你逐漸明白或者說感受到這些東西的話你就不會(huì)沾沾自喜,你需要更加去學(xué)習(xí)去鉆研,如果你</p><p> 一次課程設(shè)計(jì)并不是最重要的,重要的是什么?是你通過自主的學(xué)習(xí)理解到如何去面對(duì)你生活或者學(xué)習(xí)上的問題,一個(gè)解決問題處理問題的方案,一個(gè)身在問題之中,然后你能夠如何不被它攪
79、得不知所措,能夠把握住自己的思路,一步一步走下去,時(shí)間只是個(gè)過程,過程中會(huì)有好多東西值得去做!</p><p> 課程設(shè)計(jì)并不是結(jié)束了,它只是暫告了一個(gè)段落,如果真正能夠從中得到什么,我想就是需要做的東西更多,需要做的事情更多!面對(duì)挑戰(zhàn)面對(duì)知識(shí)的接踵而至總以一種孜孜不倦的態(tài)度,永遠(yuǎn)需求!</p><p><b> 附錄:程序代碼</b></p>&l
80、t;p> #include <iostream></p><p> #include <string></p><p> #include <cstdlib></p><p> using namespace std;</p><p><b> class cd</b>
81、</p><p><b> { </b></p><p> friend class MoiveSystem;</p><p><b> private:</b></p><p> char film_name[10]; </p><p> char actor [
82、10];</p><p> char type[10];</p><p><b> int n; </b></p><p><b> };</b></p><p> class MoiveSystem</p><p><b> {</b>&l
83、t;/p><p><b> public:</b></p><p> MoiveSystem();</p><p><b> public:</b></p><p> void add(void);</p><p> int check_name(void);</
84、p><p> int check_actor(void);</p><p> int rent(void) ;</p><p> void retur_n(void) ;</p><p><b> private:</b></p><p> cd CD[1000];</p>&
85、lt;p> int cd_number; </p><p><b> };</b></p><p> MoiveSystem::MoiveSystem()</p><p><b> {</b></p><p> cd_number = 1;</p><p>&
86、lt;b> }</b></p><p> void MoiveSystem::add(void)</p><p><b> { </b></p><p><b> FILE *a; </b></p><p><b> char s;</b></
87、p><p><b> s='y';</b></p><p> system("cls");</p><p> while (s=='y')</p><p><b> {</b></p><p> system(&quo
88、t;cls");</p><p> cout << "請(qǐng)輸入碟片名稱:\n"; </p><p> scanf("%s",CD[cd_number].film_name); getchar();</p><p> cout << "請(qǐng)輸入演員名字:\n";</p
89、><p> scanf("%s",CD[cd_number].actor);getchar();</p><p> cout << "請(qǐng)輸入碟片類型:\n"; </p><p> scanf("%s",CD[cd_number].type);getchar();</p><
90、p> cout << "請(qǐng)輸入碟片狀態(tài):\n";</p><p> scanf("%d",&CD[cd_number].n);</p><p> getchar();</p><p> a = fopen("cd.txt","a");</p&g
91、t;<p> fprintf(a,"%s %s %s %d \n",CD[cd_number].film_name,CD[cd_number].actor,CD[cd_number].type,CD[cd_number].n);</p><p> fclose(a);</p><p> cd_number++;</p><p>
92、; cout << "是否繼續(xù)添加?(Y/N)\n";</p><p><b> cin >> s;</b></p><p> fclose(a);</p><p> system("cls");</p><p><b> }</b
93、></p><p><b> }</b></p><p> int MoiveSystem::check_name(void)</p><p><b> { </b></p><p><b> int i;</b></p><p><
94、b> FILE *a;</b></p><p> char cd_name[10]; </p><p> system("cls");</p><p> a=fopen("cd.txt","r");</p><p> while(!feof(a))<
95、;/p><p><b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number+
96、+;</p><p><b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p> cin >> cd_name;</p><p> getchar();</p><p> for(i = 0; i &
97、lt; cd_number; i++) </p><p><b> { </b></p><p> if((strcmp(CD[i].film_name, cd_name))==0)</p><p><b> { </b></p><p> if(CD[i].n==1)</p>
98、<p><b> { </b></p><p> cout << "可借閱\n"; </p><p> fclose(a);</p><p> return 1; </p><p><b> } </b></p><p>
99、 if(CD[i].n==0)</p><p><b> { </b></p><p> cout << "已借出\n"; </p><p> fclose(a); </p><p> return 1; </p><p><b> } <
100、;/b></p><p><b> }</b></p><p><b> }</b></p><p> for(i = 0; i < cd_number; i++) </p><p><b> { </b></p><p> i
101、f((strcmp(CD[i].film_name, cd_name))!=0)</p><p><b> {</b></p><p> cout << "無此片\n"; </p><p> fclose(a); </p><p> return 1; </p>&
102、lt;p><b> }</b></p><p><b> }</b></p><p> fclose(a);</p><p><b> return 0;</b></p><p><b> }</b></p><p
103、> int MoiveSystem::check_actor(void)</p><p><b> { </b></p><p><b> int i;</b></p><p><b> FILE *a;</b></p><p> char actor[10];
104、 </p><p> system("cls");</p><p> a=fopen("cd.txt","r");</p><p> while(!feof(a))</p><p><b> { </b></p><p> f
105、scanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number++;</p><p><b> } </b></p><p&g
106、t; cout << "請(qǐng)輸入演員名字:\n"; </p><p> cin >> actor;</p><p> getchar();</p><p> for(i = 0; i < cd_number; i++) </p><p><b> { </b>&l
107、t;/p><p> if((strcmp(CD[i].actor, actor))==0) </p><p><b> { </b></p><p> if(CD[i].n==1)</p><p><b> { </b></p><p> cout << &
108、quot;可借閱\n"; </p><p> fclose(a);</p><p> return 1; </p><p><b> } </b></p><p> if(CD[i].n==0)</p><p><b> { </b></p>
109、<p> cout << "已借出\n"; </p><p> fclose(a); </p><p> return 1; </p><p><b> } </b></p><p><b> }</b></p><p&g
110、t;<b> }</b></p><p> for(i = 0; i < cd_number; i++) </p><p><b> { </b></p><p> if((strcmp(CD[i].actor, actor))!=0) </p><p><b> {&l
111、t;/b></p><p> cout << "無此片\n"; </p><p> fclose(a); </p><p> return 1; </p><p><b> }</b></p><p><b> }</b>&
112、lt;/p><p> fclose(a);</p><p> return 0; </p><p><b> }</b></p><p> int MoiveSystem::rent(void) </p><p><b> { </b></p>&l
113、t;p><b> int i;</b></p><p> int j,f=0;</p><p> char cd_name[10]; </p><p><b> FILE *a; </b></p><p><b> int k=0; </b></p>
114、<p> char choice; </p><p> choice='a';</p><p> system("cls");</p><p> while(choice!='b')</p><p><b> {</b></p>&
115、lt;p> a = fopen("cd.txt","r"); </p><p> while(!feof(a))</p><p><b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_nam
116、e,&CD[cd_number].actor,&CD[cd_number].type,&CD[cd_number].n);if(!feof(a)) cd_number++;</p><p><b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p&
117、gt; cin >> cd_name;</p><p> getchar();</p><p><b> k++;</b></p><p> for (j = 0; j < cd_number; j++) </p><p><b> { </b></p>&
118、lt;p> if((strcmp(CD[j].film_name, cd_name))==0)</p><p><b> { </b></p><p> CD[j].n=0; </p><p><b> f=1;</b></p><p><b> } </b>
119、</p><p><b> } </b></p><p><b> if (f==0)</b></p><p> cout << "不存在此片!\n";</p><p> cout << "A: 再借一張\n"; </p&
120、gt;<p> cout << "B: 退出\n"; </p><p> fclose(a); </p><p> scanf("%c",&choice); </p><p> getchar();</p><p> } return 0;</p>
121、;<p><b> }</b></p><p> void MoiveSystem::retur_n(void) </p><p><b> { </b></p><p><b> int i;</b></p><p><b> int j
122、;</b></p><p> char cd_name[10]; </p><p><b> FILE *a; </b></p><p><b> int k=0; </b></p><p> char choice; </p><p> choice=
123、'a';</p><p> system("cls");</p><p> while(choice!='b')</p><p><b> {</b></p><p> a = fopen("cd.txt","r"); &
124、lt;/p><p> while(!feof(a))</p><p><b> { </b></p><p> fscanf(a,"%s %s %s %d",&CD[cd_number].film_name,&CD[cd_number].actor,&CD[cd_number].type,&
125、CD[cd_number].n);if(!feof(a)) cd_number++;</p><p><b> } </b></p><p> cout << "請(qǐng)輸入碟片名:\n"; </p><p> cin >> cd_name;</p><p> getchar
126、();</p><p><b> k++;</b></p><p> for (j = 0; j < cd_number; j++) </p><p><b> { </b></p><p> if((strcmp(CD[j].film_name, cd_name))==0)</
127、p><p><b> { </b></p><p> CD[j].n=1; </p><p><b> } </b></p><p><b> else</b></p><p> cout << "不存在此片!\n&q
128、uot;;</p><p><b> } </b></p><p> fclose(a); </p><p> cout << "A: 再還一張\n"; </p><p> cout << "B: 退出\n"; </p><p&g
129、t; cin >> choice;</p><p> getchar();</p><p><b> } </b></p><p><b> }</b></p><p> int main (void) </p><p><b> {<
130、;/b></p><p> MoiveSystem *app = new MoiveSystem();</p><p> char choice;</p><p> while (choice!='f')</p><p><b> {</b></p><p> co
131、ut << " 歡迎進(jìn)入影片信息管理系統(tǒng)\n";</p><p> cout << " 請(qǐng)輸入你的選擇\n"; </p><p> cout << " A: 增加影片\n"; </p>&l
132、t;p> cout << " B: 影片查詢 (按名稱\n"; </p><p> cout << " C: 影片查詢 (按演員)\n"; </p><p> cout << " D: 碟片借
133、出\n"; </p><p> cout << " E: 碟片歸還\n"; </p><p> cout << " F: 退出程序\n"; </p><p> cin >> choice;</
134、p><p> switch(choice) </p><p><b> { </b></p><p> case 'a': </p><p><b> { </b></p><p> app->add();</p><p&g
135、t;<b> break; </b></p><p><b> } </b></p><p> case 'b': </p><p><b> { </b></p><p> app->check_name();</p><p
136、><b> break; </b></p><p><b> } </b></p><p> case 'c': </p><p><b> { </b></p><p> app->check_actor();</p>&l
137、t;p><b> break; </b></p><p><b> } </b></p><p> case 'd': </p><p><b> { </b></p><p> app->rent();</p><p&
138、gt;<b> break; </b></p><p><b> } </b></p><p><b> case'e': </b></p><p><b> { </b></p><p> app->retur_n();&
139、lt;/p><p><b> break;</b></p><p><b> }</b></p><p><b> case'f': </b></p><p><b> { </b></p><p> dele
140、te app;</p><p><b> exit(0);</b></p><p><b> break;</b></p><p><b> } </b></p><p><b> }</b></p><p><b&g
141、t; }</b></p><p> delete app;</p><p><b> return 0;</b></p><p><b> }</b></p><p><b> 參考文獻(xiàn)</b></p><p> 吳敏 楊國林著.
溫馨提示
- 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++語言課程設(shè)計(jì)報(bào)告書--學(xué)生學(xué)籍管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告-- 學(xué)籍管理系統(tǒng)
- c++課程設(shè)計(jì)—教師管理系統(tǒng)報(bào)告
- 酒店管理系統(tǒng)_c++課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告--酒店管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--成績管理系統(tǒng)
- 《c++語言程序設(shè)計(jì)》課程設(shè)計(jì)報(bào)告
- 學(xué)生成績管理系統(tǒng)c++語言課程設(shè)計(jì)報(bào)告書+
- c++課程設(shè)計(jì)報(bào)告-商品管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告飛機(jī)訂票管理系統(tǒng)
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++課程設(shè)計(jì)報(bào)告--高校人員管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---銀行管理系統(tǒng)
- visual c++超市管理系統(tǒng)課程設(shè)計(jì)報(bào)告
- c++課程設(shè)計(jì)報(bào)告(學(xué)生學(xué)籍管理系統(tǒng))
- c++課程設(shè)計(jì)報(bào)告(學(xué)生學(xué)籍管理系統(tǒng))
- c++課程設(shè)計(jì)報(bào)告-圖書管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告---設(shè)備管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告賓館房間管理系統(tǒng)
- c++課程設(shè)計(jì)報(bào)告--人事管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論