數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩44頁(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、課程設(shè)計(jì)報(bào)告課設(shè)課題:課程設(shè)計(jì)一一圖書(shū)治理系統(tǒng)學(xué)院:電子信息學(xué)院專業(yè):網(wǎng)絡(luò)工程姓名:班級(jí)學(xué)號(hào):BX1213指導(dǎo)教師:張艷報(bào)告日期:一、需求分析系統(tǒng)開(kāi)發(fā)背景和意義圖書(shū)治理作為計(jì)算機(jī)應(yīng)用的一個(gè)分支,有著手工治理無(wú)法比較的優(yōu)點(diǎn),如檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、本錢低等.這些優(yōu)點(diǎn)能夠極大地提升圖書(shū)治理的效率.因此,開(kāi)發(fā)一套能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄蔚膱D書(shū)治理系統(tǒng),將是非常必要的,也是十分及時(shí)的.圖書(shū)治理系統(tǒng)需要滿足來(lái)自圖書(shū)館工作人員、普通用戶和借閱者三方面人員的需求.圖書(shū)館工作人員對(duì)圖書(shū)借閱者的借閱及還書(shū)要求進(jìn)行操作,同時(shí)還可通過(guò)圖書(shū)編號(hào)等查詢相應(yīng)的借閱情況;

2、普通用戶的需求是查詢圖書(shū)館所存的圖書(shū)的相關(guān)情況;圖書(shū)借閱者的需求是查看自己的相關(guān)信息及查詢自己的借閱情況.設(shè)計(jì)題目與要求【問(wèn)題描述】設(shè)計(jì)一個(gè)計(jì)算機(jī)治理系統(tǒng)完成圖書(shū)治理根本業(yè)務(wù).【根本要求】1每種書(shū)的登記內(nèi)容包括書(shū)號(hào)、書(shū)名、著作者、現(xiàn)存量和庫(kù)存量;2對(duì)書(shū)號(hào)建立索引表線性表以提升查找效率;3系統(tǒng)主要功能如下:* 采編入庫(kù):新購(gòu)一種書(shū),確定書(shū)號(hào)后,登記到圖書(shū)帳目表中,如果表中已有,那么只將庫(kù)存量增加;* 借閱:如果一種書(shū)的現(xiàn)存量大于0,那么借出一本,登記借閱者的書(shū)證號(hào)和歸還期限,改變現(xiàn)存量;* 歸還:注銷對(duì)借閱者的登記,改變?cè)摃?shū)的現(xiàn)存量.二、總體結(jié)構(gòu)設(shè)計(jì)有八個(gè)模塊1圖書(shū)初始化輸入圖書(shū)的一些信息,編號(hào)

3、、作者、書(shū)名、數(shù)量,使有一定的庫(kù)存.2新書(shū)入庫(kù)新書(shū)采編入庫(kù),輸入編號(hào)后如果有次數(shù)只需輸入數(shù)量,沒(méi)有那么繼續(xù)輸入書(shū)名、作者、數(shù)量.3添加讀者信息讀者信息初始化,輸入讀書(shū)證號(hào)和姓名,只有輸入書(shū)證號(hào)和姓名才能進(jìn)行借書(shū)還書(shū)4借書(shū)模塊讀者輸入讀書(shū)證號(hào),證號(hào)存在輸入要借的圖書(shū)編號(hào),不能借同一本書(shū),如果借書(shū)數(shù)量以到達(dá)最大也不能借書(shū).5還書(shū)模塊歸還已借的圖書(shū),要先輸入讀者書(shū)證號(hào),書(shū)證號(hào)存在繼續(xù)輸入要還的圖書(shū)編號(hào),圖書(shū)編號(hào)存在并且借來(lái)此書(shū),歸還成功.6查詢圖書(shū)信息7查詢讀者信息可查詢讀者姓名書(shū)證號(hào),借了幾本書(shū),都是什么書(shū)和還書(shū)日期,還可以借幾本書(shū).8退出退出讀書(shū)治理系統(tǒng)并保存讀者和圖書(shū)信息.輸入讀者信借書(shū)二、各

4、子模塊設(shè)計(jì)初始化圖書(shū)信息進(jìn)入系統(tǒng)后首先進(jìn)行圖書(shū)初始化,輸入圖書(shū)的信息圖3-1初始化圖書(shū)信息流程圖系統(tǒng)主界面初始化之后,進(jìn)入系統(tǒng),顯示功能列表,可選擇任意系統(tǒng),但在借書(shū)之前先要輸入讀者信息.執(zhí)行所選功能圖3-2系統(tǒng)主界面流程圖米編入庫(kù)選擇采編入庫(kù)的功能后,先輸入圖書(shū)編號(hào)判斷是否存在,假設(shè)存在,那么在原有記錄上加上添加的圖書(shū)數(shù)量;假設(shè)不存在,那么參加新的記錄.在原有的紀(jì)錄上向系統(tǒng)中參加新圖3-3采編入庫(kù)流程圖輸入讀者信息選擇讀者登記后,輸入讀者編號(hào)跟姓名.圖3-4輸入讀者信息流程圖借閱圖書(shū)選擇借閱圖書(shū)功能后,輸入讀者證號(hào),判斷該讀者是否存在,假設(shè)存在那么輸入借閱圖書(shū)的編號(hào),判斷該圖書(shū)編號(hào)是否存在,

5、假設(shè)存在,那么判斷讀者借閱的圖書(shū)數(shù)量是否滿了和是否借閱了相同的書(shū)籍,判斷成功后,那么輸入歸還該圖書(shū)的日期,該圖書(shū)現(xiàn)有量減一,借閱成功;假設(shè)讀者不存在那么返回判斷讀者是輸出次讀者編號(hào)輸入要借的圖判斷圖書(shū)編輸出此圖書(shū)編號(hào)看是否還有此是輸出此書(shū)已借看讀者的借是否輸出借書(shū)數(shù)目已看讀者是否,是否輸出同一讀者不輸入歸還圖書(shū)的讀者結(jié)束成圖3-5借閱圖書(shū)流程圖歸還圖書(shū)實(shí)現(xiàn)歸還圖書(shū)功能時(shí),首先輸入讀者編號(hào),并判斷是否存在,假設(shè)不存在就按任意鍵返回,;假設(shè)存在輸入歸還的圖書(shū)編號(hào)并判斷是否存在,假設(shè)歸圖書(shū)的現(xiàn)有量加一.最后按任意鍵返回判斷讀者編是判斷圖書(shū)編號(hào)U是此圖書(shū)編號(hào)和還r出讀者還書(shū):/否輸出讀者編號(hào)不輸出此冬

6、書(shū)編號(hào)還圖書(shū)編號(hào)不存在,那么返回.存在后,將讀者借閱該圖書(shū)的信息清空,該圖3-6歸還圖書(shū)流程圖查詢圖書(shū)信息查詢圖書(shū)信息時(shí),輸入圖書(shū)的編號(hào),判斷是否存在.不存在那么返回;存在那么輸出圖書(shū)的編號(hào),書(shū)名,作者,現(xiàn)有量,跟庫(kù)存量.判斷圖書(shū)信輸出此圖書(shū)編號(hào)輸出圖書(shū)信息:編圖3-7查詢圖書(shū)信息流程圖查詢讀者信息查詢讀者信息時(shí),首先判斷讀者的編號(hào)是否存在,不存在就按任意鍵返回.假設(shè)存在,那么輸出讀者的證號(hào),姓名,和借閱的圖書(shū)編碼及其還書(shū)日期.判斷讀者信輸出此讀者編號(hào)輸出讀者書(shū)證號(hào)、姓?qǐng)D3-8查詢讀者信息流程圖四、程序設(shè)計(jì)調(diào)試情況分析在整個(gè)課程設(shè)計(jì)中,我們遇到了許多的問(wèn)題.有些問(wèn)題吧,我們?cè)诳嗨稼は氲臅r(shí)候,忽

7、然我們的編譯器顯示出了正確的結(jié)果,當(dāng)我們欣喜假設(shè)狂的在運(yùn)行下一次的時(shí)候又會(huì)出現(xiàn)相同的問(wèn)題,在借閱的過(guò)程中,在一個(gè)讀者借閱了兩本書(shū)以上的時(shí)候,上一本書(shū)的歸還日期上還有下一本書(shū)上的編號(hào),最后一本書(shū)輸出的才是正確的結(jié)果.下列圖是借閱了兩本書(shū)的截圖:圖4-1看到這里我們也知道是第一本書(shū)的還書(shū)日期的地址空間跟第二本書(shū)的編號(hào)連接在了一起導(dǎo)致輸出的時(shí)候一直到第二本書(shū)編號(hào)的的字符串后面的'/0'結(jié)束.最后發(fā)現(xiàn)是我們?cè)诙x還書(shū)日期這個(gè)字符串的時(shí)候開(kāi)辟的空間太小.我們把charlimit_date8;改為charlimit_date10就好了.五、測(cè)試結(jié)果歡送界面程序運(yùn)行顯示“歡送使用圖書(shū)治理系統(tǒng)

8、,按任意鍵進(jìn)入到主菜單如圖5-1所示.圖5-1歡送界面初始化圖書(shū)信息在沒(méi)有文件的時(shí)候會(huì)進(jìn)入到初始化界面,需要輸入一本圖書(shū)的相關(guān)信息,如圖5-2所示.圖5-2初始化圖書(shū)信息系統(tǒng)主界面接著進(jìn)入的系統(tǒng)的主菜單,如圖5-3所示.圖5-3系統(tǒng)主界面米編入庫(kù)實(shí)現(xiàn)采編入庫(kù)功能根據(jù)系統(tǒng)提示輸入信息.如圖5-4o如果該圖書(shū)已存在,那么直接輸入圖書(shū)的數(shù)量如圖5-5所示.圖5-4米編入庫(kù)書(shū)不存在圖5-5米編入庫(kù)書(shū)已存在輸入讀者信息根據(jù)要求輸入讀者信息,如圖5-6所示.圖5-6輸入讀者信息借閱圖書(shū)根據(jù)要求先輸入讀者證號(hào),在輸入借閱的圖書(shū)編號(hào)如圖5-7所示.如果讀者已經(jīng)借閱了一本書(shū)之后不能借閱同一本圖書(shū)如圖5-8所示.

9、圖5-7借閱圖書(shū)圖5-8同一個(gè)讀者不能借閱同一本圖書(shū)歸還圖書(shū)歸還圖書(shū)的要求按著圖5-9輸入即可.圖5-9歸還圖書(shū)查詢圖書(shū)信息圖5-10是沒(méi)有借閱之前的圖書(shū)的相關(guān)信息,圖5-11是讀者借閱了圖書(shū)之后的信息,只改變了現(xiàn)有量.圖5-10借閱登記后查詢讀者信息查詢讀者的信息時(shí),會(huì)輸出相關(guān)借閱的圖書(shū)編號(hào)以及還書(shū)日期如圖5-12,5-13所示.圖5-12查詢讀者信息一圖5-13查詢讀者信息二保存文件,退出在系統(tǒng)的主菜單后,按0'功能保存并退出系統(tǒng).圖5-14文件保存六、總結(jié)個(gè)人覺(jué)得課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐水平的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作水平的具體

10、練習(xí)和考察過(guò)程.在生活中可以說(shuō)得是無(wú)處不在.因此作為新世紀(jì)的大學(xué)來(lái)說(shuō)能夠分析,并解決程序中出現(xiàn)的問(wèn)題是十分重要的.課程設(shè)計(jì)就能體現(xiàn)到這一方面.能夠?qū)⒛闼鶎W(xué)到的理論跟實(shí)際結(jié)合在一起.通過(guò)本次課程設(shè)計(jì)感慨良多.從課堂上聽(tīng)到的到課后應(yīng)用到的根本就不是一回事.課堂上,老師在上面說(shuō),自己在下面聽(tīng),到也能聽(tīng)懂.可是到了應(yīng)用上,自己倒也是知道要用到哪方面的內(nèi)容,但是偏偏不知道從何處下手;好不容易寫(xiě)好的一小段代碼,還要跟其他功能不相沖突,這又需要我們自己去想方法去兼容好他們.通過(guò)本次課程設(shè)計(jì)試我懂得理論要跟實(shí)踐相結(jié)合.正所謂“臺(tái)上十分鐘,臺(tái)下十年功,別人在臺(tái)上表演了十分鐘,你覺(jué)得很容易,可那里知道別人在下面做

11、的努力呢.同樣的,我們?cè)谡n堂上聽(tīng)老師講確實(shí)覺(jué)得是那么回事,但是真正做下去,也只有自己知道是何種滋味.理論始終是理論,不能都熟練應(yīng)用自己所學(xué)到的知識(shí),到頭來(lái)也是一場(chǎng)空.在這次的課程設(shè)計(jì)過(guò)程中,我們也遇到了不能解決的難題,比方說(shuō)在讀者查詢的時(shí)候,第二個(gè)讀者始終會(huì)覆蓋第一個(gè)讀者的數(shù)據(jù).我們始終沒(méi)有搞明白問(wèn)題的所在,只知道不是在輸出讀者信息的問(wèn)題,應(yīng)該是添加讀者過(guò)程中指針始終指在第一個(gè)地址,沒(méi)有移動(dòng).我們根據(jù)查詢圖書(shū)的函數(shù)重新編寫(xiě)了一次還是同樣問(wèn)題.一直到辯論前一天晚上還沒(méi)有解決,之后只能放棄.還有在最開(kāi)始的時(shí)候我們的程序功能并沒(méi)有清屏功能,整個(gè)界面看起來(lái)并不是那么整潔.于是我用用getch();sy

12、stem("cls);來(lái)進(jìn)行清屏,最后會(huì)出先一個(gè)小問(wèn)題,在我們查詢了一些資料后,又再次根底上加上了gotoend;這個(gè)函數(shù)來(lái)加以完善.這次課程設(shè)計(jì),我們也遇到了很多問(wèn)題,比方說(shuō),我們?cè)佥斎氲诙€(gè)讀者的信息后會(huì)覆蓋第一個(gè)讀者的信息,想了半天沒(méi)有弄懂是哪里錯(cuò)了,最后才看出來(lái)我們定義的結(jié)構(gòu)體指針沒(méi)有移動(dòng),導(dǎo)致我們輸入的讀者信息一直存放在同一個(gè)地址中.也有些不懂需要在網(wǎng)上查詢的代碼,組員之間相互配合,不懂就詢問(wèn)其他同學(xué)或者查詢資料亦或者自己去弄懂問(wèn)題的根結(jié),團(tuán)結(jié)協(xié)作的精神在這次課程設(shè)計(jì)中表現(xiàn)的淋漓盡致.我們不僅將以前的知識(shí)復(fù)習(xí)一遍;同時(shí)也弄懂了一些平常自己似懂非懂的;最后同學(xué)之間的友誼也慢慢

13、變的深厚起來(lái)小組分工:孫澤銘:采編入庫(kù)、查詢圖書(shū)信息、查詢讀者信息黃響:添加讀者、借閱圖書(shū)、歸還圖書(shū)七、參考文獻(xiàn)1嚴(yán)蔚敏吳偉民編著?數(shù)據(jù)結(jié)構(gòu)?清華大學(xué)出版社,20002黃國(guó)瑜葉乃菁編著?數(shù)據(jù)結(jié)構(gòu)?清華大學(xué)出版社,20013胡學(xué)鋼編著?數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)指導(dǎo)?清華大學(xué)出版社,19994王士元編著?數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫(kù)系統(tǒng)?南開(kāi)大學(xué)出版社,20005李強(qiáng)根主編?數(shù)據(jù)結(jié)構(gòu)C+苗述?中國(guó)水利水電出版社,20016楊正宏編著出版社,20027胡學(xué)鋼編著出版社,19998殷人昆徐孝凱編著出版社,20029李春葆編著出版社,200110咨訊教育小組編著出版社,2002#include<>#includ

14、e<>#include<>#include<>#defineMax4?數(shù)據(jù)結(jié)構(gòu)?中國(guó)鐵道?數(shù)據(jù)結(jié)構(gòu)算法設(shè)計(jì)指導(dǎo)?數(shù)據(jù)結(jié)構(gòu)習(xí)題解析?數(shù)據(jù)結(jié)構(gòu)習(xí)題與解析?數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)版?八、附錄源代碼清華大學(xué)清華大學(xué)清華大學(xué)中國(guó)鐵道typedefstructbookcharbook_num10;charbook_name20;charbook_writer10;intbook_xy;intbook_kc;intn;structbook*next;BK;typedefstructborrow(charborrow_book_num10;charlimit_date10;BO;

15、charreader_num10;charreader_name10;intright;intm;BOborrowMax;structreader*next;RD;BK*h_book;RD*h_reader;intn=0;intm=0;voidLogin();intMenu();voidInit();voidMenu_select();voidInsert_New_Book();voidadd_reader();voidPrint_reader();voidPrint_book();voidBorrow_Book();voidReturn_Book();voidSave();voidSave_

16、Book();voidSave_Reader();voidLoad();voidLoad_Reader();voidLoad_Book();voidLogin()system("cls");printf("nnntt*n");printf("nnntt*歡送使用圖書(shū)治理系統(tǒng)*n");printf("nnntt*n");printf("nnntt按任意鍵進(jìn)入系統(tǒng).");getch();system("cls");intMenu()/*主菜單*/intdm;);printf(&q

17、uot;nttprintf("圖書(shū)治理系統(tǒng)主菜單n");n"printf("*t1米編入庫(kù)n");printf("*t2-登記讀者n");printf("*t3-借閱登記n");printf("*t4-還書(shū)治理n");printf("*t5-查詢圖書(shū)信息n");printf("*t6-查詢讀者信息n");printf("*t0-printf("退出系統(tǒng)n");printf("請(qǐng)選擇相應(yīng)的代碼:")

18、;for(;)(scanf("%d",&dm);n包括編號(hào).書(shū)名.數(shù)量.n");p0=(BK*)malloc(sizeof(BK);h_book=p0;printf"n請(qǐng)輸入圖書(shū)信息:n"printf("圖書(shū)編號(hào):");/*scanf("%s",p0->book_num);printf("圖書(shū)名稱:");/*scanf("%s",p0->book_name);printf("圖書(shū)作者:");/*scanf("%s&q

19、uot;,p0->book_writer);printf("圖書(shū)數(shù)量:");/*scanf("%d",&p0->book_kc);p0->book_xy=p0->book_kc;/*/p0->next=NULL;p0->n=+n;printf("n圖書(shū)信息初始化完畢getch();輸入圖書(shū)編號(hào)唯一*/輸入圖書(shū)名稱*/輸入圖書(shū)作者*/輸入圖書(shū)數(shù)量*/開(kāi)始時(shí)圖書(shū)現(xiàn)有量和庫(kù)存量相等!按任意鍵繼續(xù)下一步操作.n"system("cls");voidInsert_New_Book(

20、)/*新書(shū)入庫(kù)*/p=p1=h_book;printf("n新書(shū)入庫(kù)模塊n");printf"n請(qǐng)輸入新書(shū)信息.n包括書(shū)號(hào).書(shū)名.數(shù)量.n"p0=(BK*)malloc(sizeof(BK);printf("圖書(shū)編號(hào):");scanf("%s,p0->book_num);while(strcmp(p0->book_num,p1->book_num)!=0&&p1->next!=NULL)p1=p1->next;if(strcmp(p0->book_num,p1->bo

21、ok_num)=0)/*此處分兩種情況,假設(shè)圖書(shū)編號(hào)存在,那么直接進(jìn)庫(kù),只須輸入書(shū)的數(shù)量*/printf"n此編號(hào)圖書(shū)已存在!直接入庫(kù)!n"printf("圖書(shū)數(shù)量:");scanf("%d",&p0->book_kc);p1->book_kc+=p0->book_kc;p1->book_xy+=p0->book_kc;)else/*假設(shè)不存在,那么需要輸入其他的信息,然后在進(jìn)行插入操作*/printf("圖書(shū)名稱:");scanf("%s,p0->book_n

22、ame);printf("圖書(shū)作者:");scanf("%s",p0->book_writer);printf("圖書(shū)數(shù)量:");scanf("%d",&p0->book_kc);n");getch();system("cls");voidadd_reader()/*添加讀者*/(RD*p0;inti;printf("n讀者初始化開(kāi)始,請(qǐng)輸入讀者信息.n包括書(shū)證號(hào).姓名.n");p0=(RD*)malloc(sizeof(RD);/*申請(qǐng)新結(jié)點(diǎn)存

23、儲(chǔ)空間*/h_reader=p0;printf("n請(qǐng)輸入讀者的信息:n");printf("讀者書(shū)證號(hào):");scanf("%s,p0->reader_num);printf("讀者姓名:");scanf("%s",p0->reader_name);p0->right=0;for(i=0;i<Max;i+)所借圖書(shū)直接步操作.n");strcpy(p0->borrowi.borrow_book_num,"0");/*置為(即沒(méi)有借書(shū))*/str

24、cpy(p0->borrowi.limit_date,"0");p0->next=NULL;p0->m=+m;printf("n讀者信息初始化完畢!按任意鍵繼續(xù)下getch();system("cls");voidBorrow_Book()/*借書(shū)模塊*/BK*p0;RD*p1;charbo_num10,rea_num10,lim_date8;inti;p0=h_book;p1=h_reader;printf("n借書(shū)模塊.n");printf("n請(qǐng)輸入借書(shū)的讀者書(shū)證號(hào):");scan

25、f("%s",rea_num);while(p1->next!=NULL&&strcmp(rea_num,p1->reader_num)!=0)p1=p1->next;if(p1->next=NULL&&strcmp(rea_num,p1->reader_num)!=0)printf("n此讀者編號(hào)不存在!按任意鍵返回.n");gotoEND;printf("n請(qǐng)輸入你要借的書(shū)的編號(hào):");scanf("%s,bo_num);while(strcmp(bo_num

26、,p0->book_num)!=0&&p0->next!=NULL)p0=p0->next;if(p0->next=NULL&&strcmp(bo_num,p0->book_num)!=0)printf("n此圖書(shū)編號(hào)不存在!按任意鍵返回.n");gotoEND;)elseif(p0->book_xy<=0)(printf("n抱歉,此書(shū)已借完!請(qǐng)等待新書(shū)的到來(lái)!n按任意鍵返回.");gotoEND;)elseif(p1->right>Max|p1->right=

27、Max)(printf("n不好意思,借書(shū)數(shù)目已滿!不能借書(shū)!n按任意鍵返回.");gotoEND;(for(i=0;i<Max;i+)(if(strcmp(p1->borrowi.borrow_book_num,bo_num)=0)(printf("n抱歉!同一個(gè)讀者不能同借兩本相同的書(shū)!n按任意鍵返回.");gotoEND;elseif(strcmp(p1->borrowi.borrow_book_num,"0")=0)(printf("n請(qǐng)輸入你要?dú)w還圖書(shū)的日期:");scanf("

28、;%s",lim_date);strcpy(p1->borrowp1->right-1.limit_date,lim_date);p0->book_xy-;printf("n讀者編號(hào)$借書(shū)完畢!按任意鍵繼續(xù)下步操作.",p1->reader_num);gotoEND;elseprintf("n請(qǐng)輸入你要?dú)w還圖書(shū)的日期:");scanf("%s",lim_date);strcpy(p1->borrowp1->right+.borrow_book_num,bo_num);strcpy(p1-&

29、gt;borrowp1->right-1.limit_date,lim_date);p0->book_xy-;p0->book_kc-;printf("n讀者編號(hào)S昔書(shū)完畢!按任意鍵繼續(xù)下步操作.",p1->reader_num);gotoEND;END:getch();system("cls");voidReturn_Book()/*還書(shū)模塊*/BK*p;RD*q;inti,j,find=0;charreturn_book_num10,return_reader_num10;p=h_book;q=h_reader;printf(

30、"n還書(shū)模塊.n");printf("n請(qǐng)輸入要還書(shū)的讀者編號(hào):");scanf("%s",return_reader_num);while(q->next!=NULL&&strcmp(return_reader_num,q->reader_num)!=0)q=q->next;if(q->next=NULL&&strcmp(return_reader_num,q->reader_num)!=0)find=2;printf("n此讀者編號(hào)不存在!按任意鍵返回.n&q

31、uot;);gotoend;printf("n請(qǐng)輸入讀者還書(shū)的編號(hào):");scanf("%s",return_book_num);while(p->next!=NULL&&strcmp(return_book_num,p->book_num)!=0)p=p->next;if(p->next=NULL&&strcmp(return_book_num,p->book_num)!=0)(find=2;printf("n錯(cuò)誤!此圖書(shū)編號(hào)不存在!按任意鍵返回.n");gotoend;

32、for(i=0;i<Max;i+)if(strcmp(return_book_num,q->borrowi.borrow_book_num)=0)/*如果此讀者借了此書(shū)*/(find=1;for(j=i;j<Max-1;j+)strcpy(q->borrowj.borrow_book_num,q->borrowj+1.borrow_book_num);strcpy(q->borrowj.limit_date,q->borrowj+1.limit_date);strcpy(q->borrowMax-1.borrow_book_num,"0

33、");strcpy(q->borrowMax-1.limit_date,"0");p->book_xy+;q->right-;printf"n編號(hào)$的讀者還書(shū)完畢!按任意鍵繼續(xù)下步操作.",return_reader_num);gotoend;if(find=0)printf"n錯(cuò)誤!此讀者未借此書(shū)!按任意鍵返回.n"end:getch();system("cls");voidPrint_book()/*查詢圖書(shū)信息*/(BK*p;inti;chare10;p=h_book;printf

34、("輸入查詢的圖書(shū)編號(hào):");scanf("%s",e);for(i=0;i<n;i+)(if(strcmp(p->book_num,e)=0)(printf("n圖書(shū)信息如下:nn");printf"圖書(shū)編號(hào)t圖書(shū)名稱t圖書(shū)作者t現(xiàn)有t庫(kù)存n"printf("%stt%stt%stt%dt%dn",p->book_num,p->book_name,p->book_writer,p->book_xy,p->book_kc);break;elsep=p-&

35、gt;next;printf("n圖書(shū)信息打印完畢!按任意鍵繼續(xù)下一步操作.");getch();system("cls");voidPrint_reader()/*查詢讀者信息*/RD*p;inti,j;chare10;p=h_reader;printf("輸入查詢的讀者編號(hào):");scanf("%s",e);for(j=0;j<m;j+)if(strcmp(p->reader_num,e)=0)printf("n讀者信息如下:nn");printf("讀者書(shū)證號(hào)t讀者姓

36、名n");printf("%stt%s",p->reader_num,p->reader_name);for(i=0;i<Max;i+)printf("n");printf("圖書(shū)編號(hào)",i+1);printf("t還書(shū)日期",i+1);printf("n");printf("t%s",p->borrowi.borrow_book_num);printf("tt%s",p->borrowi.limit_date);p

37、rintf("n");break;elsep=p->next;printf("n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作.");getch();system("cls");voidSave()/*保存信息*/(Save_Reader();Save_Book();)voidSave_Reader()/*保存讀者信息*/(FILE*fp_reader;RD*p,*p0;p=h_reader;if(fp_reader=fopen("","wb")=NULL)/*創(chuàng)立文件,進(jìn)行保存*/(printf("n文件保存失??!n請(qǐng)重新啟動(dòng)本系統(tǒng)n");exit(0);while(p!=NULL)(if(fwrite(p,sizeof(RD),1,fp_reader)!=1)/*將鏈表中的信息寫(xiě)入文件中*/printf("n寫(xiě)入文件失敗!n請(qǐng)重新啟動(dòng)本系統(tǒng)!n");p0=p;p=p->next;free(p0);/*釋放所有結(jié)點(diǎn)*/h_reader=NULL;fclose(fp_reader);/*關(guān)閉

溫馨提示

  • 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)論