




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
數(shù)據(jù)結(jié)構(gòu)C語言版課程設(shè)計(jì)題目:圖書管理系統(tǒng) 日期:2011-6-24年級: 班級: 組名:組長:組員:) 一實(shí)習(xí)目的通過實(shí)習(xí),了解并初步掌握設(shè)計(jì)、實(shí)現(xiàn)較大系統(tǒng)的完整過程,包括系統(tǒng)分析、編碼設(shè)計(jì)、系統(tǒng)集成、以及調(diào)試分析,熟練掌握數(shù)據(jù)結(jié)構(gòu)的選擇、設(shè)計(jì)、實(shí)現(xiàn)以及操作方法,為進(jìn)一步的應(yīng)用開發(fā)打好基礎(chǔ)。2 問題描述 本圖書管理系統(tǒng)可以實(shí)現(xiàn)采編入庫,登記讀者,借閱登記,還書管理,查詢圖書信息,查詢讀者信息等信息。三需求分析 本圖書管理系統(tǒng)有七個(gè)主要功能。即退出系統(tǒng),采編入庫,登記讀者,借閱登記,還書管理,查詢圖書信息,查詢讀者信息。所有的功能采用模塊化的方式開發(fā)。 四概要設(shè)計(jì) 系統(tǒng)用到的抽象數(shù)據(jù)類型定義: -書本信息結(jié)構(gòu)體:typedef struct char number100;/圖書編號char name20;/書名char author20;/作者int count;/書的現(xiàn)有本數(shù)int boo;/庫存int jinc;/變動(dòng)本數(shù)char backd10;/還書日期mybook; -讀者信息結(jié)構(gòu)體:typedef struct char names20;/讀者姓名char numb10;/讀者書證號char borrd10;/借書日期char backd10;/還書日期int number;/ 所借書的數(shù)量char numbeers100;/圖書編號mybook mu10;student; mybook book100;/mybook *my; int booknum;/書的種類 int stunum;/讀者人數(shù) student stu100; void save();/保存圖書信息 void saved(); void enter1();void signr1();void signb1();void backb();void checkb();void checkr();void menu(); 系統(tǒng)中子程序及功能要求的說明: 新書入庫模塊:包括輸入并保存圖書編號,圖書名稱,圖書作者,圖書數(shù)量等信息。 查詢圖書信息模塊:輸出圖書的編號、名稱、作者、現(xiàn)有、庫存等圖書信息。 登記讀者模塊:要求包括輸入并保存讀者書證號及姓名。 借書登記模塊:輸入結(jié)束的讀者書證號,所借書的編號以及要?dú)w還的日期,并保存。 查閱讀者信息模塊:顯示讀者書證號和姓名,以及所借圖書的編號的還書日期。還書模塊:輸入要還書的讀者編號,和要還的書的編號,并且在庫存中加載此書。退出系統(tǒng)模塊:保存所有操作! 各程序模塊之間的調(diào)用關(guān)系 1、主函數(shù): main(),進(jìn)入圖書管理系統(tǒng),調(diào)用menu()菜單方法。 2、菜單方法:menu(),首先會執(zhí)行清屏的功能;然后再選擇菜單:選擇0,退出圖書管理系統(tǒng);選擇1,調(diào)用enter1()方法進(jìn)入采編入庫;選擇2,調(diào)用signr1();方法進(jìn)入登記讀者;選擇3,調(diào)用signb1()方法進(jìn)入借閱登記;選擇4,調(diào)用backb()方法進(jìn)入還書管理 ;選擇5,調(diào)用checkb()方法進(jìn)入查詢圖書信息;選擇6,調(diào)用checkr()方法進(jìn)入查詢讀者信息;如果輸入錯(cuò)誤,安任意鍵可以回到菜單。 3、 enter1():對圖書進(jìn)行采編入庫。書名相同分為一類; 4、 signr1():對讀者進(jìn)行登記。并用讀者證號判斷讀者是否已經(jīng)注冊。 5、 signb1():借閱登記。根據(jù)編號借書。如果讀者沒有注冊,不能借書。借了一次書,書庫中圖書的現(xiàn)存量會減1。 6、 backb():還書管理。還了一次書,書庫現(xiàn)存量增加1 7、 checkb():查詢圖書信息。可以顯示每一種書的圖書編號、圖書名稱、圖書作者、現(xiàn)有量、庫存量。 8、 checkr():查詢讀者信息。根據(jù)讀者證號,查詢,已借書的信息,和個(gè)人信息。 9、 save():保存圖書信息。 10、 saved():保存讀者信息; 五詳細(xì)設(shè)計(jì)圖書管理系統(tǒng)的偽碼描述如下:1、 for(j=0;j=booknum) /條件成立,則該圖書庫存和現(xiàn)存就是入庫數(shù)量 bookbooknum.boo=bookbooknum.jinc; bookbooknum.count=bookbooknum.jinc; booknum+;2、 for(j=0;j=stunum) stunum+;/如果條件成立,則證號還沒有注冊,將注冊過的讀者數(shù)加1。3、 還書時(shí),從借書信息中找到該書的信息的數(shù)組,然后改變信息 if(!strcmp(booki.number,stuj.muk.number)stuj.muk=stuj.muk+1;4、 for(i=0;i 系統(tǒng)主界面按回車鍵進(jìn)入主界面采編入庫:查閱圖書信息登記讀者借書登記查閱閱讀者信息圖書編號aa50減少1本,相應(yīng)的在查詢圖書信息功能中體現(xiàn)出如下:還書管理:退出系統(tǒng)7 使用說明進(jìn)入主界面然后再選擇菜單中的數(shù)字:選擇1,進(jìn)入采編入庫;選擇2,進(jìn)入登記讀者;選擇3,進(jìn)入借閱登記;選擇4,進(jìn)入還書管理 ;選擇5,進(jìn)入查詢圖書信息;選擇6,進(jìn)入查詢讀者信息;選擇0,退出圖書管理系統(tǒng); 如果輸入錯(cuò)誤,按回車鍵可以回到菜單。八附錄:測試數(shù)據(jù) 讀者姓名:mm 讀者書證號:123 圖書名稱:aa 圖書數(shù)量:50 圖書作者:aaaa 圖書編號:aa50 圖書名稱:bb 圖書數(shù)量:50 圖書作者:bbbb 圖書編號:bb50 圖書名稱:cc 圖書數(shù)量:50 圖書作者:cccc 圖書編號:cc509 C語言代碼實(shí)現(xiàn)#include #include#include#define MAXSIZE 100 /最大值定義為100#define yong_SIZE 100/圖書證使用者最大值定義為100/*-書本信息結(jié)構(gòu)體-*/typedef struct char number100;/圖書編號char name20;/書名char author20;/作者int count;/書的現(xiàn)有本數(shù)int boo;/庫存int jinc;/變動(dòng)本數(shù)char backd10;/還書日期mybook;/*-讀者信息結(jié)構(gòu)體-*/typedef struct char names20;/讀者姓名char numb10;/讀者書證號char borrd10;/借書日期char backd10;/還書日期int number;/ 所借書的數(shù)量char numbeers100;/圖書編號mybook mu10;student; mybook book100;/mybook *my; int booknum;/書的種類 int stunum;/讀者人數(shù) student stu100; void save();/保存圖書信息 void saved(); void enter1();void signr1();void signb1();void backb();void checkb();void checkr();void menu();/*-保存方法-*/void save()/保存圖書信息。FILE *fp;if(fp=fopen(library.txt,wb)=NULL)printf(n不能保存圖書信息n);fwrite(book,sizeof(mybook),8,fp);fclose(fp);/*-保存讀者信息方法-*/void saved()FILE *fp;if(fp=fopen(reader.txt,wb)=NULL)printf(n不能讀取圖書信息n);fwrite(stu,sizeof(student),8,fp);fclose(fp);/*-采編入庫方法-*/void enter1()char a;int j;printf(n圖書名稱:);scanf(%s,);printf(圖書數(shù)量:);scanf(%d,&bookbooknum.jinc);printf(圖書作者:);scanf(%s,bookbooknum.author);printf(圖書編號:);scanf(%s,bookbooknum.number);for(j=0;j=booknum) bookbooknum.boo=bookbooknum.jinc;bookbooknum.count=bookbooknum.jinc;booknum+;fflush(stdin);save();fflush(stdin);printf(n新書入庫完畢!n按任意鍵繼續(xù)下一步操作n);scanf(%c,&a);menu();/*-登記讀者方法-*/void signr1()char a;int j;printf(n讀者書證號:);scanf(%s,stustunum.numb);printf(n讀者姓名:);scanf(%s,s);for(j=0;j=stunum) stunum+;saved();fflush(stdin);printf(n讀者信息初始化完畢!按任意鍵繼續(xù)下一步操作n);scanf(%c,&a);menu();/*-借閱登記方法-*/void signb1()char a;int i,j;student *my=(student*)malloc(sizeof(student);printf(n借書模塊n);printf(n請輸入借書的讀者書證號:);scanf(%s,my-numb);for(j=0;jnumb,stuj.numb) printf(n請輸入你要借的書的編號:);scanf(%s,stuj.mustuj.number.number);for(i=0;i=booknum)printf(n沒有編號為%s的書!n,booki.number);break;break;if(j=stunum) printf(n對不起!n您還沒有注冊,不能借書!n);printf(按任意鍵繼續(xù)下步操作);scanf(%c,&a);menu();/*-還書管理方法-*/void backb() char a;int i,j,k;student *my=(student*)malloc(sizeof(student);printf(tt你已進(jìn)入還書模塊.n); printf(n請輸入還書的讀者證號:);scanf(%s,my-numb); for(j=0;jnumb,stuj.numb) printf(n請輸入讀者還書的編號:);scanf(%s,stuj.numbeers);for(i=0;ibooknum;i+) if(!strcmp(booki.number,stuj.numbeers) booki.count+; for(k=0;kbooknum)printf(n輸入錯(cuò)誤!n);break;if(j=stunum) printf(n對不起!n您還沒有注冊!n);printf(n按任意鍵繼續(xù)下步操作n); scanf(%c,&a);menu();/*-查詢圖書信息方法-*/void checkb()int i;char a;printf(n圖書編號t圖書名稱t圖書作者t現(xiàn)有t庫存n);for(i=0;inumb);for(i=0;inumb,stui.numb) )printf(n讀者姓名:%s,s);for(j=0;jstui.number;j+ )printf(n圖書編號:%stt還書日期:%sn, stui.muj.number,stui.muj.backd); break;elseprintf(n很抱歉,沒有該讀者的信息!n);break;fflush(stdin);printf(n讀者信息打印完畢!按任意鍵繼續(xù)下一步操作n);scanf(%c,&a);menu();/*-菜單方法-*/void menu() char c;int a;system(cls); printf(ntt*); printf(ntt* 0-退出系統(tǒng) *); printf(ntt* 1-采編入庫 *); printf(ntt* 2-登記讀者 *); printf(ntt* 3-借閱登記 *); printf(ntt* 4-還書管理 *); printf(ntt* 5-查詢圖書信息 *); printf(ntt* 6-查詢讀者信息 *); printf(ntt* *);printf(ntt請選擇相應(yīng)的代碼:); scanf(%d,&a); getchar(); printf(n);/system(cls);清屏switch(a) case 0:/退出系統(tǒng)system(cls);/清屏printf(n文件保存成功!n);printf(n歡迎下次使用本系統(tǒng)!n);break;case 1:/采編入庫system(cls);/清屏printf(n新書入庫模塊:nnn);printf(n請輸入新書信息:n);printf(包括書號,書名,數(shù)量n);enter1();break;case 2:/登記讀者system(cls);/清屏printf(n讀者初始化開始,請輸入讀者信息n);printf(包括書證號,姓名n);printf(n請輸入讀者信息n);signr1();break;case 3:/借閱登記system(cls);/清屏printf(n借書模塊n);signb1();break;case 4:/還書管理 system(cls);/清屏printf(n還書模塊n);backb();break;cas
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 合同范本 糾紛
- 合伙店鋪協(xié)議合同范本
- 勞務(wù)合同范本醫(yī)生勞務(wù)合同
- 農(nóng)村養(yǎng)殖房屋買賣合同范本
- 合作留學(xué)合同范本英文
- 保安臨時(shí)合同范本
- 企業(yè)無息借款合同范本
- 口腔勞務(wù)合同范本
- 公司化肥采購合同范本
- 賣山合同范本
- 廣東省廣州仲元中學(xué)2025年高三下學(xué)期入學(xué)考試試化學(xué)試題文試卷含解析
- 衛(wèi)生部病歷管理規(guī)定
- 4《海燕》公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 班主任能力大賽情景答辯環(huán)節(jié)真題及答案高中組
- 定制公司用工合同范本
- 2024年四川省成都市雙流區(qū)中考物理第二次適應(yīng)性考試試卷
- 2024年岳陽職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 2024年江西司法警官職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫含答案
- 精神科護(hù)士進(jìn)修
- 2024年洛陽市九年級語文中考第一次模擬考試卷附答案解析
- 脾淋巴瘤護(hù)理查房
評論
0/150
提交評論