![C語(yǔ)言課程設(shè)計(jì)報(bào)告圖書借閱系統(tǒng)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/f8f96d4d-57d4-4d65-b620-76538d308595/f8f96d4d-57d4-4d65-b620-76538d3085951.gif)
![C語(yǔ)言課程設(shè)計(jì)報(bào)告圖書借閱系統(tǒng)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/f8f96d4d-57d4-4d65-b620-76538d308595/f8f96d4d-57d4-4d65-b620-76538d3085952.gif)
![C語(yǔ)言課程設(shè)計(jì)報(bào)告圖書借閱系統(tǒng)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/f8f96d4d-57d4-4d65-b620-76538d308595/f8f96d4d-57d4-4d65-b620-76538d3085953.gif)
![C語(yǔ)言課程設(shè)計(jì)報(bào)告圖書借閱系統(tǒng)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/f8f96d4d-57d4-4d65-b620-76538d308595/f8f96d4d-57d4-4d65-b620-76538d3085954.gif)
![C語(yǔ)言課程設(shè)計(jì)報(bào)告圖書借閱系統(tǒng)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-6/21/f8f96d4d-57d4-4d65-b620-76538d308595/f8f96d4d-57d4-4d65-b620-76538d3085955.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、沈 陽(yáng) 航 空 工 業(yè) 學(xué) 院 課程設(shè)計(jì)學(xué) 號(hào) _班 級(jí) _ 姓 名 _指導(dǎo)教師 _年 月 日沈陽(yáng)航空工業(yè)學(xué)院課程設(shè)計(jì)任務(wù)書機(jī)械與汽車學(xué)院 機(jī)械設(shè)計(jì)制造及其自動(dòng)化專業(yè) 5406108班 學(xué)號(hào)200504061275 一、課程設(shè)計(jì)題目:圖書借閱系統(tǒng)二、課程設(shè)計(jì)工作自2007年7月9日起至2007年7月14日止三、課程設(shè)計(jì)內(nèi)容:運(yùn)用所學(xué)的c語(yǔ)言知識(shí),編制和調(diào)試程序,具有如下功能:(1)輸入圖書信息,并保存至文件book.dat中(圖書信息應(yīng)包括以下項(xiàng)目:圖書編號(hào)、名稱、出版社、作者、現(xiàn)有數(shù)量和總量)(2)查詢功能 可按編號(hào)、書名、作者、出版社進(jìn)行查詢,并將查詢的詳細(xì)信息輸出 (3)借閱功能 (4)
2、增加刪除記錄功能 (5)歸還功能注:學(xué)生借閱圖書的信息保存在borrow.dat文件中,學(xué)生信息至少應(yīng)包括學(xué)號(hào),姓名,所借圖書編號(hào)幾項(xiàng)。四、課程設(shè)計(jì)要求:程序質(zhì)量:l 貫徹結(jié)構(gòu)化程序設(shè)計(jì)思想。l 用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。l 用戶界面中的菜單至少應(yīng)包括“信息錄入”、“信息查詢”、“借閱”、“增加圖書”、“刪除圖書”、“歸還圖書”、“退出”7項(xiàng)。l 代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計(jì)說(shuō)明書:課程結(jié)束后,上交課程設(shè)計(jì)說(shuō)明書(打印稿和電子稿),其內(nèi)容如下:l 封面l 課程設(shè)計(jì)任務(wù)書l 目錄l 需求分析(分析題目的要求)l 程序流程圖(總體流
3、程圖和主要功能模塊流程圖)l 核心技術(shù)的實(shí)現(xiàn)說(shuō)明及相應(yīng)程序段l 個(gè)人總結(jié)l 參考資料l 源程序及適當(dāng)?shù)淖⑨屩笇?dǎo)教師:_學(xué)生簽名:_目錄一、需求分析1二、程序流程圖2三、核心技術(shù)的實(shí)現(xiàn)說(shuō)明及相應(yīng)程序段7四、個(gè)人總結(jié)12五、參考文獻(xiàn)12六、源程序12一、需求分析經(jīng)過(guò)對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)程序的設(shè)計(jì)實(shí)現(xiàn)大致分為九個(gè)模塊,其中每一個(gè)模塊對(duì)應(yīng)一個(gè)函數(shù),他們的功能分別是:錄入書籍函數(shù)save( ),編號(hào)查詢函數(shù)search_number( ),書名查詢函數(shù)search_name( ),作者查詢函數(shù)search_writer( ),出版社查詢函數(shù)search_publisher ( ),借閱圖書函數(shù)
4、jieshu( ),增加圖書函數(shù)add( ),刪除圖書函數(shù)del( )以及歸還圖書函huanshu( )。這些函數(shù)的實(shí)現(xiàn)嚴(yán)格按照題目的要求。1、錄入書籍函數(shù) 主要實(shí)現(xiàn)程序最初運(yùn)行時(shí)圖書數(shù)據(jù)的錄入以及其后的運(yùn)行中圖書數(shù)據(jù)的追加功能;2、編號(hào)查詢函數(shù) 實(shí)現(xiàn)的功能是按照編號(hào)對(duì)圖書的數(shù)據(jù)進(jìn)行查詢;3、書名查詢函數(shù) 實(shí)現(xiàn)的功能是按照書名對(duì)圖書的數(shù)據(jù)進(jìn)行查詢;4、作者查詢函數(shù) 實(shí)現(xiàn)的功能是按照作者對(duì)圖書的數(shù)據(jù)進(jìn)行查詢;5、出版社查詢函數(shù) 實(shí)現(xiàn)的功能是按照出版社對(duì)圖書的數(shù)據(jù)進(jìn)行查詢;6、借閱圖書函數(shù) 實(shí)現(xiàn)的是學(xué)生可以借閱圖書館現(xiàn)存的圖書;7、增加圖書函數(shù) 實(shí)現(xiàn)的是在現(xiàn)有圖書中增加新的圖書;8、刪除圖書函數(shù)
5、實(shí)現(xiàn)的是在現(xiàn)有圖書中刪除舊的圖書;9、歸還圖書函數(shù) 實(shí)現(xiàn)圖書的歸還并在現(xiàn)有數(shù)量上得以保存。除上面介紹的功能之外,程序還具有退出功能,可以在程序的一次運(yùn)行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行。在程序當(dāng)中,將圖書記錄類型定義為結(jié)構(gòu)體類型,添加以及追加的圖書信息直接寫入book.dat文件中,其他函數(shù)每次對(duì)圖書記錄的訪問,其數(shù)據(jù)來(lái)源都是book.dat文件,這樣做不但可以保證圖書數(shù)據(jù)的一致性,而且可以對(duì)圖書數(shù)據(jù)進(jìn)行永久保存,保證每次運(yùn)行程序都可以采用原來(lái)的數(shù)據(jù)。二、程序流程圖 1、程序總體結(jié)構(gòu)圖信息錄入編號(hào)查 詢作者查詢出版社查詢借書添加新書退出結(jié)束主函數(shù) 圖1程序總體結(jié)構(gòu)圖2、具體功能
6、框圖(1)錄入信息函數(shù) 錄入信息定義文件類型指針、輸入錄入的個(gè)數(shù) a 定義整形變量 i =0 輸入一本書的信息 、i 自增 1i 是否 小于 a 建立文件book.dat 并且把圖書信息寫入到文件中 關(guān)閉文件 退出是否 圖2錄入信息圖(2)查詢函數(shù) 輸入查詢的編號(hào)打開文件 讀取文件信息判斷圖書編號(hào)是否一致輸出圖書信息判斷文件是否結(jié)束關(guān)閉文件退出查詢函數(shù) 圖3查詢函數(shù)圖(3)借閱函數(shù) 借閱功能輸入借閱圖書的編號(hào)、打開文件讀取文件信息圖書編號(hào)是否相同圖書數(shù)量自減 關(guān)閉文件 退出文件是否結(jié)束是否是否 圖4借閱函數(shù)圖(4)歸還函數(shù)歸還功能輸入歸還圖書的編號(hào)、打開文件讀取文件信息圖書編號(hào)是否相同圖書數(shù)量
7、自增 關(guān)閉文件 退出文件是否結(jié)束是否是否 圖5歸還函數(shù)圖三、核心技術(shù)的實(shí)現(xiàn)說(shuō)明及相應(yīng)程序段本程序主要由九個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn)要求的所有功能。在這些函數(shù)當(dāng)中,錄入書籍函數(shù)、圖書查詢函數(shù)和刪除圖書函數(shù)是程序中較為核心的部分,下面分別進(jìn)行說(shuō)明。1、錄入書籍函數(shù) 錄入書籍分為兩種情況,其一是錄入書籍的數(shù)量大于規(guī)定錄入書籍的數(shù)量,則不能錄入,需要重新錄入數(shù)量。其二就是錄入書籍的數(shù)量小于規(guī)定錄入書籍的數(shù)量,這時(shí)可以正常錄入書籍。具體的程序段如下:void save() file *fp; int i; for(i=0;i=shu) printf(n不系統(tǒng)不
8、能錄入太多 只能容納 %d 本 請(qǐng)重新輸入錄入的數(shù)量 :,shu); scanf(%d,&num); for(i=0;inum;i+) printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,booki.number);printf(n請(qǐng)輸入書的名字 :); scanf(%s,);printf(n請(qǐng)輸入書的作者 :); scanf(%s,booki.writer);printf(n請(qǐng)輸入書的出版社 :); scanf(%s,booki.publish); printf(n請(qǐng)輸入書的數(shù)量 :); scanf(%d,&booki.num_all); booki.num_now
9、=booki.num_all; for(i=0;ishu;i+) if(strcmp(booki.number,)!=0) printf(n%st%st%st%st%d,booki.number,,booki.writer,booki.publish,booki.num_all); printf(n);2、圖書查詢函數(shù)這段函數(shù)主要包括4個(gè)部分,可以分別按照?qǐng)D書的編號(hào)、書名、作者以及出版社來(lái)進(jìn)行查詢想要借閱的圖書,這4段函數(shù)主要運(yùn)用strcmp(比較兩個(gè)字符串)函數(shù)。具體程序段如下:void search_number() file *fp; char number10; i
10、nt i,j,flag; printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(booki.number,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_name() file *fp; char number10;
11、int i,j,flag; printf(n請(qǐng)輸入書的名字 :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_publisher() file *fp; char number
12、10; int i,j,flag; printf(n請(qǐng)輸入書的出版社 :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(booki.publish,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_writer() file *fp; char n
13、umber10; int i,j,flag; printf(n請(qǐng)輸入書的作者 :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(booki.writer,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); 3、刪除圖書函數(shù)這部分函數(shù)是通過(guò)輸入一個(gè)編號(hào)將現(xiàn)存的這種圖書從書庫(kù)里
14、全部刪去,即是從原有圖書現(xiàn)量中消失。主要運(yùn)用strcpy函數(shù)。具體的程序段如下:void del() int i,k; char number20; printf(n請(qǐng)輸入刪除書的編號(hào) :); scanf(%s,number); for(i=0;inum;i+) if(strcmp(booki.number,number)=0) k=i; strcpy(booki.number,); strcpy(,); strcpy(booki.publish,); strcpy(booki.writer,); booki.num_all=0; booki.num_now=0; for(
15、i=k;inum;i+) strcpy(booki.number,booki+1.number); strcpy(,booki+1.name); strcpy(booki.publish,booki+1.publish); strcpy(booki.writer,booki+1.writer); booki.num_all=booki+1.num_all; booki.num_now=booki+1.num_now; num-; for(i=0;ishu;i+) if(strcmp(booki.number,)!=0) printf(n%st%st%st%st%d,book
16、i.number,,booki.writer,booki.publish,booki.num_all); 四、個(gè)人總結(jié)通過(guò)這次c語(yǔ)言的課程設(shè)計(jì),讓我在課本的基礎(chǔ)上,更深一步的掌握了c語(yǔ)言程序的編寫與分析,并在發(fā)現(xiàn)錯(cuò)誤之后,能夠通過(guò)查找資料和請(qǐng)教同學(xué)將這些錯(cuò)誤改正??梢哉f(shuō)過(guò)程是艱苦的,但讓我學(xué)到了關(guān)于c語(yǔ)言程序編寫的初步知識(shí)和本領(lǐng),也為我將來(lái)的學(xué)習(xí)甚至工作都產(chǎn)生了深遠(yuǎn)的影響,讓我體驗(yàn)了實(shí)踐的環(huán)節(jié)對(duì)于我們大學(xué)生是多么重要,它也讓我懂得學(xué)以自用的深刻含義,對(duì)待工作和學(xué)習(xí)要以一棵嚴(yán)謹(jǐn),進(jìn)取的心來(lái)面對(duì).五、參考文獻(xiàn)1 譚浩強(qiáng)c程序設(shè)計(jì)北京:清華大學(xué)出版社,20052 劉成等c語(yǔ)言程序
17、設(shè)計(jì)實(shí)驗(yàn)指導(dǎo)與習(xí)題集北京:中國(guó)鐵道出版社,2006六、源程序#include#include#include#include#define shu 1000struct book/*定義書的結(jié)構(gòu)體/* char number20; /*字符型變量/* char name20; char writer20; char publish20; int num_now; int num_all; bookshu;int num;void save()/*錄入圖書/* file *fp; int i; for(i=0;i=shu) printf(n不系統(tǒng)不能錄入太多 只能容納 %d 本 請(qǐng)重新輸入錄入的
18、數(shù)量 :,shu); scanf(%d,&num); for(i=0;inum;i+) printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,booki.number); printf(n請(qǐng)輸入書的名字 :); scanf(%s,); printf(n請(qǐng)輸入書的作者 :); scanf(%s,booki.writer);printf(n請(qǐng)輸入書的出版社 :); scanf(%s,booki.publish); printf(n請(qǐng)輸入書的數(shù)量 :); scanf(%d,&booki.num_all); booki.num_now=booki.num_all; for(i=
19、0;ishu;i+) if(strcmp(booki.number,)!=0) printf(n%st%st%st%st%d,booki.number,,booki.writer,booki.publish,booki.num_all); printf(n);void search_number()/*編號(hào)查詢/* file *fp; char number10; int i,j,flag; printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(booki.number,number
20、)=0) /*比較兩個(gè)字符串/* flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_name()/*名字查詢/* file *fp; char number10; int i,j,flag; printf(n請(qǐng)輸入書的名字 :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcm
21、p(,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_publisher()/*出版社查詢/* file *fp; char number10; int i,j,flag; printf(n請(qǐng)輸入書的出版社 :); scanf(%s,number); flag=0; for(i=0;ish
22、u;i+) if(strcmp(booki.publish,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void search_writer()/*作者查詢/* file *fp; char number10; int i,j,flag; printf(n請(qǐng)輸入書的作者 :); scanf(%s,number); flag=0;
23、 for(i=0;ishu;i+) if(strcmp(booki.writer,number)=0) flag+; if(flag=1) printf(n學(xué)生信息 查詢結(jié)果:); printf(n%st%st%st%st%dt%d,booki.number,,booki.writer,booki.publish,booki.num_all,booki.num_now); void jieshu()/*借閱圖書/* int i,j,flag,a,k; char number10; printf(n請(qǐng)輸入借書的數(shù)量 :); scanf(%d,&a); for(k=0;ka;k
24、+) printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,number); flag=0; for(i=0;ishu;i+) if(strcmp(booki.number,number)=0) flag+; booki.num_now-; if(0=flag) printf(n沒有這本書); void huanshu()/*歸還圖書/* int i,j,flag,a,k; char number10; printf(n請(qǐng)輸入還書的數(shù)量 :); scanf(%d,&a); for(k=0;ka;k+) printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,number); flag=0
25、; for(i=0;i=shu) printf(n書庫(kù)信息已滿、請(qǐng)改變書的總量 ); printf(n請(qǐng)輸入書的編號(hào) :); scanf(%s,booknum.number); printf(n請(qǐng)輸入書的名字 :); scanf(%s,); printf(n請(qǐng)輸入書的作者 :); scanf(%s,booknum.writer); printf(n請(qǐng)輸入書的出版社 :); scanf(%s,booknum.publish); printf(n請(qǐng)輸入書的數(shù)量 :); scanf(%d,&booknum.num_all); booknum.num_now=booknum.n
26、um_all; num+; for(i=0;ishu;i+) if(strcmp(booki.number,)!=0) printf(n%st%st%st%st%d,booki.number,,booki.writer,booki.publish,booki.num_all); void del() int i,k; char number20; printf(n請(qǐng)輸入刪除書的編號(hào) :); scanf(%s,number); for(i=0;inum;i+) if(strcmp(booki.number,number)=0) k=i; strcpy(booki.number
27、,); strcpy(,); strcpy(booki.publish,); strcpy(booki.writer,); booki.num_all=0; booki.num_now=0; for(i=k;inum;i+) strcpy(booki.number,booki+1.number); strcpy(,booki+1.name); strcpy(booki.publish,booki+1.publish); strcpy(booki.writer,booki+1.writer); booki.num_all=booki+1.num_all; booki.num_now=booki+1.num_now; num-; for(i=0;ishu;i+) if(strcmp(booki.number,)!=0) printf(n%st%st%st%st%d,bo
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度綠色能源項(xiàng)目經(jīng)營(yíng)權(quán)轉(zhuǎn)承包合同
- 2025年度河南定額計(jì)價(jià)水利工程項(xiàng)目施工合同標(biāo)準(zhǔn)版
- 2025年度空調(diào)設(shè)備研發(fā)與生產(chǎn)安裝一體化合同
- 2025年度招投標(biāo)與合同管理軟件定制開發(fā)合同
- 2025年度新能源車輛貨運(yùn)保險(xiǎn)專項(xiàng)合同
- 2025年度場(chǎng)地租賃與旅游項(xiàng)目合作開發(fā)合同
- 2025年度建筑勞務(wù)居間合同糾紛起訴狀編制
- 2025年度影視制作公司與演員經(jīng)紀(jì)代理合同
- 2025年度建筑涂料材料采購(gòu)合同樣本
- 2025年度基礎(chǔ)設(shè)施建設(shè)項(xiàng)目可行性研究報(bào)告合同范本
- 健康體檢中心患者身份登記制度
- 空氣能安裝合同
- 電廠檢修安全培訓(xùn)課件
- 初二上冊(cè)的數(shù)學(xué)試卷
- 四大名繡課件-高一上學(xué)期中華傳統(tǒng)文化主題班會(huì)
- 大模型關(guān)鍵技術(shù)與應(yīng)用
- 起重機(jī)械生產(chǎn)單位題庫(kù)質(zhì)量安全員
- 高中生物選擇性必修1試題
- 后顱窩腫瘤的護(hù)理
- 電氣工程及其自動(dòng)化專業(yè)《畢業(yè)設(shè)計(jì)(論文)及答辯》教學(xué)大綱
- 《客艙安全管理與應(yīng)急處置》課件-第14講 應(yīng)急撤離
評(píng)論
0/150
提交評(píng)論