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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

5、用戶輸入數據時,要給出清晰、明確的提示信息,包括輸入的數據內容、格式及結束方式等。3總體設計根據需求分析,可以對這個系統(tǒng)的設計分為以下幾個模塊:歡迎界面主菜單注冊會員繳納會費會員DVD信息瀏覽信息查詢退出建立新檔案4詳細設計1)宏定義#include #include #include #include #include int n,n1; /* 全局*/ int N3;/* 記錄著上次建立的檔案數,從新運行程序時,不會丟上次信息*/ 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)主函數主函數一般設計得比較簡潔,只提供輸入輸出和功能處理的函數調用。其各功能模塊用菜單方式選擇。本題將main()函數體內的界面選擇

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

8、 scanf(%d,&n); N0=n; for(i=0;in;i+) printf(請輸入會員名:); scanf(%s,&); printf(請輸入會員編號; ); scanf(%d,&stu1i.num); printf(請輸入會員性別:男1女2:); scanf(%d,&stu1i.sex); printf(請輸入充入的會費:); 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(姓名 編號 性別 會費 n); printf(%4s,%5d,%5d,%4dn, ,stu2i.num,stu

10、2i.sex,stu2i.huifei); fclose(fp); printf(請輸入dvd檔案的個數:); scanf(%d,&n1); N2=n1; for(i=0;in1;i+) printf(請輸入dvd編號:); scanf(%d,&dd1i.num); printf(請輸入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(請輸入增加會員檔案的個數:); scanf(%d,&a); for(i=n;i(n+a);i+) printf(請輸入會員名:); scanf(%s,&); printf(請輸入會員編號: ); scanf(%d,&stu1i.num); printf(請輸入會員性別:男1女2:); scanf

12、(%d,&stu1i.sex); printf(請輸入初始的會費:); 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(姓名 編號 性別 會費 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); 繳納會費模塊monfei() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n請輸入會員姓名: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(姓名 編號 性別 會

15、費 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(請輸入你要充入會費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); 會員DVD信息模塊dvd() FILE *fp,*fp1; int i,c; char name20; struct dvdA stu2100; printf(n請輸入會員姓名: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(姓名 編號 性別 會費 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(請輸入你要修改后的dvd1編號:); scanf(%d,&stu2i.dvd1); printf(n請輸入你要修改后的dvd2編號:); scanf(%d,&stu2i.dvd2); printf(n請輸入你要修改后的dvd3編號:); 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(姓名 編號 性別 會

20、費 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( 編號 dvd名 數量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請輸入會員姓名: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(姓名 編號 性別 會費 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請輸入dvd編號:n); scanf(%d,&c); if(fp=fopen(dvd.txt,r+)=NULL) p

溫馨提示

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

評論

0/150

提交評論