C語(yǔ)言課程設(shè)計(jì)___電影俱樂(lè)部程序設(shè)計(jì)_第1頁(yè)
C語(yǔ)言課程設(shè)計(jì)___電影俱樂(lè)部程序設(shè)計(jì)_第2頁(yè)
C語(yǔ)言課程設(shè)計(jì)___電影俱樂(lè)部程序設(shè)計(jì)_第3頁(yè)
C語(yǔ)言課程設(shè)計(jì)___電影俱樂(lè)部程序設(shè)計(jì)_第4頁(yè)
C語(yǔ)言課程設(shè)計(jì)___電影俱樂(lè)部程序設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 學(xué) 院: 專 業(yè): 姓 名: 學(xué) 號(hào):指導(dǎo)老師: 前 言 C語(yǔ)言作為一門(mén)最通用的語(yǔ)言,在過(guò)去很流行,將來(lái)依然會(huì)如此。幾乎每一個(gè)理工科或者其他專業(yè)的學(xué)生毫不例外地要學(xué)習(xí)它。記得大學(xué)里,很多學(xué)校都把譚浩強(qiáng)教授的C程序設(shè)計(jì)作為入門(mén)教材,這是絕佳的選擇。然而,要更進(jìn)一步,更全面而深入地學(xué)習(xí)呢?顯然有點(diǎn)力不從心。本書(shū)正是為了彌補(bǔ)這個(gè)缺憾而寫(xiě)的,希望能對(duì)想比較全面而深入學(xué)習(xí)C語(yǔ)言程序設(shè)計(jì)的人有所幫助。 從C語(yǔ)言產(chǎn)生到現(xiàn)在,它已經(jīng)成為最重要和最流行的編程語(yǔ)言之一。在各種流行編程語(yǔ)言中,都能看到C語(yǔ)言的影子,如Java的語(yǔ)法與C語(yǔ)言基本相同。學(xué)習(xí)、掌握C語(yǔ)言是每一個(gè)計(jì)算機(jī)技術(shù)人員的基本功之一。 C語(yǔ)言具有高

2、級(jí)語(yǔ)言的強(qiáng)大功能,卻又有很多直接操作計(jì)算機(jī)硬件的功能(這些都是匯編語(yǔ)言的功能),因此,C語(yǔ)言通常又被稱為中級(jí)語(yǔ)言。學(xué)習(xí)和掌握C語(yǔ)言,既可以增進(jìn)對(duì)于計(jì)算機(jī)底層工作機(jī)制的了解,又為進(jìn)一步學(xué)習(xí)其他高級(jí)語(yǔ)言打下了堅(jiān)實(shí)的基礎(chǔ)從入門(mén)到精通:本書(shū)分上下兩篇,上篇針對(duì)初學(xué)者,從C語(yǔ)言的基礎(chǔ)開(kāi)始,使略有計(jì)算機(jī)基礎(chǔ)的人都能容易地學(xué)會(huì)C語(yǔ)言編程。下篇?jiǎng)t介紹了C語(yǔ)言的高級(jí)程序設(shè)計(jì)技巧,包括常用算法、底層控制鼠標(biāo)、繪圖、加密、壓縮等應(yīng)用。 適用多種操作系統(tǒng):本書(shū)實(shí)例都通過(guò)GCC編譯器調(diào)試,讀者不僅可在Windows環(huán)境下使用本書(shū)學(xué)習(xí)C語(yǔ)言,也可在Linux環(huán)境下使用本書(shū)學(xué)習(xí)C語(yǔ)言。循序漸進(jìn):本書(shū)編寫(xiě)順序按C語(yǔ)言的知識(shí)點(diǎn)

3、循序漸進(jìn)地介紹。例如,先介紹數(shù)據(jù)的存儲(chǔ),再介紹數(shù)據(jù)的輸入/輸出;先介紹簡(jiǎn)單的程序設(shè)計(jì)概念,再介紹指針等C語(yǔ)言的難點(diǎn)。重點(diǎn)突出:指針是C語(yǔ)言的重點(diǎn)和難點(diǎn),本書(shū)用了大量的篇幅,從不同方面對(duì)其進(jìn)行講解,并列舉了大量的實(shí)例,幫助讀者理解并掌握指針 目 錄一、題目要求 4 二、需求分析 4三、總體設(shè)計(jì) 4四、設(shè)計(jì)圖框 5五、詳細(xì)設(shè)計(jì) 5六、程序運(yùn)行 6七上機(jī)操作 17八、總、結(jié) 21一電影俱樂(lè)部1題目要求)要求 允許俱樂(lè)部成員租用DVD.若想成為會(huì)員,首先應(yīng)簽約并且按月交納費(fèi)用。會(huì)員一次可租用三個(gè)DVD,沒(méi)有時(shí)間限制??蔀g覽所有可租用的DVD,能實(shí)現(xiàn)新成員的開(kāi)戶、會(huì)員對(duì)其賬戶狀況的查詢以及俱樂(lè)部管理者對(duì)

4、其所交易情況的查看功能。 )提示需求分析:DVD信息和俱樂(lè)部會(huì)員信息用文件存儲(chǔ),提供文件的輸入輸出操作;注冊(cè)新會(huì)員,提供文件的添加操作;實(shí)現(xiàn)按月繳納費(fèi)用,提供文件的修改操作;瀏覽信息提供顯示操作;實(shí)現(xiàn)查詢提供文件的查找操作;另外提供鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇??傮w設(shè)計(jì):整體設(shè)計(jì)為會(huì)員注冊(cè)模塊、會(huì)員交費(fèi)模塊、會(huì)員租用DVD模塊、會(huì)員歸還DVD模塊、信息瀏覽模塊和信息查詢模塊等。2需求分析)【輸入要求】應(yīng)用程序運(yùn)行后,在屏幕上顯示一個(gè)菜單。用戶可以根據(jù)需求,選定相應(yīng)的操作項(xiàng)目。進(jìn)入每個(gè)操作后,根據(jù)應(yīng)用程序的提示信息,從鍵盤(pán)輸入相應(yīng)的信息。)【輸出要求】應(yīng)用程序運(yùn)行后,要在屏幕上顯示一個(gè)菜單;要求

5、用戶輸入數(shù)據(jù)時(shí),要給出清晰、明確的提示信息,包括輸入的數(shù)據(jù)內(nèi)容、格式及結(jié)束方式等。3總體設(shè)計(jì)根據(jù)需求分析,可以對(duì)這個(gè)系統(tǒng)的設(shè)計(jì)分為以下幾個(gè)模塊:歡迎界面主菜單注冊(cè)會(huì)員繳納會(huì)費(fèi)會(huì)員DVD信息瀏覽信息查詢退出建立新檔案4詳細(xì)設(shè)計(jì)1)宏定義#include #include #include #include #include int n,n1; /* 全局*/ int N3;/* 記錄著上次建立的檔案數(shù),從新運(yùn)行程序時(shí),不會(huì)丟上次信息*/ int yuefei=30; menu1(); quit(); menu2(); menu3(); create();/*建立檔案 */ add(); /* 增

6、加信息*/ monfei(); dvd(); search1(); search2(); printhuiyuan(); printdvd(); moon(); struct dvdA char name20; int num; int sex; int huifei; int day; int dvd1; int dvd2; int dvd3; stu1100; struct dvdB int num; char name20; int k; dd1100;2)主函數(shù)主函數(shù)一般設(shè)計(jì)得比較簡(jiǎn)潔,只提供輸入輸出和功能處理的函數(shù)調(diào)用。其各功能模塊用菜單方式選擇。本題將main()函數(shù)體內(nèi)的界面選擇

7、部分語(yǔ)句單獨(dú)抽取出來(lái)作為一獨(dú)立函數(shù),目的在于系統(tǒng)執(zhí)行完每部分功能模塊后能夠方便返回到系統(tǒng)界面?!境绦颉縨ain() printf(*歡迎使用dvd信息管理系統(tǒng)*n); printf(nnnn請(qǐng)輸入管理員密碼:); if(check() menu1(); else printf( 密碼輸入錯(cuò)誤n); printf( *你無(wú)權(quán)使用本系統(tǒng)*n); quit(); )各功能模塊密碼驗(yàn)證模塊int check() char a20,str=123; int count; for(count=0;counttm_mon; d=p-tm_mday; s1=m*30+d; printf(請(qǐng)輸入檔案的個(gè)數(shù):);

8、 scanf(%d,&n); N0=n; for(i=0;in;i+) printf(請(qǐng)輸入會(huì)員名:); scanf(%s,&); printf(請(qǐng)輸入會(huì)員編號(hào); ); scanf(%d,&stu1i.num); printf(請(qǐng)輸入會(huì)員性別:男1女2:); scanf(%d,&stu1i.sex); printf(請(qǐng)輸入充入的會(huì)費(fèi):); scanf(%d,&stu1i.huifei); stu1i.day=s1; stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar(); if(fp=fopen(huiyuan.txt,w+)=NULL)

9、 printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 編號(hào) 性別 會(huì)費(fèi) n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu

10、2i.sex,stu2i.huifei); fclose(fp); printf(請(qǐng)輸入dvd檔案的個(gè)數(shù):); scanf(%d,&n1); N2=n1; for(i=0;in1;i+) printf(請(qǐng)輸入dvd編號(hào):); scanf(%d,&dd1i.num); printf(請(qǐng)輸入dvd名; ); scanf(%s,&); dd1i.k=1; getchar(); if(fp=fopen(dvd.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fwrite(&dd1i,sizeof(str

11、uct dvdB),1,fp); fclose(fp); if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; printf(請(qǐng)輸入增加會(huì)員檔案的個(gè)數(shù):); scanf(%d,&a); for(i=n;i(n+a);i+) printf(請(qǐng)輸入會(huì)員名:); scanf(%s,&); printf(請(qǐng)輸入會(huì)員編號(hào): ); scanf(%d,&stu1i.num); printf(請(qǐng)輸入會(huì)員性別:男1女2:); scanf

12、(%d,&stu1i.sex); printf(請(qǐng)輸入初始的會(huì)費(fèi):); scanf(%d,&stu1i.huifei); stu1i.day=s1; stu1i.dvd1=stu1i.dvd2=stu1i.dvd3=0; getchar(); if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=n;i(n+a);i+) fwrite(&stu1i,sizeof(struct dvdA),1,fp); fclose(fp); n=n+a; if(fp=fopen(huiyuan.txt,r+)=NU

13、LL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 編號(hào) 性別 會(huì)費(fèi) n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); N0=n; if(fp1=fopen(n.txt,w+)=NULL) printf(cannot open file); exit(0); fwrite(&N0,sizeof(int),1,fp1);

14、 fclose(fp1); 繳納會(huì)費(fèi)模塊monfei() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n請(qǐng)輸入會(huì)員姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,); if(c=0) printf(姓名 編號(hào) 性別 會(huì)

15、費(fèi) dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(請(qǐng)輸入你要充入會(huì)費(fèi)n); scanf(%d,&stu2i.huifei); fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(s

16、truct dvdA),1,fp); fclose(fp); 會(huì)員DVD信息模塊dvd() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n請(qǐng)輸入會(huì)員姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcmp(name,); if(c=0)

17、printf(姓名 編號(hào) 性別 會(huì)費(fèi) dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); printf(請(qǐng)輸入你要修改后的dvd1編號(hào):); scanf(%d,&stu2i.dvd1); printf(n請(qǐng)輸入你要修改后的dvd2編號(hào):); scanf(%d,&stu2i.dvd2); printf(n請(qǐng)輸入你要修改后的dvd3編號(hào):); scanf(%d,&stu2i.dvd3

18、); fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NULL) printf(cannot open file); exit(0); for(i=0;itm_mon; d=p-tm_mday; s1=m*30+d; if(fp=fopen(huiyuan.txt,a+)=NULL) printf(cannot open file); exit(0); for(i=0;i0) stu2i.huifei=stu2i.huifei-yuefei*s2; stu2i.day=s1; fclose(fp); if(fp=fopen(huiyuan.txt,w+)=NUL

19、L) printf(cannot open file); exit(0); for(i=0;in;i+) fwrite(&stu2i,sizeof(struct dvdA),1,fp); fclose(fp); printhuiyuan() FILE *fp; int i; struct dvdA stu2100; if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); printf(姓名 編號(hào) 性別 會(huì)

20、費(fèi) n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu2i.sex,stu2i.huifei); fclose(fp); menu2(); printdvd() FILE *fp; int i; struct dvdB dd2100; if(fp=fopen(dvd.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in1;i+) fread(&dd2i,sizeof(struct dvdB),1,fp); printf( 編號(hào) dvd名 數(shù)量n); printf(%4d,%

21、5s %4dn, dd2i.num,,dd2i.k); fclose(fp); menu2(); 信息查詢模塊search1() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n請(qǐng)輸入會(huì)員姓名:n); scanf(%s,&name); if(fp=fopen(huiyuan.txt,r+)=NULL) printf(cannot open file); exit(0); for(i=0;in;i+) fread(&stu2i,sizeof(struct dvdA),1,fp); c=strcm

22、p(name,); if(c=0) printf(姓名 編號(hào) 性別 會(huì)費(fèi) dvd1 dvd2 dvd3 n); printf(%4s,%5d,%5d,%4d %4d %4d %4dn, ,stu2i.num,stu2i.sex,stu2i.huifei,stu2i.dvd1,stu2i.dvd2,stu2i.dvd3); break; fclose(fp); menu3(); search2() FILE *fp,*fp1; int i,c; struct dvdB dd2100; printf(n請(qǐng)輸入dvd編號(hào):n); scanf(%d,&c); if(fp=fopen(dvd.txt,r+)=NULL) p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論