數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理組織系統(tǒng)_第1頁(yè)
數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理組織系統(tǒng)_第2頁(yè)
數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理組織系統(tǒng)_第3頁(yè)
數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理組織系統(tǒng)_第4頁(yè)
數(shù)據(jù)結(jié)構(gòu)-圖書(shū)管理組織系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩36頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、課程設(shè)計(jì)說(shuō)明書(shū)課程名稱(chēng):數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)班級(jí):11-電科1班姓 名:張海琴 學(xué)號(hào):1111121132設(shè)計(jì)題目:圖書(shū)管理系統(tǒng)一、設(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)建立索引表(線(xiàn)性表)以提高查找效率;3)系統(tǒng)主要功能如下:采編入庫(kù):新購(gòu)一種書(shū),確定書(shū)號(hào)后,登記到圖書(shū)帳目表中,如果表中已有, 則只將庫(kù)存量增加;借閱:如果一種書(shū)的現(xiàn)存量大于 0,則借出一本,登記借閱者的書(shū)證號(hào)和歸還 期限,改變現(xiàn)存量;歸還:注銷(xiāo)對(duì)借閱者的登記,改變?cè)摃?shū)的現(xiàn)存量。【進(jìn)一步完成內(nèi)容】1)系統(tǒng)功能的進(jìn)一步完善

2、;2)索引表采用樹(shù)表。3)設(shè)計(jì)內(nèi)容4)程序流程圖5)源程序6)軟件測(cè)試報(bào)告(包括所用到的數(shù)據(jù)及結(jié)果)二、概要設(shè)計(jì)有八個(gè)模塊1)圖書(shū)初始化輸入圖書(shū)的一些信息,編號(hào)、作者、書(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ū),

3、歸還成功。6)查詢(xún)圖書(shū)信息7)查詢(xún)讀者信息可查詢(xún)讀者姓名書(shū)證號(hào),借了幾本書(shū),都是什么書(shū)和還書(shū)日期,還可以借幾本書(shū)。8)退出退出讀書(shū)管理系統(tǒng)并保存讀者和圖書(shū)信息。圖書(shū)管理系統(tǒng)三、算法設(shè)計(jì)進(jìn)入系統(tǒng)后首先進(jìn)行圖書(shū)初始化,輸入圖書(shū)的信息L開(kāi)始./輸入圖書(shū) / 編號(hào)、名 / 稱(chēng)、作者和 /圖書(shū)數(shù)量:進(jìn)入系統(tǒng)初始化之后,進(jìn)入系統(tǒng),顯示功能列表,可選擇任意系統(tǒng),但在借書(shū)之前先要輸入讀者信息。/1開(kāi)始判斷是否有此圖書(shū)1)采編入庫(kù)輸入功能 所對(duì)應(yīng)的 數(shù)字錄入圖書(shū)信息執(zhí)行所選功能錯(cuò)誤!請(qǐng)重新輸 入在原有的紀(jì)錄上加上現(xiàn)有的圖書(shū)數(shù)量向系統(tǒng)中加入新紀(jì)錄2)輸入讀者信息3)借閱圖書(shū)開(kāi)始輸入讀者信息:讀 者書(shū)證號(hào)輸入讀者書(shū)

4、證號(hào)是輸出同一讀者不能借 相同的兩本書(shū)4)歸還圖書(shū)輸入歸還圖書(shū)的日期圖書(shū)現(xiàn)有數(shù)量和庫(kù)存數(shù)量都減1輸出讀者結(jié)束成功, 按任意鍵返回是輸出讀者編號(hào)不存在按任意鍵返回輸入讀者還書(shū)編號(hào)I輸出此圖書(shū)編號(hào)不存在按任意鍵返回此圖書(shū)編號(hào)和還書(shū)日期等于0庫(kù)存和現(xiàn)有圖書(shū)數(shù)量 加1,借書(shū)數(shù)量減1輸出讀者還書(shū)完畢,按 任意鍵返回結(jié)束5)查詢(xún)圖書(shū)信息判斷圖書(shū)信息 是否為空輸出圖書(shū)信息:編號(hào)、名 稱(chēng)、作者、現(xiàn)有和庫(kù)存6)查詢(xún)讀者信息輸出讀者書(shū)證號(hào)、姓名、 圖書(shū)編碼和還書(shū)日期輸出讀者信息打印完畢四、運(yùn)行結(jié)果和調(diào)試分析圖書(shū)信息初始化八 C;Frngra FilcsXWicrosoft Viaval StudioWyPrcje

5、ct?pkcs jVebugpkc?.圖書(shū)初始化開(kāi)始.逾揄入圖書(shū)信息 包花編號(hào).書(shū)名.數(shù)里第書(shū)書(shū)節(jié)譚酊陽(yáng)酊圖1 Ju? B s W 5: : -留不稱(chēng)土百里人編名笠圖書(shū)信息初始化完畢,校任意鍵繼續(xù)下一步操作.??;,C;Froffra Fi 1 csicrosoft Viaval StudioWyPrcjectspkcs jXDebugXpkc?.1圖書(shū)管理系統(tǒng)主裝單自j息一信信一統(tǒng)庫(kù)者記理用者一系人讀普彥已圖讀一出編記閱書(shū)詢(xún)?cè)?退一查查一請(qǐng)選擇相應(yīng)的代創(chuàng):同一本新書(shū)入庫(kù)的運(yùn)行結(jié)果圖Z. ,CiXPro5raM Fi 1 esicrosoft Visual StudioWyPro ject sp

6、kcs jXDebugXpkc?.圖書(shū)管理系統(tǒng)主裝單口 12 3統(tǒng)庫(kù)者記理書(shū)者.系人讀普塞E圖讀一出編記聞.書(shū)詢(xún)?cè)円煌艘籱a查查一信信一請(qǐng)選擇相應(yīng)的代陰點(diǎn)新書(shū)入廬模塊號(hào).書(shū)名.數(shù)量., 號(hào)墨被用書(shū)已存在“直接入庫(kù), 里:;5新書(shū)入座完畢?按任意鍵繼續(xù)下一步操作不同的新書(shū)采編入庫(kù)圖書(shū)管理系蟀主裝單息息一信信一 統(tǒng)庫(kù)者記理用者一 系人讀普彥已圖讀一 出編圈書(shū)詢(xún)?cè)円煌艘慌e皆意查杏一*請(qǐng)選擇相應(yīng)的代胡U 新書(shū)入隹模塊.請(qǐng)包圖圖圖圖書(shū)書(shū)書(shū)人書(shū)編名裝書(shū)信息書(shū)名. :02I 數(shù)量-新書(shū)入醫(yī)完畢,按任意犍繼續(xù)下一步操作圖書(shū)管理系統(tǒng)主裝單采編入庫(kù)后查詢(xún)圖書(shū)信息的運(yùn)行結(jié)果圖信信一統(tǒng)庫(kù)者記理書(shū)者.系人讀普塞E圖讀一

7、出編記聞.書(shū)詢(xún)?cè)円煌艘籱a查查一口 12 3請(qǐng)選擇相應(yīng)的代砂E歸書(shū)信息如下,庫(kù)存1Q 10圖書(shū)編號(hào)圖書(shū)名稱(chēng)圖書(shū)作者現(xiàn)有h1 ju1UB2yyh鬲書(shū)信息打印完畢?按任意罅繼續(xù)下一步操作登記讀者信息圖書(shū)管理系蟀主裝單統(tǒng)庫(kù)者記理用者一系人讀普彥已圖讀一出編記閱書(shū)詢(xún)?cè)?退一查查一信信一自j息一請(qǐng)選擇相應(yīng)的代砂Z鼠者初始化開(kāi)始.請(qǐng)輸入讀者信息. -戶(hù)括書(shū)證號(hào).姓名I電入鍥毒的信息士賽雪節(jié)證暴加g,賣(mài)者姓名=zhaci展者信息初始訛完畢,按任意鍵繼續(xù)下一步操作借書(shū)圖書(shū)管理系統(tǒng)主裝單信信一統(tǒng)庫(kù)者記理書(shū)者.系人讀普塞E圖讀一出編記聞.書(shū)詢(xún)?cè)円煌艘籱a查查一口 12 3請(qǐng)選擇相應(yīng)的代砂?卜書(shū)模塊一.,輸人借書(shū)的

8、讀著書(shū)證號(hào)日儲(chǔ)輸入御要借的書(shū)的編號(hào);91%輸入你要?dú)w還圖書(shū)的日期:20120309讀者編號(hào)皿目惜書(shū)完畢】按任意鍵強(qiáng)奏下步操作借書(shū)后查詢(xún)圖書(shū)信息的運(yùn)行結(jié)果圖圖書(shū)管理系蟀主裝單*退一舉皆意查杏一息息一信信一 統(tǒng)庫(kù)者記理用者一 系人讀普彥已圖讀一 出編圈書(shū)詢(xún)?cè)円徽?qǐng)選擇相應(yīng)的代砂EX書(shū)信息如下工圖書(shū)蝙號(hào)圖書(shū)名稱(chēng)圖書(shū)作者現(xiàn)有圖書(shū)信息打印完畢?按任意踴繼續(xù)下一步操作庫(kù)存 910圖書(shū)管理系統(tǒng)主裝單借同一本書(shū)的運(yùn)行結(jié)果圖口 12 3統(tǒng)庫(kù)者記理書(shū)者.系人讀普塞E圖讀一出編記聞.書(shū)詢(xún)?cè)円煌艘籱a查查一信信一請(qǐng)選擇相應(yīng)的代砂?卜書(shū)模塊一.,輸人借書(shū)的讀著書(shū)證號(hào)日儲(chǔ)輸入御要借的書(shū)的編號(hào);91卜君縝卜餒者不能同借網(wǎng)本相

9、同的書(shū) 陵之意鍵返回.借不同的書(shū)?。?C;Froffra Fi 1 csicrosoft Viaval StudioWyPrcjectspkcs jXDebugXpkc?.圖書(shū)管理系統(tǒng)主裝單自j息一信信一統(tǒng)庫(kù)者記理用者一系人讀普彥已圖讀一出編記閱書(shū)詢(xún)?cè)?退一查查一請(qǐng)選擇相應(yīng)的代砂才卜書(shū)模塊一.,輸入借書(shū)的諛者書(shū)證號(hào)生0同輸入你要借的書(shū)的編號(hào)m 92除入痂要?dú)w還圖書(shū)的日期=2B120M0讀者編號(hào)2姓目借書(shū)完畢,按任意鍵名艇奏下步操作一借兩本書(shū)后查詢(xún)讀者信息的運(yùn)行結(jié)果圖統(tǒng)庫(kù)者記理書(shū)者系人讀衰目圖讀出編記闌書(shū)洵詢(xún)自3自3信信清遠(yuǎn)擇相應(yīng)的代詡二6賣(mài)者信息如下:賣(mài)者書(shū)證號(hào)侯者姓名2019zhao圖書(shū)編號(hào)

10、還書(shū)日期012012Q30902圖書(shū)編號(hào)注書(shū)日翱8220120310省書(shū)編號(hào)還書(shū)日期圖書(shū)編號(hào)還書(shū)日期00上者信息打切完畢,按任意肄繼穰下一樂(lè)還書(shū)運(yùn)行結(jié)果圖圖書(shū)管理系統(tǒng)主裝單統(tǒng)庫(kù)者記理用者一系人讀普彥已圖讀一出編記閱書(shū)詢(xún)?cè)?退一查查一信信一自j息一請(qǐng)選擇相應(yīng)的代砂4,書(shū)模塊.,輸入要還書(shū)的謨者編號(hào)式0根輸入讀者還書(shū)的編號(hào)二班1號(hào)2亞日的讀者還書(shū)完畢,按任意健續(xù)下步操作還書(shū)之后再查詢(xún)讀者信息的運(yùn)行結(jié)果圖統(tǒng)庫(kù)者記理書(shū)者系人讀衰目圖讀出編記闌書(shū)洵詢(xún)自3自3信信清遠(yuǎn)擇相應(yīng)的代詡:6卜者信息如下:卜者書(shū)證號(hào)讀者姓名201031iao圖書(shū)蝙號(hào)還書(shū)日期022U12Q310圖書(shū)編號(hào)注書(shū)日翱EI圖書(shū)編號(hào)還書(shū)日期圖

11、書(shū)編號(hào)還書(shū)日期00限者信息打印完畢!按任意敏續(xù)下一步還書(shū)后查詢(xún)圖書(shū)信息小;,C;Froffra Fi 1 csicrosoft Viaval StudioWyPrcjectspkcs jXDebugXpkc?.1庫(kù)存10 10圖書(shū)管理系蟀主裝單息息一信信一 統(tǒng)庫(kù)者記理用者一 系人讀普彥已圖讀一 出編圈書(shū)詢(xún)?cè)円煌艘慌e皆意查杏一*請(qǐng)選擇相應(yīng)的代砂EX書(shū)信息如下工上書(shū)蝙號(hào)圖書(shū)名稱(chēng)圖書(shū)作者現(xiàn)有圖書(shū)信息打印完畢?按任意踴繼續(xù)下一步操作退出圖書(shū)管理系統(tǒng)主裝單信信一統(tǒng)庫(kù)者記理書(shū)者.系人讀普塞E圖讀一出編記聞.書(shū)詢(xún)?cè)円煌艘籱a查查一口 12 3請(qǐng)選擇相應(yīng)的代利當(dāng)五、總結(jié)體會(huì)雖然這次的程序是通過(guò)上網(wǎng)查出來(lái)的,但

12、是通過(guò)這次的實(shí)驗(yàn)使我知道了圖書(shū)管理系統(tǒng)的流程,知道了一些以前不知道的知識(shí),在運(yùn)行程序時(shí)也遇到了一些問(wèn)題,借書(shū)時(shí)只能借一本書(shū),再借書(shū)就不能顯示是借了還是不能借,把最多能借書(shū)的數(shù)量改了一下還是不行,最后在每一個(gè)判斷輸出之后都加了goto END借書(shū),就能正常借書(shū)了。程序有點(diǎn)長(zhǎng),本來(lái)一個(gè)函數(shù)就能完成一個(gè)功能,他用了兩個(gè)函數(shù)就我把自己能改成一個(gè)的改了。借書(shū)系統(tǒng)比較復(fù)雜,不容易懂,和同學(xué)交流了一下自己看了 看才明白。這次的實(shí)驗(yàn)還讓我復(fù)習(xí)了數(shù)據(jù)結(jié)構(gòu)的一些知識(shí),如數(shù)組,while語(yǔ)句,switch語(yǔ)句,鏈表,還知道了如何使用system(cls)清屏,還知道了 strcmp是用來(lái)比較享符串si和s2大小的,

13、strcpy使用來(lái)把字符用s2的值賦給si的這次的實(shí)驗(yàn)增加了我們自己動(dòng)手動(dòng)腦的能力,希望多做一些這樣的實(shí)驗(yàn),很有意義,和現(xiàn)實(shí)生活結(jié)合的程序增加了我的興趣源代碼#include#include #include #include#define Max 4typedef struct bookchar book_num10;char book_name20;char book_writer10;int book_xy;int book_kc;struct book *next;BK;typedef struct borrowchar borrow_book_num10;char limit_dat

14、e8;BO;typedef struct readerchar reader_num10;char reader_name10;int right;BO borrowMax;struct reader *next;RD;BK *h_book;RD *h_reader;void Login();int Menu();void Init();void Init_book();void Menu_select();void Insert_New_Book();void Find_Book();void add_reader();void Print_reader();void Print_book(

15、);void Borrow_Book();void Return_Book();void Save();void Save_Book();void Save_Reader();void Load();void Load_Reader();void Load_Book();void Login() system(cls);printf(nnntt*n);printf(nnnttt 歡迎使用圖書(shū)管理系統(tǒng)n);printf(nnntt*n);printf(nntt 本程序制作人 學(xué)號(hào):nnnnnnn);printf(nnntt按任意鍵進(jìn)入系統(tǒng).);getch(); system(cls);)int

16、Menu() /* 主菜單 */ int dm;printf(ntt圖書(shū)管理系統(tǒng)主菜單n);printf(= =n); TOC o 1-5 h z printf(*t0-退出系統(tǒng)n);printf(*t1-采編入庫(kù)n);printf(*t2-登記讀者n);printf(*t3-借閱登記n);printf(*t4-還書(shū)管理n);printf(*t5-查詢(xún)圖書(shū)信息n);printf(*t6-查詢(xún)讀者信息n);printf(= =n);printf(請(qǐng)選擇相應(yīng)的代碼:);for(;) scanf(%d,&dm); /dm 輸入的數(shù)字if(dm6)printf(n錯(cuò)誤!請(qǐng)重新輸入:);else bre

17、ak;)return dm;)void Menu_select()/*主菜單選擇函數(shù)*/for(;)switch(Menu() /*功能選擇 */ case 0:system(cls);Save();printf(nnt文件保存成功!n);printf(nnt歡迎下次使用本系統(tǒng)!n);getch();exit(0);case 1:Insert_New_Book();break;case 2:add_reader();break;case 3:Borrow_Book();break;case 4:Return_Book();break;case 5:Print_book();break;case

18、 6:Print_reader();break;default:printf(n 錯(cuò)誤!);exit(0);void Init() /* 初始化 */ BK *p0;printf(n圖書(shū)初始化開(kāi)始,請(qǐng)輸入圖書(shū)信息.n包括編號(hào).書(shū)名.數(shù)量.n);p0=(BK*)malloc(sizeof(BK);h_book=p0;printf(n請(qǐng)輸入圖書(shū)信息:n);printf(圖書(shū)編號(hào):);/*輸入圖書(shū)編號(hào)(唯一)*/scanf(%s,p0-book_num);printf(圖書(shū)名稱(chēng):);/*輸入圖書(shū)名稱(chēng)*/scanf(%s”,p0-book_name);printf(圖書(shū)作者:);/*輸入圖書(shū)作者*/s

19、canf(%s,p0-book_writer);printf(圖書(shū)數(shù)量:);/*輸入圖書(shū)數(shù)量*/scanf(%d”,&p0-book_kc);p0-book_xy=p0-book_kc;/*開(kāi)始時(shí)圖書(shū)現(xiàn)有量和庫(kù)存量相等*/p0-next=NULL;printf(n圖書(shū)信息初始化完畢!按任意鍵繼續(xù)下一步操作.n);getch(); system(cls);void Insert_New_Book()/* 新書(shū)入庫(kù) */BK *p,*p0,*p1;p=p1=h_book;printf(n新書(shū)入庫(kù)模塊n);printf(n請(qǐng)輸入新書(shū)信息.新包括書(shū)號(hào).書(shū)名.數(shù)量.n);p0=(BK *)malloc(

20、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-book_num)=0) /*此處分兩種情況,若圖書(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/

21、*若不存在,則需要輸入其他的信息,然后在進(jìn)行插入操作*/ printf(圖書(shū)名稱(chēng):);scanf(%s”,p0-book_name);printf(圖書(shū)作者:);scanf(%s,p0-book_writer);printf(圖書(shū)數(shù)量:);scanf(%d”,&p0-book_kc);/ 庫(kù)存數(shù)量 while(p-next) p=p-next; if(h_book=NULL) h_book=p0; /*此處分兩種情況,鏈表中沒(méi)有數(shù) 據(jù),head直接指向p0處*/else p-next=p0;/*此處分兩種情況,鏈表中有數(shù)據(jù),鏈表中最后元素的next指向p0處*/ p0-next=NULL; p

22、0-book_xy=p0-book_kc; printf(n新書(shū)入庫(kù)完畢!按任意鍵繼續(xù)下一步操作.n);getch(); system(cls); void add_reader()/*添加讀者 */ RD *p0;int i;printf(n讀者初始化開(kāi)始,請(qǐng)輸入讀者信息.n包括書(shū)證號(hào).姓名.n);p0=(RD*)malloczeof(RD);/*申請(qǐng)新結(jié)點(diǎn)存儲(chǔ)空間*/h_reader=p0; printf(n請(qǐng)輸入讀者的信息:n); printf(讀者書(shū)證號(hào):);scanf(%s”,p0-reader_num); printf(讀者姓名:);scanf(%s”,p0-reader_name

23、);p0-right=0;for(i=0;iborrowi.borrow_book_num,0); /*所借圖書(shū)直接置為(即沒(méi)有借書(shū))*/strcpy(p0-borrowi.limit_date,0);p0-next=NULL;printf(n讀者信息初始化完畢!按任意鍵繼續(xù)下一步操作.n);getch(); system(cls);void Borrow_Book() /*借書(shū)模塊 */BK *p0; RD *p1;char bo_num10,rea_num10,lim_date8;int i;p0=h_book; p1=h_reader;printf(n借書(shū)模塊n);printf(n請(qǐng)輸入

24、借書(shū)的讀者書(shū)證號(hào):”);scanf(%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);goto END; printf(n請(qǐng)輸入你要借的書(shū)的編號(hào):);scanf(%s”,bo_num);while(strcmp(bo_num,p0-book_num)!=0&p0-next!=NULL)p0=p0-next;if(p0-next=NULL&s

25、trcmp(bo_num,p0-book_num)!=0)printf(n此圖書(shū)編號(hào)不存在!按任意鍵返回.n);goto END;else if(p0-book_xyrightMax|p1-right=Max)printf(n不好意思,借書(shū)數(shù)目已滿(mǎn)!不能借書(shū)!n按任意鍵返回.)goto END;else if(strcmp(p1-borrow0.borrow_book_num,0)!=0)for(i=0;iborrowi.borrow_book_num,bo_num)=0)printf(n抱歉!同一個(gè)讀者不能同借兩本相同的書(shū)!n按任意鍵返回.);goto END;else if(strcmp(

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

27、rcpy(p1-borrowp1-right+.borrow_book_num,bo_num);strcpy(p1-borrowp1-right-1.limit_date ,lim_date );p0-book_xy-;p0-book_kc-;printf(n讀者編號(hào)s借書(shū)完畢!按任意鍵繼續(xù)下步操作.,p1-reader_num);END:getch(); system(cls);void Return_Book() /*還書(shū)模塊 */BK *p; RD *q;int i,j,find=0;char return_book_num10,return_reader_num10;p=h_book;

28、 q=h_reader;printf(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);goto end;printf(n請(qǐng)輸入讀者還書(shū)的編號(hào):”);scanf(%s,return_book_num);while

29、(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);goto end;for(i=0;iborrowi.borrow_book_num)=0)/*如果此讀者借了此書(shū)*/find=1;for(j=i;jborrowj.borrow_book_num,q-borrowj+1.borrow_book_num );strcpy(q-borrowj.lim

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

31、rintf(n 圖書(shū)信息如下:nn);printf(圖書(shū)編號(hào)t圖書(shū)名稱(chēng)t圖書(shū)作者t現(xiàn)有tt庫(kù)存n);while(p!=NULL)printf(%stt%stt%stt%dtt%dn,p-book_num,p-book_name,p-b ook_writer,p-book_xy,p-book_kc);p=p-next;printf(n圖書(shū)信息打印完畢!按任意鍵繼續(xù)下一步操作.);getch();system(cls);void Print_reader() /* 查詢(xún)讀者信息 */RD *p;int i;p=h_reader;printf(n讀者信息如下:nn);printf(讀者書(shū)證號(hào)tt讀者

32、姓名n);printf(n);while(p!=NULL)printf(t%stt%s,p-reader_num,p-reader_name);for(i=0;iborrowi.borrow_book_num);printf(tt%s,p-borrowi.limit_date);printf(n);p=p-next;printf(n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作.);getch();system(cls);void Save() /* 保存信息 */Save_Reader();Save_Book();void Save_Reader()/* 保存讀者信息*/FILE *fp_read

33、er;RD *p,*p0;p=h_reader;if(fp_reader=fopen(Reader.txt,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)閉文件 */void Save_Book() /* 保存圖書(shū)信息*/FILE *fp_book; /*創(chuàng)建文件型指針*/BK *p,*p0;p=h_boo

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論