九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)

上傳人:GCG1****010 文檔編號:57136053 上傳時(shí)間:2022-02-23 格式:DOC 頁數(shù):36 大小:116KB
收藏 版權(quán)申訴 舉報(bào) 下載
圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)_第1頁
第1頁 / 共36頁
圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)_第2頁
第2頁 / 共36頁
圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)_第3頁
第3頁 / 共36頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)》由會員分享,可在線閱讀,更多相關(guān)《圖書管理系統(tǒng)設(shè)計(jì)報(bào)告 (個人部分)(36頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)13級數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)報(bào)告學(xué)院:數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院班級:計(jì)科131設(shè)計(jì)題目:圖書管理系統(tǒng)姓 名:元乾學(xué) 號:1200313056037 指導(dǎo)教師:郝繼升目 錄一、 設(shè)計(jì)任務(wù)31. 設(shè)計(jì)目的32. 問題描述33. 設(shè)計(jì)基本要求3二、 本人任務(wù)4三、 功能簡介4四、 主體內(nèi)容51. 問題分析62. 數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體定義 63. 算法設(shè)計(jì)及程序流程圖 81) 主菜單82) 登記讀者 93) 借閱圖書104) 查詢讀者144. 運(yùn)行結(jié)果和調(diào)試分析15五、 附錄23 參考文獻(xiàn) 24六、 心得體會24一、設(shè)計(jì)任務(wù) 、設(shè)計(jì)目的1、了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計(jì)方法,具備初步的獨(dú)立分析和設(shè)

2、計(jì)能力;2、初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計(jì)、程序編碼、測試等基本方法和技能;3、提高綜合運(yùn)用所學(xué)的理論知識和方法獨(dú)立分析和解決問題的能力;4、訓(xùn)練用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā)。、問題描述 設(shè)計(jì)一個計(jì)算機(jī)管理系統(tǒng)完成圖書管理基本業(yè)務(wù)。、設(shè)計(jì)基本要求1)每種書的登記內(nèi)容包括書號、書名、著作者、現(xiàn)存量和庫存量;2)對書號建立索引表(線性表)以提高查找效率;3)系統(tǒng)主要功能如下:采編入庫:新購一種書,確定書號后,登記到圖書帳目表中,如果表中已有,則只將庫存量增加;*借閱:如果一種書的現(xiàn)存量大于0,則借出一本,登記借閱者的書證號和歸還期限,改變現(xiàn)存量;*歸還:注銷對借閱者的登記,

3、改變該書的現(xiàn)存量.進(jìn)一步完成內(nèi)容:1)系統(tǒng)功能的進(jìn)一步完善;2)索引表采用樹表。3)設(shè)計(jì)內(nèi)容4)程序流程圖5)源程序6)軟件測試報(bào)告(包括所用到的數(shù)據(jù)及結(jié)果) 二、本人任務(wù)設(shè)計(jì)并編程圖書管理中的主菜單、借閱、登記讀者、查詢讀者共四個模塊.三、功能簡介1) 圖書初始化輸入圖書的一些信息,編號、作者、書名、數(shù)量,使有一定的庫存.2) 新書入庫新書采編入庫,輸入編號后如果有次數(shù)只需輸入數(shù)量,沒有則繼續(xù)輸入書名、作者、數(shù)量。3) 添加讀者信息讀者信息初始化,輸入讀書證號和姓名,只有輸入書證號和姓名才能進(jìn)行借書還書4) 借書模塊讀者輸入讀書證號,證號存在輸入要借的圖書編號,不能借同一本書,如果借書數(shù)量以

4、達(dá)到最大也不能借書。5) 還書模塊歸還已借的圖書,要先輸入讀者書證號,書證號存在繼續(xù)輸入要還的圖書編號,圖書編號存在并且借來此書,歸還成功。6) 查詢圖書信息7) 查詢讀者信息可查詢讀者姓名書證號,借了幾本書,都是什么書和還書日期,還可以借幾本書。8) 退出退出讀書管理系統(tǒng)并保存讀者和圖書信息。四、主體內(nèi)容圖書管理系統(tǒng)總體情況如下圖:這個系統(tǒng)主要有四大模塊,圖書管理模塊、讀者管理模塊、借閱操作模塊、查詢操作模塊。每個模塊下又有幾個分支模塊。1.問題分析 主菜單模塊需要設(shè)計(jì)一個可供選擇的界面,在界面中通過選擇不同的按鍵來實(shí)現(xiàn)不同的功能.登記讀者模塊需要可以記錄學(xué)生的書證號以及學(xué)生的姓名.借書模塊

5、中學(xué)生可以通過書證號和所需要借的書的編號來借書,借書完成后圖書數(shù)量減少。查詢讀者模塊需要隨著讀者借書、還書不斷變化,總是能顯示出當(dāng)前讀者的準(zhǔn)確信息。2。數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體定義圖書文件: typedef struct book char book_num10; char book_name20; 定義圖書的編號,名稱,作者, char book_writer10; 現(xiàn)有以及庫存數(shù)量 int book_xy;int book_kc;struct book next; 定義圖書結(jié)構(gòu)體BK; 數(shù)據(jù)記錄借閱文件:typedef struct borrowchar borrow_book_num10; 定義借

6、閱圖書編號以char limit_date8; 及還書日期 BO; 數(shù)據(jù)記錄讀者文件:typedef struct readerchar reader_num10; 定義讀者書證號以char reader_name10; 及讀者姓名int right;BO borrowMax; 借書最大數(shù)量struct reader *next; 定義讀者結(jié)構(gòu)體RD; 數(shù)據(jù)記錄3.算法設(shè)計(jì)及程序流程圖 進(jìn)入系統(tǒng)后,顯示功能列表,可選擇任意系統(tǒng)。主菜單: 程序流程圖:執(zhí)行所選功能錯誤,請重新輸入開始輸入功能所對應(yīng)的數(shù)字輸入的數(shù)字小于0或大于6源程序:int Menu() /*主菜單*/ int dm;print

7、f(ntt圖書管理系統(tǒng)主菜單n”);printf(=n);printf(*t0-退出系統(tǒng) n);printf(”t1-采編入庫 n);printf(t2-登記讀者 n”); printf(”*t3-借閱登記 n);printf(”t4-還書管理 n);printf(”*t5-查詢圖書信息 n);printf(t6-查詢讀者信息 n);printf(”=n”);printf(請選擇相應(yīng)的代碼:); for(;) scanf(”%d”,&dm); /dm輸入的數(shù)字 if(dm6) printf(n錯誤!請重新輸入:); else break;return dm; void Menu_select(

8、)/主菜單選擇函數(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 6:Print_reader();brea

9、k; default:printf(n錯誤!”); exit(0);登記讀者:開始輸入讀者信息:讀者書證號,讀者姓名結(jié)束 程序流程圖:源程序:void add_reader()/*添加讀者*/ RD *p0; int i; printf(n讀者初始化開始,請輸入讀者信息。.n包括書證號。姓名.。n);p0=(RD)malloc(sizeof(RD)); /申請新結(jié)點(diǎn)存儲空間/h_reader=p0;printf(n請輸入讀者的信息:n”); printf(讀者書證號:); scanf(s”,p0-reader_num); printf(”讀者姓名:); scanf(”s,p0-reader_n

10、ame); p0-right=0; for(i=0;iMax;i+) strcpy(p0-borrowi.borrow_book_num,0”); /所借圖書直接置為(即沒有借書)*/ strcpy(p0-borrowi.limit_date,0); p0next=NULL; printf(”n讀者信息初始化完畢!按任意鍵繼續(xù)下一步操作。n); getch(); system(”cls”);輸入讀者書證號判斷讀者是否存在輸出:讀者編號不存在!按任意鍵返回借閱圖書:程序流程圖: 否 是判斷是否還有此圖書輸入要借的圖書編號判斷圖書編號是否存在輸出:此圖書編號不存在!按任意鍵返回輸出:此書已借完,按

11、任意鍵返回判斷讀者的借書數(shù)目是否已達(dá)上限輸出:借書數(shù)目已滿無法借書,按任意鍵返回判斷讀者是否借了相同的圖書輸出:同一人不能借相同的兩本書,按任意鍵返回輸入歸還圖書的日期 否 否 是 是 否 是 否圖書現(xiàn)有數(shù)量以及庫存數(shù)量都減1輸出:讀者借書成功,按任意鍵返回結(jié)束源程序:void Borrow_Book() /借書模塊*/BK p0; RD *p1;char bo_num10,rea_num10,lim_date8;int i;p0=h_book; p1=h_reader;printf(n借書模塊。.n);printf(n請輸入借書的讀者書證號:”); scanf(%s,rea_num);whi

12、le(p1next!=NULL&strcmp(rea_num,p1-reader_num)!=0) p1=p1-next; if(p1next=NULLstrcmp(rea_num,p1reader_num)!=0) printf(”n此讀者編號不存在!按任意鍵返回.。n”); goto END; printf(n請輸入你要借的書的編號:”); scanf(%s,bo_num); while(strcmp(bo_num,p0book_num)!=0&p0next!=NULL) p0=p0-next; if(p0-next=NULL&strcmp(bo_num,p0book_num)!=0) p

13、rintf(n此圖書編號不存在!按任意鍵返回.。n”); goto END; else if(p0-book_xy=0) printf(n抱歉,此書已借完!請等待新書的到來!n按任意鍵返回.。.); goto END; else if(p1rightMaxp1right=Max) printf(n不好意思,借書數(shù)目已滿!不能借書!n按任意鍵返回.”); goto END; else if(strcmp(p1borrow0。borrow_book_num,”0)!=0) for(i=0;iborrowp1-right+.borrow_book_num,bo_num); strcpy(p1-bor

14、rowp1-right-1.limit_date,lim_date); p0-book_xy-; p0book_kc-; printf(”n讀者編號s借書完畢!按任意鍵繼續(xù)下步操作.”,p1reader_num); goto END; else printf(”n請輸入你要?dú)w還圖書的日期:”); scanf(”%s”,lim_date); strcpy(p1borrowp1right+.borrow_book_num,bo_num); strcpy(p1-borrowp1right1.limit_date ,lim_date ); p0book_xy-; p0-book_kc-; printf

15、(n讀者編號%s借書完畢!按任意鍵繼續(xù)下步操作。.”,p1reader_num); END:getch(); system(cls”); 查詢讀者: 程序流程圖:判斷讀者信息是否為空輸出:讀者書證號、姓名、圖書編碼和還書日期 否輸出讀者信息打印完畢結(jié)束源程序: void Print_reader() /*查詢讀者信息/RD p;int i;p=h_reader;printf(n讀者信息如下:nn);printf(”讀者書證號tt讀者姓名n”); printf(n);while(p!=NULL) printf(”t%stts”,p-reader_num,p-reader_name); for(i

16、=0;iMax;i+) printf(”n”); printf(”圖書編號”,i+1); printf(”t還書日期”,i+1); printf(n); printf(”ts,pborrowi。borrow_book_num); printf(tt%s”,pborrowi.limit_date); printf(n); p=p-next;printf(n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作.。);getch();system(cls);4。運(yùn)行結(jié)果和調(diào)試分析同一本新書入庫的運(yùn)行結(jié)果圖不同的新書采編入庫采編入庫后查詢圖書信息的運(yùn)行結(jié)果圖登記讀者信息借書借書后查詢圖書信息的運(yùn)行結(jié)果圖借同一本書

17、的運(yùn)行結(jié)果圖借不同的書借兩本書后查詢讀者信息的運(yùn)行結(jié)果圖還書運(yùn)行結(jié)果圖還書之后再查詢讀者信息的運(yùn)行結(jié)果圖還書后查詢圖書信息退出5。附錄void Login()進(jìn)入界面函數(shù)int Menu()主菜單函數(shù)void Init()初始化函數(shù)void Init_book()初始化圖書信息函數(shù)void Menu_select()主菜單選擇函數(shù)void Find_Book()查找圖書函數(shù)void Insert_New_Book()新書入庫函數(shù)void add_reader()添加讀者函數(shù)void Print_reader()查詢讀者信息函數(shù)void Print_book()查詢圖書信息函數(shù)void Borr

18、ow_Book()借書函數(shù)void Return_Book()還書函數(shù)void Save()保存信息函數(shù)void Save_Book()保存圖書信息函數(shù)vo id Save_Reader()保存讀者信息函數(shù)void Load()加載信息函數(shù)void Load_Reader()加載讀者信息void Load_Book()加載圖書信息參考文獻(xiàn):C語言程序設(shè)計(jì)(何欽銘版) 數(shù)據(jù)結(jié)構(gòu) (耿國華版) 數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)(蘇仕華版)六、心得體會本次課程設(shè)計(jì),使我對數(shù)據(jù)結(jié)構(gòu)這門課程有了更深入的理解。數(shù)據(jù)結(jié)構(gòu)是一門實(shí)踐性較強(qiáng)的課程,為了學(xué)好這門課程,必須在掌握理論知識的同時(shí),加強(qiáng)上機(jī)實(shí)踐。 剛開始做這個程序的時(shí)

19、候,感到完全無從下手,甚至讓我覺得完成這次程序設(shè)計(jì)根本就是不可能的,于是開始查閱各種資料以及參考文獻(xiàn),之后便開始著手寫程序,寫完運(yùn)行時(shí)有很多問題,通過同學(xué)間的幫助最終基本解決問題。但是其中還有寫瑕疵無法去除,可能是我的水平還不夠好,還需要更多的實(shí)踐操作才能寫的更好吧.通過這段時(shí)間的課程設(shè)計(jì),我認(rèn)識到數(shù)據(jù)結(jié)構(gòu)是一門比較難的課程.需要多花時(shí)間上機(jī)練習(xí)。這次的程序訓(xùn)練培養(yǎng)了我實(shí)際分析問題、編程和動手能力,使我掌握了程序設(shè)計(jì)的基本技能,提高了我適應(yīng)實(shí)際,實(shí)踐編程的能力??偟膩碚f,這次課程設(shè)計(jì)讓我獲益匪淺,對數(shù)據(jù)結(jié)構(gòu)也有了進(jìn)一步的理解和認(rèn)識。圖書管理系統(tǒng)源程序#include include strin

20、g。h include includeconio.h define Max 4 typedef struct book char book_num10; char book_name20; char book_writer10;char book_cbs10;int book_xy; int book_kc; struct book *next; BK; typedef struct borrow char borrow_book_num10; char limit_date8; BO; typedef struct reader char reader_num10; char reader_

21、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(); void Borrow_Book(); void Return_Book();

22、 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歡迎使用圖書管理系統(tǒng)n);printf(nnntt*n”); printf(”nntt程序制作人 王攀圓 李柱柱 nntt學(xué)號:1060313014042 1060313014047”);printf(”nnntt 按任意鍵進(jìn)入系統(tǒng)。.?!保?;getch();system(”

23、cls”); int Menu() /*主菜單*/ int dm; printf(”ntt圖書管理系統(tǒng)主菜單n”);printf(”=n); printf(t0-退出系統(tǒng) n”);printf(*t1-采編入庫 n);printf(t2-登記讀者 n);printf(*t3-借閱登記 n”);printf(”t4-還書管理 n);printf(”*t5-查詢圖書信息 n”);printf(”t6-查詢讀者信息 n);printf(=n”); printf(”請選擇相應(yīng)的代碼:”);for(;;) scanf(”%d,&dm); /dm輸入的數(shù)字/ if(dm0dm6) printf(n錯誤!請

24、重新輸入:”); else break; 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();brea

25、k; case 5:Print_book();break; case 6:Print_reader();break; default:printf(n錯誤!”); exit(0); void Init() /*初始化*/ BK p0;p0=(BK*)malloc(sizeof(BK); /*分配一個sizeof(BK)大小的空間,并且把該空間的地址賦給BK指針類型的p0/h_book=p0; printf(n請輸入圖書信息:n); printf(”圖書編號:”); /輸入圖書編號(唯一)/ scanf(s”,p0-book_num); printf(圖書名稱:”); /*輸入圖書名稱/ sca

26、nf(”s,p0-book_name); printf(圖書作者:”); /*輸入圖書作者/ scanf(”s”,p0-book_writer); printf(”圖書出版社:”); scanf(s,p0book_cbs); printf(圖書數(shù)量:); /*輸入圖書數(shù)量/ scanf(d,p0book_kc); p0-book_xy=p0-book_kc; /開始時(shí)圖書現(xiàn)有量和庫存量相等/ p0-next=NULL; printf(n圖書信息初始化完畢!按任意鍵繼續(xù)下一步操作。.n); getch(); system(”cls”); void Insert_New_Book()/新書入庫*/

27、 BK *p,*p0,*p1; p=p1=h_book; printf(”n新書入庫模塊.。n”);printf(n請輸入新書信息.n包括書號.書名。數(shù)量。出版社.n);p0=(BK *)malloc(sizeof(BK)); printf(圖書編號:); scanf(”%s,p0book_num); while(strcmp(p0book_num,p1-book_num)!=0&p1-next!=NULL) p1=p1next; if(strcmp(p0-book_num,p1-book_num)=0) /*此處分兩種情況,若圖書編號存在,則直接進(jìn)庫,只須輸入書的數(shù)量*/ printf(”n

28、此編號圖書已存在!直接入庫!n”); printf(圖書數(shù)量:); scanf(”d,&p0-book_kc); p1-book_kc+=p0book_kc; p1book_xy+=p0-book_kc; else/若不存在,則需要輸入其他的信息,然后在進(jìn)行插入操作/ printf(圖書名稱:”); scanf(”s,p0book_name); printf(”圖書作者:”); scanf(s,p0book_writer); printf(圖書出版社:); scanf(”%s”,p0-book_cbs); printf(”圖書數(shù)量:”); scanf(d,p0book_kc);/庫存數(shù)量/wh

29、ile(p-next) p=p-next; if(h_book=NULL) h_book=p0; /此處分兩種情況,鏈表中沒有數(shù)據(jù),head直接指向p0處/ else p-next=p0; /*此處分兩種情況,鏈表中有數(shù)據(jù),鏈表中最后元素的next指向p0處/p0-next=NULL; p0book_xy=p0-book_kc; printf(”n新書入庫完畢!按任意鍵繼續(xù)下一步操作.。n”); getch(); system(”cls); void add_reader()/*添加讀者*/ RD p0; int i; printf(”n讀者初始化開始,請輸入讀者信息。.n包括書證號.姓名.n

30、”);p0=(RD*)malloc(sizeof(RD); /*申請新結(jié)點(diǎn)存儲空間/h_reader=p0; printf(n請輸入讀者的信息:n”); printf(讀者書證號:”); scanf(”s,p0reader_num); printf(”讀者姓名:);scanf(s”,p0reader_name); p0right=0; for(i=0;iborrowi。borrow_book_num,”0”); /所借圖書直接置為0(即沒有借書)*/ strcpy(p0borrowi。limit_date,”0”); p0next=NULL; printf(”n讀者信息初始化完畢!按任意鍵繼續(xù)

31、下一步操作。.n”); getch(); system(cls”); void Borrow_Book() /借書模塊/ BK *p0; RD p1; char bo_num10,rea_num10,lim_date8; int i; p0=h_book; p1=h_reader; printf(n借書模塊.n);printf(n請輸入借書的讀者書證號:);scanf(”s”,rea_num); while(p1-next!=NULLstrcmp(rea_num,p1-reader_num)=0) p1=p1-next; if(p1-next=NULL&strcmp(rea_num,p1-re

32、ader_num)!=0) printf(n此讀者編號不存在!按任意鍵返回。.n”); goto END; printf(”n請輸入你要借的書的編號:); scanf(”%s,bo_num); while(strcmp(bo_num,p0-book_num)!=0&p0next=NULL) p0=p0-next; if(p0next=NULLstrcmp(bo_num,p0book_num)!=0) printf(n此圖書編號不存在!按任意鍵返回。.n”); goto END; else if(p0-book_xyMaxp1-right=Max) printf(”n不好意思,借書數(shù)目已滿!不能

33、借書!n按任意鍵返回。.。.”); goto END; else if(strcmp(p1borrow0。borrow_book_num,0)!=0) for(i=0;iright+.borrow_book_num,bo_num); strcpy(p1borrowp1right1.limit_date,lim_date); p0-book_xy-; p0-book_kc-; printf(n讀者編號s借書完畢!按任意鍵繼續(xù)下步操作。,p1-reader_num); goto END; else printf(n請輸入你要?dú)w還圖書的日期:”); scanf(”s”,lim_date); strc

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

35、book; q=h_reader; printf(n還書模塊.。n”);printf(”n請輸入要還書的讀者編號:”);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,qreader_num)!=0) find=2; printf(”n此讀者編號不存在!按任意鍵返回.n); goto end; printf(”n請輸入讀者還書的編號:); scanf(%s”,retu

36、rn_book_num); while(p-next!=NULL&strcmp(return_book_num,pbook_num)=0) p=pnext; if(p-next=NULLstrcmp(return_book_num,p-book_num)!=0) find=2; printf(n錯誤!此圖書編號不存在!按任意鍵返回。n”); goto end; for(i=0;iborrowi.borrow_book_num)=0) /如果此讀者借了此書/ find=1; for(j=i;jborrowMax-1.limit_date,”0”); p-book_xy+; p-book_kc+;

37、 qright-; printf(n編號%s的讀者還書完畢!按任意鍵繼續(xù)下步操作.,return_reader_num); if(find=0) printf(n錯誤!此讀者未借此書!按任意鍵返回.n); end: getch(); system(cls); void Print_book() /*查詢圖書信息/ BK p; p=h_book; printf(”n圖書信息如下:nn);printf(圖書編號t圖書名稱t圖書作者t圖書出版社t現(xiàn)有t庫存n);while(p!=NULL) printf(”stt%sttstt%stt%dt%dn”,pbook_num,p-book_name,p-b

38、ook_writer,p-book_cbs,pbook_xy,p-book_kc); p=p-next; printf(n圖書信息打印完畢!按任意鍵繼續(xù)下一步操作?!保?;getch(); system(”cls); void Print_reader() /查詢讀者信息*/ RD *p; int i; p=h_reader; printf(”n讀者信息如下:nn);printf(”讀者書證號tt讀者姓名n); printf(”n”); while(p!=NULL) printf(tsts,preader_num,p-reader_name); for(i=0;iMax;i+) printf(n

39、”); printf(”圖書編號,i+1); printf(t還書日期,i+1); printf(”n); printf(”t%s,p-borrowi.borrow_book_num); printf(”tts”,p-borrowi。limit_date); printf(”n”); p=pnext; printf(”n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作。.);getch(); system(”cls”); void Save() /保存信息*/ Save_Reader(); Save_Book(); void Save_Reader() /保存讀者信息*/ FILE *fp_reade

40、r; RD p,p0; p=h_reader; if(fp_reader=fopen(”Reader.txt,wb”))=NULL) /*創(chuàng)建文件,進(jìn)行保存*/ printf(n文件保存失敗!n請重新啟動本系統(tǒng)。.。n”); exit(0); while(p!=NULL) if(fwrite(p,sizeof(RD),1,fp_reader)!=1) /*將鏈表中的信息寫入文件中/ printf(n寫入文件失敗!n請重新啟動本系統(tǒng)!n); p0=p; p=p-next; free(p0); /*釋放所有結(jié)點(diǎn)*/ h_reader=NULL; fclose(fp_reader); /關(guān)閉文件/

41、void Save_Book() /*保存圖書信息*/ FILE *fp_book; /*創(chuàng)建文件型指針/BK p,p0; p=h_book; if(fp_book=fopen(”Book。txt”,wb)=NULL) /創(chuàng)建文件,進(jìn)行保存*/printf(”n文件保存失??!n請重新啟動本系統(tǒng).。n”); exit(0); while(p!=NULL) if(fwrite(p,sizeof(BK),1,fp_book)!=1) /*將鏈表中的信息寫入文件中/ printf(n寫入文件失敗!n請重新啟動本系統(tǒng)!n); p0=p; p=p-next; free(p0); h_book=NULL;

42、fclose(fp_book); /*關(guān)閉文件/ void Load() /加載信息*/ Load_Reader(); Load_Book(); void Load_Reader() /加載讀者信息/ RD *p1,p2,p3; FILE fp; /*創(chuàng)建文件型指針/ fp=fopen(”book。txt”,”rb”); /*打開文件/ p1=(RD )malloc(sizeof(RD); fread(p1,sizeof(RD),1,fp); h_reader=p3=p2=p1; while(! feof(fp) /*讀出信息,重新鏈入鏈表*/ p1=(RD *)malloc(sizeof(R

43、D)); fread(p1,sizeof(RD),1,fp); p2-next=p1; p3=p2; p2=p1; p3next=NULL; free(p1); fclose(fp); /*關(guān)閉文件/ void Load_Book() /加載圖書信息/ BK p1,*p2,*p3; FILE fp; /*創(chuàng)建文件型指針*/fp=fopen(”Book。txt,rb); /*打開文件/ p1=(BK )malloc(sizeof(BK); fread(p1,sizeof(BK),1,fp); h_book=p3=p2=p1; while(! feof(fp) /讀出信息,重新鏈入鏈表/ p1=(BK *)malloc(sizeof(BK); fread(p1,sizeof(BK),1,fp); p2next=p1; p3=p2; p2=p1; p3-next=NULL; free(p1); fclose(fp); /關(guān)閉文件*/ void main() FILE *fp_book,fp_reader; /創(chuàng)建文件型指針/ Login(); if((fp_book=fopen(Book.txt,rb”))=NULL|(fp_reader=fopen(”Reader

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!