【正文】
!\n)。amp。 scanf(%s,p0book_num)。p0=(BK *)malloc(sizeof(BK))。printf(\n 新書入庫模塊...\n)。}void Insert_New_Book()/*新書入庫*/{BK *p,*p0,*p1。 getchar()。 /*開始時圖書現(xiàn)有量和庫存量相等*/ p0next=NULL。p0book_kc)。 printf(Number:)。printf(BookWriter:)。 printf(BookName:)。 printf(BookNo.:)。h_book=p0。. . . . .學(xué)習(xí)參考printf(\n 圖書初始化開始,請輸入圖書信息..\n ..\n)。 system(cls)。 printf(\n 讀者信息初始化完畢!按任意鍵繼續(xù)下一步操作..\n)。 /*所借圖書直接置為 0(即沒有借書)*/ strcpy(p0borrow[i].limit_date,0)。iMax。 p0right=0。 printf(ReaderName:)。 printf(ReaderNo.:)。 h_reader=p0。 printf(\n 讀者初始化開始,請輸入讀者信息..\n ..\n)。}void Init_reader() /*初始化讀者信息*/{ RD *p0。 }}}void Init() /*初始化 */{ Init_reader()。 default:printf(\n 錯誤!)。 case 4:Return_Book()。 case 3:Borrow_Book()。 case 2:Find_Select()。 case 1:Insert_New_Book()。 getchar()。printf(\n\n\t 文件保存成功!\n)。) /*循環(huán)調(diào)用模式,保證能進(jìn)行重復(fù)操作*/{switch(Menu()) /*功能選擇*/{ case 0: system(cls)。}return sn。 if(sn0||sn4) printf(\n 錯誤!請重新輸入:)。sn)。 for(。printf(=================================================\n)。printf(*\t3借書登記 *\n)。printf(*\t1新書入庫 *\n)。printf(=================================================\n)。}int Menu() /*主菜單*/{ int sn。getchar()。printf(\n\n\t\t 系統(tǒng)版權(quán)所有\(zhòng)n\n\n\n\n\n\n)。 /*加載圖書信息*/void Login()/*登陸 */{system(cls)。 /*加載信息*/void Load_Reader()。 /*保存讀者信息*/void Save_Book()。 /*還書函數(shù)*/void Save()。 /*打印圖書信息*/void Borrow_Book()。 /*查找圖書信息*/ void Print_reader()。 /*查找菜單選擇函數(shù)*/void Find_Reader()。 /*新書入庫*/int Find()。 /*初始化讀者*/void Init_book()。 /*主菜單選擇函數(shù)*/void Init()。 /*登陸*/int Menu()。RD *h_reader。}RD。BO borrow[Max]。char reader_name[10]。}BO。typedef struct borrow{char borrow_book_num[10]。struct book *next。int book_kc。char book_name[20]。參考文獻(xiàn). . . . .學(xué)習(xí)參考附錄 1-用戶手冊點擊運行,首先出現(xiàn)的是菜單界面,選擇菜單選項進(jìn)行操作,可進(jìn)行如圖8 所示。不管什么系統(tǒng),只用運用到實際應(yīng)用中,才具有現(xiàn)實意義。經(jīng)反復(fù)的修改后,結(jié)果正確了,這時所有的乏味都顯得那么無力,一切都是值得的。甚至有些課本上的知識照搬不變,也不能得到正確的結(jié)果。C 語言程序的編寫首先要從大局考慮,把自己編寫整個程序的思想都寫在草稿上,這樣有助于自己編寫程序,在編寫時要完善注釋,方便其他人理解程序。結(jié)束語在這一個星期的實踐中,通過編寫這個圖書管理系統(tǒng),我體會到了 c 語言學(xué)習(xí)的實用性。6 結(jié)論計算機綜合訓(xùn)練順利完成,任務(wù)書中所提出的要求全部實現(xiàn),可以對會員信息進(jìn)行添加、修改、刪除以及按各種信息查找,可將會員本次消費金額累加到會員卡上,能夠自動生成會員卡號并且將各種信息保存到文本文件中。 。 。(1) 登陸功能測試輸入數(shù)據(jù) 1:讀者編號:23,讀者姓名:tianwen,書籍編號:01,書名:xyz 作者:xxx ,數(shù)量:10. . . . .學(xué)習(xí)參考預(yù)期結(jié)果:數(shù)據(jù)輸入到系統(tǒng)中;運行結(jié)果:出現(xiàn)圖書管理系統(tǒng)主菜單說明:登陸功能實現(xiàn)(2) 借書功能測試。到測試后期,即使找到了錯誤,然而付出了過高的代價。或者說,軟件測試應(yīng)該根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計一批測試用例(即輸入數(shù)據(jù)及其預(yù)期的輸出結(jié)果) ,并利用這些測試用例去運行程序,以發(fā)現(xiàn)程序錯誤或缺陷。 我認(rèn)為對于 C 語言編寫的程序來說,使用方法大致都是一樣的,所以如果要改進(jìn)的話,就是要改進(jìn)一些算法,盡量把界面編寫清楚,提示信息全面,方便易用。我在做系統(tǒng)的過程中也遇到了很多問題,有的是知識不足,有的是考慮不夠周全。還有就是沒能做到模糊查詢。(3)設(shè)計過程中的想法與程序中的不足總的來說這個程序大致實現(xiàn)了題目的要求,但是這套程序仍然存在著很多的問題與不足。原因:在執(zhí)行后系統(tǒng)沒有記錄當(dāng)前的讀者信息,因為讀者信息自動按4 依次遞增生成系統(tǒng);應(yīng)該記錄最后所生成的讀者信息,在下次運行程序時系統(tǒng)會接著上次記錄的讀者信息自動依次生成。本系統(tǒng)調(diào)試過程中遇到問題、原因和解決方法如下面介紹。然后仔細(xì)研究推斷代碼以確定問題的原因,并設(shè)法改正。調(diào)試的任務(wù)是及時改正測試過程中發(fā)現(xiàn)的軟件錯誤。. . . . .學(xué)習(xí)參考 開 始 讀 方 式 打 開 文 件 不 成 功 ? 輸 入 你 的 學(xué) 號 和 要 借 書 的 名字 循 環(huán) 變 量 i i10? 借 書 書 名 和 書 庫 名 一 致 ? 該 書 現(xiàn) 有 量 0? 輸 出 borow suces和 輸 入 應(yīng) 還 書 的 日 期 輸 入 應(yīng) 書 日 期 關(guān) 閉 文 件 ! 結(jié) 束 borow failed r e t u r nYNYNNY圖 6 借書模塊流程圖 還書管理模塊對于已還書籍進(jìn)行管理,程序流程如圖 4 所示。結(jié)束p r i n t f ( \ t 輸入下一個書籍信息 ? \ n ) 。m = = 1! I n s e r t L i n k l i s t ( ( L i n k l i s t ) L )p r i n t f ( 內(nèi)存已滿 \ n ) 。 e x i t ( O V E R F L O W ) 。m = = 1! I n s e r t L i n k l i s t ( ( L i n k l i s t ) L )p r i n t f ( \ t 輸入下一個讀者信息 ? \ n ) 。printf(請選擇相應(yīng)代碼:)。printf(*\t4還書管理 *\n)。printf(*\t2 查詢 *\n)。printf(*\t0退出系統(tǒng) *\n)。printf(\n\t\t 圖書管理系統(tǒng)主菜單\n)。 system(cls)。printf(\n\n\n\t\t 按 任 意 鍵 進(jìn) 入 系 統(tǒng) ...)。printf(\n\n\n\t\t\t 歡迎登陸本系統(tǒng)\n)。 /*加載讀者信息*/void Load_Book()。 /*保存圖書信息*/ void Load()。 /*保存信息*/void Save_Reader()。 /*借書函數(shù)*/void Return_Book()。 /*打印讀者信息*/void Print_book()。 /*查找讀者信息*/void Find_Book()。 /*查找菜單*/void Find_Select()。 /*初始化圖書*/void Insert_New_Book()。 /*初始化*/void Init_reader()。 /*主菜單*/void Menu_select()。void Login()。BK *h_book。struct reader *next。(1)輸入讀者輸入相關(guān)讀者信息至內(nèi)存中;(2) 輸入書籍輸入書籍號,對已存的書籍信息進(jìn)行查詢;(3) 書籍管理模塊輸入相應(yīng)代碼,對相關(guān)信息進(jìn)行查詢;(4) 退出管理模塊主菜單中輸入 0 退出系統(tǒng)登錄;. . . . .學(xué)習(xí)參考 圖 書 管 理 系 統(tǒng) 輸入讀者 輸入書籍 書籍管理 退出系統(tǒng)登錄 圖 1 圖書管理系統(tǒng)流程圖管 理 員 版 圖 書 管 理 系 統(tǒng)新書入庫查詢借書登記書籍?dāng)?shù)量書籍信息修改還書管理書籍信息查詢圖 2 管理員版圖書管理系統(tǒng)流程圖退出查詢按照讀者姓名查詢按照讀者編號查詢按照圖書作者查詢按照圖書名查詢按照圖書編號查詢圖 書 查 詢 系 統(tǒng) 主 界 面圖 3 圖書查詢主界面流程圖. . .