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

下載本文檔

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

文檔簡介

1、1. 題目要求圖書管理信息包括:圖書名稱、圖書編號、單價、作者、存在狀態(tài)、借書人姓名、性別、學號等,試設計一圖書管理系統(tǒng),使之能提供以下功能:(1) 新圖書基本信息的輸入。(2) 圖書基本信息的查詢。(3) 對撤銷圖書信息的刪除。(4) 辦理借書的手續(xù)。(5)辦理還書的手續(xù)。2. 需求分析這是一個能簡單管理圖書的小型圖書管理系統(tǒng),其中圖書信息包括:書名,作者名,書編號,分類,出版社,價格等。通過這些信息使之提供以下功能:(1) 圖書信息的創(chuàng)建功能。其中圖書信息包括:書名,作者名,書編號,分類,出版社,價格等。(圖書信息用文件保存)(2) 圖書信息查看功能。用來查看各項圖書信息。(3) 圖書信息

2、查找功能。通過已知信息來查找想要的圖書。(4) 圖書信息的刪除。可以刪除指定圖書。(5) 圖書信息的修改??梢孕薷膱D書的各項信息。(6) 菜單選擇功能,次功能也是圖書信息管理系統(tǒng)的入口,用戶所要進行的各種操作均需要在此模塊中進行選擇并進行調用其他模塊實現(xiàn)相應的功能。3. 總體設計(1) 數(shù)據(jù)結構圖書管理系統(tǒng)中主要的數(shù)據(jù)結構包含書名、圖書書號、作者名、分類、出版社、出版時間、價格等;在處理過程中各項可以作為一本圖書的不同屬性來進行處理。struct Book /*定義結構體數(shù)組*/char ISBN14; /編號char Name20; /名稱char Author20; /作者char Typ

3、e10; /類型char Pub20; /出版社char Date10; /出版日期float Price; /價格;(2) 模塊分化本系統(tǒng)主要有添加圖書、查找圖書、搜索圖書、刪除圖書、修改圖書幾個基本功能。函數(shù)聲明:int Choose(); /選擇int Add(); /添加圖書int View(); /查找圖書int Search(); /搜索圖書int Delete(); /刪除圖書int Modify(); /修改圖書int menu(); /返回系統(tǒng)4. 詳細設計流程圖:開始主菜單輸入退出系統(tǒng)修改圖書刪除圖書查找日期查找編號查找作者查找書名查找查看圖書添加圖書4.1主函數(shù)函數(shù)的原型

4、:void main()函數(shù)的功能:調用菜單,使用各項功能。程序:main()menu();menu()printf(nn*圖書管理系統(tǒng)*nnt1.添加圖書nt2.查看圖書nt3.搜索圖書nt4.刪除圖書nt5.修改圖書nt6.退出程序nn*n);switch (Choose(6)case 1:Add();break;case 2:View();break;case 3:Search();break;case 4:Delete();break;case 5:Modify();break;case 6:exit(0);return 0;Choose(int limit)int n = 0;whi

5、le (n limit)printf(選擇一個項目:);scanf(%d, &n);getchar();return n;顯示菜單的的一系列功能選項輸入n,判斷n是否是16?調用與n相應的模塊YN結束開始4.2各功能模塊設計添加圖書信息:函數(shù)原型:void Add()函數(shù)的功能:記錄圖書的各項信息程序:Add()FILE *f;struct Book b;f = fopen(Book.txt, ab);if (f = NULL)printf(File open error!n);exit(0);else Add:printf(請輸入圖書信息,分類標簽:n圖書編號 圖書名稱 作者 圖書類型 出版

6、社 出版日期 圖書價格n);scanf(%s%s%s%s%s%s%f, b.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, &b.Price);fwrite(&b, sizeof(struct Book), 1, f);printf(n完成.t1.繼續(xù)添加t2.返回菜單n);switch (Choose(2)case 1:goto Add;break;case 2:fclose(f);menu();break;return 0;開始進入添加圖書菜單輸入輸入1或21退出程序2輸入圖書信息添加成功查看圖書信息函數(shù)的原型:void View()函數(shù)的功能

7、:查看圖書書編號,書名,作者名,類型,出版社,出版日期,價格。程序:View()FILE *f;struct Book b;f = fopen(Book.txt, rb);if (f = NULL)printf(File open error!n);exit(0);elsefread(&b, sizeof(struct Book), 1, f);while (feof(f) = 0)printf(%st%st%st%st%st%st%4.2fn, b.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, b.Price);fread(&b, sizeof

8、(struct Book), 1, f);fclose(f);printf(n完成.t1.返回菜單t2.退出程序n);switch (Choose(2)case 1:menu();break;case 2:exit(0);return 0;開始進入查看圖書菜單輸入2輸入1或22退出程序1搜索圖書函數(shù)的原型:void Search()函數(shù)的功能:通過書編號,書名,作者名,類型,出版社,出版日期查找圖書。程序:Search()FILE *f;struct Book b;char s40;int i = 0;f = fopen(Book.txt, rb);if (f = NULL)printf(Fi

9、le open error!n);exit(0);elseprintf(請輸入圖書關鍵詞查詢:);scanf(%s, s);fread(&b, sizeof(struct Book), 1, f);while (feof(f) = 0)char bi128 = 0 ;strcat(bi, b.ISBN);strcat(bi, b.Name);strcat(bi, b.Author);strcat(bi, b.Type);strcat(bi, b.Pub);strcat(bi, b.Date);if (strstr(bi, s)printf(%st%st%st%st%st%st%4.2fn, b

10、.ISBN, b.Name, b.Author, b.Type, b.Pub, b.Date, b.Price);i+;break;fread(&b, sizeof(struct Book), 1, f);fclose(f);if (i = 0)printf(沒有發(fā)現(xiàn)圖書信息!);elseprintf(%d 發(fā)現(xiàn)信息, i);printf(n完成.t1.返回菜單t2.退出程序n);switch (Choose(2)case 1:menu();break;case 2:exit(0);return 0;進入搜索圖書菜單輸入關鍵字,搜索是否有相關字?顯示相關書籍13YN輸入3輸入1或221輸入1或

11、2退出程序12結束開始刪除圖書函數(shù)的原型:void Delete()函數(shù)的功能:通過圖書編號或者查詢圖書編號確定圖書,進而刪除圖書。程序:Delete()FILE *i, *o;struct Book b;char s40;printf(你需要圖書編號. 如果你沒有,你可以通過查詢功能獲得.nt1.擁有圖書編號t2.查詢圖書編號n);if (Choose(2) = 2)Search();i = fopen(Book.txt, rb);o = fopen(tempBook.txt, wb);if (i = NULL | o = NULL)printf(File open error!n);exi

12、t(0);elseint c = 0;printf(請輸入你想要刪除的圖書編號:n);scanf(%s, s);fread(&b, sizeof(struct Book), 1, i);while (feof(i) = 0)if (strcmp(s, b.ISBN)fwrite(&b, sizeof(struct Book), 1, o);elsec = 1;fread(&b, sizeof(struct Book), 1, i);fclose(i);fclose(o);remove(book.txt);rename(tempbook.txt, book.txt);if (c)printf(刪

13、除成功.);elseprintf(無效圖書編號.);printf(t1.返回菜單t2.退出程序n);switch (Choose(2)case 1:menu();break;case 2:exit(0);return 0;開始輸入4進入刪除圖書菜單輸入1或212輸入要刪除的圖書編號3判斷有效否?NY刪除成功3輸入1或2?輸入1或2?結束1212輸入圖書關鍵字3輸入1或2?21顯示相關圖書或者沒有發(fā)現(xiàn)圖書3修改圖書信息函數(shù)的原型:void Modify()函數(shù)的功能:通過圖書編號或者查詢圖書編號確定圖書,進而修改圖書。程序:Modify()FILE *i, *o;struct Book b, t

14、;char s40;printf(你需要圖書編號. 如果你沒有, 你可以通過查詢功能獲得.nt1.擁有圖書編號t2.查詢圖書編號n);if (Choose(2) = 2)Search();i = fopen(Book.txt, rb);o = fopen(tempBook.txt, wb);if (i = NULL | o = NULL)printf(File open error!n);exit(0);elseint c = 0;printf(請輸入你想修改的圖書編號:n);scanf(%s, s);printf(請輸入圖書信息,分類標簽:n圖書編號 圖書名稱 作者 圖書類型 出版社 出版日

15、期 圖書價格n);scanf(%s%s%s%s%s%s%f, t.ISBN, t.Name, t.Author, t.Type, t.Pub, t.Date, &t.Price);fread(&b, sizeof(struct Book), 1, i);while (feof(i) = 0)if (strcmp(s, b.ISBN) = 0)c = 1;b = t;fwrite(&b, sizeof(struct Book), 1, o);fread(&b, sizeof(struct Book), 1, i);fclose(i);fclose(o);remove(book.txt);rename(tempbook.txt, book.txt

溫馨提示

  • 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

提交評論