C語言課程設計報告圖書信息管理系統(tǒng)_第1頁
C語言課程設計報告圖書信息管理系統(tǒng)_第2頁
C語言課程設計報告圖書信息管理系統(tǒng)_第3頁
C語言課程設計報告圖書信息管理系統(tǒng)_第4頁
C語言課程設計報告圖書信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩25頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言課程設計報告圖書信息管理系統(tǒng)設計55071-13陳杰20071001797指導老師:劉文中C語言程序設計編程實踐是學習C語言程序設計的一重要環(huán)節(jié),上機實習和 課程設計是提高同學們程序設計能力的有效途徑,能夠使同學們 初步掌握程序設計的基本方法和調試技能。學校安排上機時間有 限,老師也只能教給我們一些方法,而我們自己需要投入很大的 時間和精力來鍛煉。1、題目要求設計“圖書信息管理系統(tǒng)”要求:圖書信息包括:登錄號,書名,作者名,分類號,出版單位,出 版時間,價格等。使之提供以下功能:(1)系統(tǒng)以菜單方式工作。(2)圖書信息錄入功能。(圖書信息用文件保存)。(3)圖書信息瀏覽功能。(4)圖書信

2、息查詢功能。(5)圖書信息的刪除和修改。2、分析:根據題目要求,應當把圖書信息用結構體形式輸入,再定義 一個全局變量和文件指針進行整個程序的運行,然后把圖書信息 送到文件中,所以應該提供一個結構體和文件的輸入輸出等操 作;在程序中需實現圖書信息錄入,瀏覽,查詢,刪除和修改等 功能的操作,所以需要建立相應的模塊來實現;另外還需提供鍵 盤式選擇菜單實現功能,在運行時達到所要目的。3、總體設計:根據題目要求,可以將系統(tǒng)分為六個模塊:(1)管理員登錄系統(tǒng)模塊。(2)菜單選擇模塊。(3)圖書信息錄入功能模塊。(4)圖書信息瀏覽功能。(5)圖書信息查詢功能。(6)圖書信息的刪除和修改。4、詳細設計:頭函數

3、名:#include<stdio> h> #include<stdlib.h> #include<string.h> /*圖書信息結構體*/ /*包括登錄號,書名,作者名,分類號,出版單位,出版時間, 價格等*/ struct bookinfintnum;*登錄號char bname20;* 書 名char wname10;* 作 者charc1anum14;*分類3 / 27char pubcomtlO;* 出 版 單位char pubtime10;* 出 版時間floatprice;格;一管理員登錄系統(tǒng)模塊:(1)來到圖書信息管理系統(tǒng)頁面void

4、index ()charinput;注釋:運行時 printf(nnttt*n); 直接進入圖書信息管理系統(tǒng)n);這個頁面 printf(ttt*nnn); printf (n);printf (t按任意鍵進入111/');input=getchar ();(2)管理員登陸進入功能菜單頁面第2頁5 / 27FILE *fp;struct manage pswd;if (fp=fopen("password. txt,r)二二NULL)(printf (nnntCannot open f ile! nt,/);)else(do(printf (nnt請輸入管理員帳號:);sca

5、nf(為s,name);printf (z/nnt請輸入管理員密碼:);scanf(%s“,password);fp=fopen (/'password, txt”, r);fread(&pswd, sizeof(struct manage), 1, fp);fclose (fp);w=strcmp(pswd. manage_name, name);k=strcmp(pswd. password, password);adm_servelist();)while (w!=0 k!=0);adm_servelist ();)(3)來到功能菜單頁面第3頁void adm_serve

6、list()(void book_add ();void book_view();void change();void del ();void book_search();void login();void pwchange();注釋:菜從所對int in;單列出的服務種類char input;1, 2, 3, 4, 5, 6do應的功能進行選擇(printf (nnnt歡迎使用信息管理系統(tǒng)一);printf (nntl.圖書信息錄入n);printf (,zt2.圖書信息瀏覽n);printf (t3.圖書信息查詢n);printf (z,t4.圖書信息刪除n);printf (z,t5.圖

7、書信息修改n");printf (,zt6.退出管理模式n);printf (nt請選擇服務種類:);scanf(%d, &in);if (in!二l&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6)(printf (nt沒有這項服務n);printf (/zt按任意鍵重新選擇);input=getchar();while (in! =l&&in! =2&&in! =3&&in! =4&&in! =5&a

8、in! =6);switch (in)case1:book_add ();break;注釋:選擇自己所需要case2:book_view();break;后握下數字鍵則case3:book_search ();break;則進入此功能頁面case4: del () ; break;case5: change () ; break;case6: login() ; break;(3)圖書信息錄入功能模塊voidbook_add ()voidadm_servelist();void book_add ();int i=0, j;FILE *fp;char input;注釋:輸入的圖書信息struc

9、t bookinf books;是通過文件進行struct bookinf book_taxis 30;保存的printf (*nnnt請輸入圖書信息nn");printf(*t 登錄號:");scanf ("%d", ftbooks. num);printf ("nt 書名:");scanf books, bname);printf (*nt 作者名:”);scanf ("%s”, books, wname);printf (*nt 分類號:”);scanf("%s”, books, clanum);printf

10、 (*nt 出版單位:“);scanf books, pub com);printf (*nt 出版時間:”);scanf ("%s”, books, pubtime);printf ("nt 價格:”);scanf("%f”, &books. price);11 / 27if (fp=fopen("book, txt", "r")!=NULL)do(fread(&book_taxisi, sizeof(struct bookinf), 1, fp);i=i+l;)while(!feof(fp);fclose

11、(fp);for (j=0;j<=i;j+)if (books. num=book_taxisj. num)(printf("nnnt對不起,這個編號已經使用過了n");printfCt按任意鍵返回管理菜單);input=getchar ();adm_servelist ();break;if (fp=fopen ("book, txt", "r")=NULL)fp=fopen(book. txt", "w");)else(fclose(fp);fp=fopen (*book. txt",

12、 "a");)fwrite(&books, sizeof(struct bookinf), 1, fp);fclose (fp);printf(*nnnt信息輸入完畢”按任意鍵繼續(xù)n");input=getchar ();adm_servelist();)(4)圖書信息瀏覽功能模塊void book_view ()(void adm_servelist();void book_view();int inp, i=0, n=0;FILE *fp;char input;struct bookinf bookview20;if (fp=fopen ("

13、book, txt", "r")=NULL)printf(*nnnt數據尚未初始化rnnt請在管理菜單中增加圖書信息;printf ("nt按任意鍵返回管理菜單5”);input 二get char ();adm_servelist();)else(do(fread(&bookviewi, sizeof(struct bookinf), 1, fp);i=i+l;)while (!feof(fp);fclose(fp);do(printf ("nt共有%d 條記錄", i-1);printf (*nnt 登錄號:dn”, bo

14、okviewn. num);printf ("nt 書名:%sn”, bookviewtn. bname);printf ("nt 作者名:sn”, bookviewn. wname);printf (*nt 分類號:%sn”, bookviewtn. clanum);printf ("nt 出版單位:%sn*, bookview n. pub com);printf ("nt 出版時間:%sn*, bookviewtn. pubtime);printf (*nt 價格: %fn*, bookviewn. price);printf ("nnt

15、l.上一頁t2.下一頁t3.回目錄n");printf (* nt 請選擇:");scanf &inp);switch (inp)(case 1:(if (n=0)(printf Cnt已到達首頁nt按任意鍵重新選擇”); input=getchar ();)else n=n-l; break;)case 2:第6頁15 / 27if (n=i-2)printfCW 已到達最末頁nt按任意鍵重新選擇“); input=getchar ();)else n=n+l; break;)case 3:(adm_servelist();break;)default:(prin

16、tf ("nt沒有這項服務nt按任意鍵重新選擇”); input=getchar();)while (inp!=3);(5)圖書信息修改及刪除功能模塊修改:void change (int x)(int inp, i=0, j;void book_search ();FILE *fp, *fpl;char input;struct bookinf books, book_taxis20;do(printf (*nnnt注意:您確定要修改該記錄嗎?n");printf (*ntl.是t2.否n");printf (*nt 請輸入:");scanf (&qu

17、ot;%d”, &inp);if (inp!=l&&inp!=2)(printf Cnt對不起沒有這項服務飛n");printf (*t按任意鍵重新選擇nt");input=getchar ();)while (inp!=l&&inp!=2);if (inp=2)book_search ();if (inp=l)(printf ("nnnt請輸入圖書信息nn");printfCt 登錄號:);scanf&books. num);printf (*nt 書名:”);scanfbooks, bname);pri

18、ntf ("nt 作者名:”);scanfbooks, wname);printf ("nt 分類號:”);scanfbooks, clanum);printf (*nt 出版單位:");scanfbooks, pubcom);printf (*nt 出版時間:”);scanf books, pub time);第8頁printf ("nt 價格:");scanf ("%f”, &books. price);if (fpl=fopen ("book. txt", "r")!=NULL)d

19、o(fread(&book_taxisi, sizeof(struct bookinf), 1, fpl);i=i+l;)while(!feof(fpl);fclose(fpl);for (j=0;j<x;j+)if (books. num=book_taxisj. num)(printf(*nnnt對不起,這個編號已經使用過了'n");printfCt按任意鍵返回管理菜單");printf ("0");input = get char ();book_s earch ();break;)for (j=x+l;j<i-2;j+

20、)if (books. num=book_taxisj. num)printf(*nnnt對不起,這個編號已經使用過了飛n");printf (T);printf(*t按任意鍵返回管理菜單");input=getchar();book_search ();break;)book_taxisx=books;fp=fopen("book, txt", "w");for (j=O;j<i-l;j+)fwrite(&book_taxisj, sizeof(struct bookinf), 1, fp);fclose(fp);pr

21、intf (*nnt信息修改完成!按任意鍵返回”);input 二get char ();book_search ();第9頁)S刪除: void del(int y)char input;FILE *fp;int inp, i=0, j;struct bookinf book_taxis20;void book_search();void adm_servelist();do(printf(*nnnt注意:您確定要刪除該記錄嗎?n");printf (*ntl.是t2.否n");printf (*nt 請輸入:");scanf("%d”, &i

22、np);if (inp!=l&&inp!=2)(printf Cnt對不起沒有這項服務n");printf (*t按任意鍵重新選擇nt");input=getchar ();)while (inp!=l&&inp! =2);if (inp=2)book_s earch ();if (inp=l)(if (fp=fopen("book, txt", "r")!=NULL)(do(fread(&book_taxisi, sizeof(struct bookinf), 1, fp);i=i+l;)wh

23、ile(!feof(fp);fclose(fp);if (i>2)(fp=fopen (*book. txt", "w");第10頁for (j=O;j<y;j+)fwrite(&book_taxisj, sizeof(struct bookinf), 1, fp);fclose(fp);fp二fopen("book.txt","a");for (j=y+l;j<i-l;j+)fwrite(&book_taxisj, sizeof(struct bookinf), 1, fp);fclose

24、 (fp);else(remove("book, txt");)printf(*nnt記錄已刪除!nnt按任意鍵返回nt");input=getchar();adm_servelist();)(6)圖書信息查詢功能模塊void book_search()(void adm_servelist();void id_search();void wr_search();void bn_search();char input;FILE *fp;int inp;if (fp=fopen("book, txt", "r")=NULL)(

25、printf (*nnnt數據尚未初始化nnt請在管理菜單中增加圖書 信息;printf ("nt按任意鍵返回管理菜單nt");input=getchar();adm_servelist();)else(do(printf (*nnntl.按圖書登錄號查詢n");printf (*nt2.按圖書作者查詢n");第11頁printf Cnt3.按圖書名查詢n);printf (*nt4.回到主菜單n");printf Cnnt請選擇查詢類別:“);scanf ("%d”, &inp);if (inp!=l&&in

26、p!=2&&inp!=3&&inp!=4)printfCXnW 沒有這項服務nt按任意鍵重新選擇");input=getchar ();)while (inp!=l&&inp!=2&&inp!=3&&inp!=4);fclose (fp);switch (inp)(case 1: id_search(); break;case 2: wr_search(); break;case 3: bn_search(); break;case 4: adm_servelist(); break;)5運行及測試報告:29 / 27*MM* * *1(共)-* * WMX * *KKXMM X-M-KXM *圖書信息管理系統(tǒng)按任意鍵進入第12頁K "C:Documents and SettingsAdministratorffi05507112-20071001797KDebugTiI一一圖書宿宣誓理系統(tǒng)X興房充工詼-充號x”X-X-X-W-弁拜按任意鍵進入1 .管理員進入2 .退出本系統(tǒng)請選擇服務類別:K 選定"C:Documents and Settings

溫馨提示

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

評論

0/150

提交評論