C語言程序課程設(shè)計(jì)圖書信息管理系統(tǒng)_第1頁
C語言程序課程設(shè)計(jì)圖書信息管理系統(tǒng)_第2頁
C語言程序課程設(shè)計(jì)圖書信息管理系統(tǒng)_第3頁
C語言程序課程設(shè)計(jì)圖書信息管理系統(tǒng)_第4頁
C語言程序課程設(shè)計(jì)圖書信息管理系統(tǒng)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上 課 程 設(shè) 計(jì) 報(bào) 告課程名稱 C語言程序設(shè)計(jì) 課題名稱 圖書信息管理系統(tǒng) 專 業(yè) 土木工程 班 級 1381 學(xué) 號 5 姓 名 李晨希 指導(dǎo)教師 王穎 2016年 1月 7日 前 言C語言程序設(shè)計(jì)課程設(shè)計(jì)是對學(xué)生的一種全面綜合訓(xùn)練,它包括問題分析,總體結(jié)構(gòu)設(shè)計(jì),用戶界面設(shè)計(jì),程序設(shè)計(jì)基本技能和技巧,多人合作,以至一整套軟件工作規(guī)范的訓(xùn)練和科學(xué)作風(fēng)的培養(yǎng)。是與課堂聽講、自學(xué)和練習(xí)相輔相成的必不可少的一個(gè)教學(xué)環(huán)節(jié)。通常,課程設(shè)計(jì)的課題比平時(shí)的習(xí)題復(fù)雜得多,也更接近實(shí)際。課程設(shè)計(jì)著眼于與應(yīng)用的結(jié)合點(diǎn),使學(xué)生學(xué)會(huì)如何把書上學(xué)到的知識用于解決實(shí)際問題,培養(yǎng)軟件工作所需要的

2、動(dòng)手能力;另一方面,能使書上的知識變“活”,使學(xué)生更好地深化理解和靈活掌握教學(xué)內(nèi)容。為了達(dá)到上述目的,本課程設(shè)計(jì)安排了八個(gè)設(shè)計(jì)課題,訓(xùn)練重點(diǎn)在于基本的程序設(shè)計(jì)方法和分析問題的能力,而不強(qiáng)調(diào)面面俱到。學(xué)生可任選其中一題進(jìn)行設(shè)計(jì),設(shè)計(jì)完畢寫出課程設(shè)計(jì)報(bào)告,用A4紙打印成冊;并將課程設(shè)計(jì)報(bào)告與源程序存盤。學(xué)習(xí)委員將課程設(shè)計(jì)報(bào)告與磁盤收齊后交指導(dǎo)老師。一、目的全面熟悉、掌握C語言基本知識,掌握C程序設(shè)計(jì)中的順序、分支、循環(huán)三種結(jié)構(gòu)及數(shù)組、函數(shù)和C語言基本圖形編程等方法,把編程和實(shí)際結(jié)合起來,增強(qiáng)對不同的問題運(yùn)用和靈活選擇合適的數(shù)據(jù)結(jié)構(gòu)以及算法描述的本領(lǐng),熟悉編制和調(diào)試程序的技巧,掌握分析結(jié)果的若干有效

3、方法,進(jìn)一步提高上機(jī)動(dòng)手能力,培養(yǎng)使用計(jì)算機(jī)解決實(shí)際問題的能力,養(yǎng)成提供文檔資料的習(xí)慣和規(guī)范編程的思想,為以后在專業(yè)課程中應(yīng)用計(jì)算機(jī)系統(tǒng)解決計(jì)算、分析、實(shí)驗(yàn)和設(shè)計(jì)等學(xué)習(xí)環(huán)節(jié)打下較扎實(shí)的基礎(chǔ)。二、設(shè)計(jì)要求掌握結(jié)構(gòu)化程序設(shè)計(jì)的主體思想,以自頂向下逐步求精的方法編制程序解決一些實(shí)際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗(yàn)。1. 設(shè)計(jì)正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計(jì)報(bào)告5000字以上,含程序設(shè)計(jì)說明,用戶使用說明,源程序清單及程序框圖。5. 上機(jī)演示。6. 按學(xué)號順序選課題號,并在規(guī)定的時(shí)間內(nèi)獨(dú)自完成相關(guān)課題的C源程序編寫、調(diào)整和運(yùn)行。源程序及編譯

4、生成各文件均保存在軟盤中;7. 按本任務(wù)書的要求,按附錄的要求編寫課程設(shè)計(jì)報(bào)告(Word文檔格式)。并用A4的復(fù)印紙打印并裝訂; 8. 在2014年6月30日之前,請各班學(xué)習(xí)委員收齊課程設(shè)計(jì)報(bào)告和源程序交王穎老師 ,聯(lián)系電話:。三、進(jìn)度安排第一周 星期四: 課題講解,查閱資料第二周星期一: 總體設(shè)計(jì),詳細(xì)設(shè)計(jì)星期二: 編程,上機(jī)調(diào)試、修改程序星期三:上機(jī)調(diào)試、完善程序星期四:上機(jī)調(diào)試、完善程序星期五: 答辯星期六-星期天:撰寫課程設(shè)計(jì)報(bào)告課程設(shè)計(jì)報(bào)告規(guī)范一、 需求分析1、程序的功能。2、輸入輸出的要求。二、 概要設(shè)計(jì)1、程序由哪些模塊組成以及一個(gè)模塊之間的層次結(jié)構(gòu)、模塊的調(diào)用關(guān)系;每個(gè)模塊的功

5、能。2、課題的總體數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫結(jié)構(gòu);即要存儲(chǔ)什么數(shù)據(jù),這些數(shù)據(jù)是什么樣的結(jié)構(gòu),它們之間有什么關(guān)系等。三、 詳細(xì)設(shè)計(jì)1、采用C語言定義相關(guān)的數(shù)據(jù)類型。2、寫出各模塊的類C碼算法。3、畫出函數(shù)的調(diào)用關(guān)系圖。四、 調(diào)試分析以及設(shè)計(jì)體會(huì)1、測試數(shù)據(jù):準(zhǔn)備典型的測試數(shù)據(jù)和測試方案,包括正確的輸入及輸出結(jié)果和含有錯(cuò)誤的輸入及輸出結(jié)果。2、程序調(diào)試中遇到的問題以及解決問題的方法。3、課程設(shè)計(jì)過程經(jīng)驗(yàn)教訓(xùn)、心得體會(huì)。五、 使用說明用戶使用手冊:說明如何使用你編寫的程序,詳細(xì)列出每一步的操作步驟。六、 書寫格式1、 設(shè)計(jì)報(bào)告要求用A4紙打印成冊:2、 標(biāo)題和正文要求見附13、 封面格式如下頁。七、 附錄1、

6、參考書目2、源程序清單(帶注釋)湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 C語言程序設(shè)計(jì) 課 題 圖書信息管理系統(tǒng) 專業(yè)班級 土木工程1381 學(xué)生姓名 李晨希 學(xué) 號 5 指導(dǎo)老師 王穎 審 批 王穎 任務(wù)書下達(dá)日期 2015年 12月27日 任務(wù)完成日期 2016年 1月 7 日 設(shè)計(jì)課題七:圖書信息管理系統(tǒng)1、 問題描述通過該系統(tǒng)實(shí)現(xiàn)對圖書信息進(jìn)行錄入、顯示、修改、刪除、插入、排序、保存等操作的管理。2、 功能描述試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:1. 系統(tǒng)以菜單方式工作2. 圖書信息錄入功能(圖書信息用文件保存)-輸入3. 圖書信息瀏覽功能-輸出4. 圖書信息查詢功能

7、 查詢方式: (1)按書名查詢 (2) 按作者名查詢5. 圖書信息的刪除與修改(可選項(xiàng))3、 算法提示1. 數(shù)據(jù)結(jié)構(gòu):結(jié)構(gòu)體類型數(shù)組2. 數(shù)據(jù)庫結(jié)構(gòu):下表構(gòu)成該系統(tǒng)的基本數(shù)據(jù)庫登錄號書名作者名分類號出版單位出版時(shí)間價(jià)格intcharcharcharcharcharFloat4、 測試數(shù)據(jù)圖書冊數(shù)N=10 目錄一、系統(tǒng)需求分析 -1 1.1系統(tǒng)設(shè)計(jì)的目的與意義-1 1.2系統(tǒng)功能需求-1二、總體設(shè)計(jì)-1 2.1系統(tǒng)功能分析-1 2.2系統(tǒng)功能模塊劃分與設(shè)計(jì)-1 2.3系統(tǒng)功能模塊圖-1三、概要設(shè)計(jì)-3四、詳細(xì)設(shè)計(jì)-3 4.1頭函數(shù)名- 3 4.2管理員登錄系統(tǒng)模塊 - 3 五、系統(tǒng)調(diào)試-10六、

8、結(jié)果分析-11七、總結(jié)-感想與體會(huì)-11八、.附錄 -12 附件1-12 附件2-13九、評分表-28專心-專注-專業(yè)一、系統(tǒng)需求分析1.1系統(tǒng)設(shè)計(jì)的目的與意義: 圖書系統(tǒng)在生活中運(yùn)用相當(dāng)廣泛,為了滿足圖書管理的要求,通過計(jì)算機(jī)技術(shù)給圖書管理人員和讀者借還書帶來便利。使用C語言編寫了圖書信息管理系統(tǒng)。1.2 系統(tǒng)功能需求: 本系統(tǒng)主要實(shí)現(xiàn)圖書信息管理的功能,通過此系統(tǒng)可對圖書館庫存信息進(jìn)行管理和維護(hù)操作。實(shí)現(xiàn)了圖書館內(nèi)管理的一般功能,包括查詢、借書、還書、添加、刪除、修改圖書信息等。二、總體設(shè)計(jì)2.1 系統(tǒng)功能分析: 圖書信息包括編號、書名、作者、出版社、出版日期、價(jià)格、在庫狀態(tài)等。 系統(tǒng)以菜

9、單方式工作,通過調(diào)用函數(shù)來實(shí)現(xiàn)刪除圖書、讀者信息,添加圖書、讀者信息等功能。choice_4_delete_according_name()函數(shù)用于刪除圖書信息;choice_1_input_new()函數(shù)用于增加圖書信息;choice_2_display_all()顯示全部圖書信息操作等等;主函數(shù)用來調(diào)用這些函數(shù)。2.2系統(tǒng)功能模塊劃分與設(shè)計(jì) (1)管理員登錄系統(tǒng)模塊(2)菜單選擇模塊(3)圖書信息錄入功能模塊(4)圖書信息瀏覽功能(5)圖書信息查詢功能(6)圖書信息的刪除和修改 2.3 系統(tǒng)功能模塊圖: 圖1-1圖1-2三、概要設(shè)計(jì)(1)系統(tǒng)主菜單顯示系統(tǒng)主菜單,里面歐相應(yīng)的功能代碼,根據(jù)

10、選擇各功能代碼進(jìn)入不同的界面。功能主要包括:退出系統(tǒng)、查詢圖書、借書、還書。(2) 查詢圖書信息進(jìn)入此菜單功能模塊、輸入您要查詢的圖書的編號、名字、作者著。 四、詳細(xì)設(shè)計(jì)4.1頭函數(shù)名 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <string.h> #include <conio.h> /*圖書信息結(jié)構(gòu)體*/ /*包括登錄號,書名,作者名,分類號,出版單位,出版時(shí)間,價(jià)格等*/ int number;*登錄名 char bookname*書名 c

11、har authername*作者名 char publishcom*出版單位 char publishtime*出版時(shí)間 float price*價(jià)格 ;4.2管理員登錄系統(tǒng)模塊: (1)圖書信息管理頁面 void menu() char input; printf("nnttt*n"); printf("ttt圖書管理系統(tǒng)n"); printf("ttt*nnn"); printf("-n"); printf("t<按任意鍵進(jìn)入>nt"); input=getchar(); (2

12、)功能菜單頁面 void menu() printf("nnnnnnn"); printf("ttt圖書管理系統(tǒng)n"); printf("ttt1:新進(jìn)圖書基本信息的輸入n"); printf("ttt2:顯示全部記錄n"); printf("ttt3:根據(jù)圖書名稱查詢圖書基本信息n"); printf("ttt4:根據(jù)圖書名稱對撤銷的圖書信息進(jìn)行刪除n"); printf("ttt5:按照圖書名稱從小大到排序n"); printf("ttt6:

13、統(tǒng)計(jì)某價(jià)格以上的圖書數(shù)量n"); printf("ttt7:列出所有未借出去的圖書信息n"); printf("ttt8:退出n"); (3)圖書信息錄入功能模塊 while(1) printf("請輸入圖書編號:"); gets(newbook.number); printf("請輸入圖書名稱:"); gets(); printf("請輸入圖書單價(jià):"); scanf("%f",&newbook.price); while(getc

14、har()!='n'); printf("請輸入圖書的作者:"); gets(newbook.auther); printf("請輸入借書人姓名:"); gets(newbook.lendername); printf("請輸入借書人性別:"); gets(newbook.lendersex); printf("請輸入借書人學(xué)號:"); gets(newbook.lendernum); printf("是否保存該條書目?(Y/N)n"); choice=getch(); whil

15、e(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch(); if(choice='Y'|choice='y') (4)圖書信息瀏覽功能模塊 if(booknumber=0) printf("書庫中沒有任何信息!nn"); printf("按任意鍵回到主菜單!nn"); getch(); break; /*if結(jié)束*/ else for

16、(n=0;n<booknumber;n+) if(strcmp(,search)=0) printf("該書的詳細(xì)信息如下:n"); printf(" 圖書信息 | 借書人信息 n"); printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n"); printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn", bookinfon.number,,bookinfon.price, bookinfon.

17、auther,bookinfon.isExit,bookinfon.lendername, bookinfon.lendersex,bookinfon.lendernum); break; if(n>=booknumber) printf("沒有查找該書的任何信息!n"); printf("nn是否繼續(xù)查詢?(Y/N)n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&cho

18、ice!='n') choice=getch(); if(choice='Y'|choice='y') continue; else break; /*else結(jié)束*/ /*while(1)結(jié)束*/ (5)圖書信息刪除功能模塊 if(strcmp(,search)=0) break; if(n>=booknumber) printf("沒有查找該書的任何信息!n"); else printf("是否確認(rèn)需要?jiǎng)h除該條書目?(Y/N)"); choice=getch(); wh

19、ile(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n') choice=getch(); if(choice='Y'|choice='y') for(i=n;i<booknumber-1;i+) bookinfoi=bookinfoi+1; booknumber-; p=fopen("bookinfo.data","wb"); for(n=0;n<

20、booknumber;n+) fwrite(&bookinfon,sizeof(BOOKINFO),1,p); fclose(p); printf("刪除成功!n"); else printf("nn該條書目沒有被刪除!"); printf("nn是否繼續(xù)進(jìn)行刪除操作?(Y/N)n"); choice=getch(); while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='

21、;n') choice=getch(); if(choice='Y'|choice='y') continue; else break; /*else結(jié)束*/ /*while(1)結(jié)束*/ (6)圖書信息查詢功能模塊 while(1) printf("輸入要查詢的書本名稱:");gets(search);if(booknumber=0)printf("書庫中沒有任何信息!nn");printf("按任意鍵回到主菜單!nn");getch();break; /*if結(jié)束*/elsefor(n=0;

22、n<booknumber;n+)if(strcmp(,search)=0)printf("該書的詳細(xì)信息如下:n");printf(" 圖書信息 | 借書人信息 n");printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n");printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn",bookinfon.number,,bookinfon.price,bookinfon.auther,booki

23、nfon.isExit,bookinfon.lendername,bookinfon.lendersex,bookinfon.lendernum);break; if(n>=booknumber)printf("沒有查找該書的任何信息!n");printf("nn是否繼續(xù)查詢?(Y/N)n");choice=getch();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')c

24、hoice=getch();if(choice='Y'|choice='y')continue;else break; /*else結(jié)束*/*while(1)結(jié)束*/ 五、系統(tǒng)調(diào)試圖2-1圖2-1 六、結(jié)果分析 本程序滿足了課題對類的要求,在設(shè)計(jì)的過程中,建立了較為清晰的類層次,也利用了面向?qū)ο蟮姆椒ㄒ约癈語言的編程思想來完成系統(tǒng)的設(shè)計(jì),做到了每個(gè)借閱者建立一個(gè)賬戶,賬戶中存儲(chǔ)借閱者的個(gè)人信息、借閱信息等要求。而且界面美觀,容易操作。但是程序太長,不夠簡練,導(dǎo)致出現(xiàn)錯(cuò)誤很難發(fā)現(xiàn)和修改。 七、感想和體會(huì): 通過這次的課程設(shè)計(jì),讓我充分的感覺到了要自己設(shè)計(jì)一個(gè)程序是

25、多么的難,以及學(xué)習(xí)好C語言是多么的重要;讓我掌握了許多有用的知識。 在這個(gè)程序的設(shè)計(jì)過程中,我清楚的意識到自己的水平有多么的薄弱,課程的知識學(xué)得有多么的不扎實(shí)??淳W(wǎng)上的例子好像覺得也沒那么難,自己一上機(jī)實(shí)際操作就出現(xiàn)了很多問題,調(diào)試的時(shí)候系統(tǒng)總是在報(bào)錯(cuò),還有很多警告,每增加一個(gè)函數(shù)就要調(diào)試好久,有時(shí)候應(yīng)為少了一個(gè)大括號或是分號,導(dǎo)致要找很久很久。雖然系統(tǒng)可以運(yùn)行,也具有了一些基本的功能,但我意識到了自己有太多的不足。 以后還會(huì)有很多的課程設(shè)計(jì),一定要吸取這次的教訓(xùn),把知識學(xué)懂學(xué)透學(xué)精,真正的為我所用,這樣走上社會(huì)我才能真正的發(fā)揮所長。八、附錄附1:l 課程設(shè)計(jì)報(bào)告裝訂順序:封面、任務(wù)書、目錄、

26、正文、評分、附件(A4大小的圖紙及程序清單)。 l 正文的格式:一級標(biāo)題用3號黑體,二級標(biāo)題用四號宋體加粗,正文用小四號宋體;行距為22。l 正文的內(nèi)容:一、課題的主要功能;二、課題的功能模塊的劃分(要求畫出模塊圖);三、主要功能的實(shí)現(xiàn)(至少要有一個(gè)主要模塊的流程圖);四、程序調(diào)試;五、總結(jié);六、附件(所有程序的原代碼,要求對程序?qū)懗霰匾淖⑨專 正文總字?jǐn)?shù)要求在5000字以上(不含程序原代碼)。附2. 源程序清單:#include <stdio.h>#include <stdlib.h>#include <time.h>#include <str

27、ing.h>#include <conio.h>typedef int BOOL;typedef struct bookinfo char number15;/*產(chǎn)品編號*/ char name30;/*產(chǎn)品名稱*/ float price;/*單價(jià)*/ char auther20;/*作者*/ BOOL isExit;/*存在狀態(tài)*/ char lendername20;/*借書人姓名*/ char lendersex2;/*借書人性別*/ char lendernum15;/*借書人學(xué)號*/BOOKINFO;void menu() printf("nnnnnnn

28、"); printf("ttt圖書管理系統(tǒng)n"); printf("ttt1:新進(jìn)圖書基本信息的輸入n"); printf("ttt2:顯示全部記錄n"); printf("ttt3:根據(jù)圖書名稱查詢圖書基本信息n"); printf("ttt4:根據(jù)圖書名稱對撤銷的圖書信息進(jìn)行刪除n"); printf("ttt5:按照圖書名稱從小大到排序n"); printf("ttt6:統(tǒng)計(jì)某價(jià)格以上的圖書數(shù)量n"); printf("ttt7:

29、列出所有未借出去的圖書信息n"); printf("ttt8:退出n");void choice_1_input_new()/*輸入新進(jìn)的圖書信息*/ char choice; FILE *p; BOOKINFO newbook; system("cls");printf("tt*新進(jìn)圖書基本信息的輸入:*nnn");system("pause"); while(1)printf("請輸入圖書編號:");gets(newbook.number);printf("請輸入圖書名稱

30、:");gets(); printf("請輸入圖書單價(jià):");scanf("%f",&newbook.price);while(getchar()!='n');printf("請輸入圖書的作者:");gets(newbook.auther); printf("請輸入借書人姓名:");gets(newbook.lendername); printf("請輸入借書人性別:");gets(newbook.lendersex); printf(&

31、quot;請輸入借書人學(xué)號:");gets(newbook.lendernum);printf("是否保存該條書目?(Y/N)n");choice=getch();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')choice=getch();if(choice='Y'|choice='y') newbook.isExit=1;/*將圖書狀態(tài)設(shè)置成1,表示沒有

32、借出*/p=fopen("bookinfo.data","ab");fwrite(&newbook,sizeof(BOOKINFO),1,p);fclose(p); printf("n該條書目已添加到bookinfo.data文件中!n"); else printf("n本條書目未保存!n"); printf("n是否繼續(xù)添加書目?(Y/N)n");choice=getch();while(choice!='Y'&&choice!='y'&

33、amp;&choice!='N'&&choice!='n')choice=getch();if(choice='Y'|choice='y')continue;else break; void choice_2_display_all()/*顯示全部圖書信息*/ FILE *p; int n; BOOKINFO bookinfo100; int booknumber=0; system("cls"); p=fopen("bookinfo.data","rb&q

34、uot;); while(!feof(p)fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p);booknumber+; /*booknumber-;使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); booknumber-; if(booknumber=0)printf("沒有任何圖書信息!nn"); else n=0;printf(" 圖書信息如下n");printf(" 圖書信息 | 借書人信息 n");printf(

35、"編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n");while(n<booknumber) printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn",bookinfon.number,,bookinfon.price,bookinfon.auther,bookinfon.isExit,bookinfon.lendername,bookinfon.lendersex,bookinfon.lendernum);n+; printf("nn按任意鍵回到主菜單!n&q

36、uot;); getch(); void choice_3_search_according_name()/*根據(jù)圖書名稱顯示圖書的信息*/ char search20=""/*search用來存放要查詢的書名*/ int n; FILE *p; char choice; BOOKINFO bookinfo100; int booknumber=0; system("cls"); p=fopen("bookinfo.data","rb"); while(!feof(p)fread(&bookinfobook

37、number,sizeof(BOOKINFO),1,p);booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); while(1) printf("輸入要查詢的書本名稱:");gets(search);if(booknumber=0)printf("書庫中沒有任何信息!nn");printf("按任意鍵回到主菜單!nn");getch();break; /*if結(jié)束*/elsefor(n=0;n<booknumber;

38、n+)if(strcmp(,search)=0)printf("該書的詳細(xì)信息如下:n");printf(" 圖書信息 | 借書人信息 n");printf("編號 名稱 單價(jià) 作者 圖書狀態(tài) | 姓名 性別 學(xué)號n");printf("%-6s%-12s%-8.1f%-8s%-9d| %-12s%-8s%-8sn",bookinfon.number,,bookinfon.price,bookinfon.auther,bookinfon.isExit,book

39、infon.lendername,bookinfon.lendersex,bookinfon.lendernum);break; if(n>=booknumber)printf("沒有查找該書的任何信息!n");printf("nn是否繼續(xù)查詢?(Y/N)n");choice=getch();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')choice=getch();if

40、(choice='Y'|choice='y')continue;else break; /*else結(jié)束*/*while(1)結(jié)束*/ void choice_4_delete_according_name()/*根據(jù)圖書名稱對圖書信息進(jìn)行刪除*/ char search20=""/*search用來存放要?jiǎng)h除的書名*/ int n,i; FILE *p; char choice; BOOKINFO bookinfo100; int booknumber; system("cls"); while(1)printf(&qu

41、ot;輸入要?jiǎng)h除的書本名稱:");gets(search);p=fopen("bookinfo.data","rb");booknumber=0;while(!feof(p) fread(&bookinfobooknumber,sizeof(BOOKINFO),1,p);booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/fclose(p); if(booknumber=0) printf("書庫中沒有任何信息!nn");pr

42、intf("按任意鍵回到主菜單!nn");getch();break; /*if結(jié)束*/else for(n=0;n<booknumber;n+)if(strcmp(,search)=0)break;if(n>=booknumber)printf("沒有查找該書的任何信息!n");elseprintf("是否確認(rèn)需要?jiǎng)h除該條書目?(Y/N)");choice=getch();while(choice!='Y'&&choice!='y'&&a

43、mp;choice!='N'&&choice!='n')choice=getch();if(choice='Y'|choice='y') for(i=n;i<booknumber-1;i+)bookinfoi=bookinfoi+1; booknumber-;p=fopen("bookinfo.data","wb");for(n=0;n<booknumber;n+)fwrite(&bookinfon,sizeof(BOOKINFO),1,p);fclose

44、(p);printf("刪除成功!n");elseprintf("nn該條書目沒有被刪除!"); printf("nn是否繼續(xù)進(jìn)行刪除操作?(Y/N)n");choice=getch();while(choice!='Y'&&choice!='y'&&choice!='N'&&choice!='n')choice=getch();if(choice='Y'|choice='y')continu

45、e;else break; /*else結(jié)束*/*while(1)結(jié)束*/void choice_5_sort_according_name()/*根據(jù)圖書名稱排序*/ FILE *p; int m,n; BOOKINFO temp; BOOKINFO bookinfo100; int booknumber; p=fopen("bookinfo.data","rb"); booknumber=0; system("cls"); while(!feof(p)fread(&bookinfobooknumber,sizeof(BOO

46、KINFO),1,p);booknumber+; booknumber-;/*使用feof()函數(shù)會(huì)多讀一行,因此需要booknumber自減一次,使書目的數(shù)量正確*/ fclose(p); if(booknumber=0)printf("沒有任何圖書信息!nn"); elsefor(m=0;m<booknumber-1;m+)for(n=m+1;n<booknumber;n+)if(strcmp(,)>0)temp=bookinfom;bookinfom=bookinfon;bookinfon=temp; p=fopen(

溫馨提示

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

評論

0/150

提交評論