版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告圖書(shū)管理系統(tǒng)專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)生姓名于露班級(jí)b計(jì)123學(xué)號(hào)1210704324指導(dǎo)教師張靜林完成日期2013年6月1 課程設(shè)計(jì)的目的1. 加強(qiáng)對(duì)c語(yǔ)言程序設(shè)計(jì)課程知識(shí)的理解,掌握c語(yǔ)言應(yīng)用程序的開(kāi)發(fā)方法和步驟2. 進(jìn)一步掌握和利用c語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力3. 進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法4. 初步掌握開(kāi)發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法5. 學(xué)會(huì)調(diào)試一個(gè)較長(zhǎng)程序的基本方法6. 學(xué)會(huì)利用流程圖或n-s圖表示算法7. 掌握書(shū)寫(xiě)程序設(shè)計(jì)開(kāi)發(fā)文檔的能力(書(shū)寫(xiě)課程設(shè)計(jì)報(bào)告)2 課程設(shè)計(jì)任務(wù)3 課程設(shè)計(jì)課題課題1:圖書(shū)管理系統(tǒng)總體程序框圖系統(tǒng)的總體流程圖開(kāi)始編譯運(yùn)行main
2、 打開(kāi)文件數(shù)據(jù)讀入結(jié)構(gòu)體中執(zhí)行選擇 調(diào)用不同函數(shù)程序# include <stdio.h># include <string.h># include <stdlib.h>struct list char num20 ; /*圖書(shū)編號(hào)*/ char name40 ; /*書(shū)名*/ char author40 ; /*作者*/ char publish 40; /*出版社*/ double price ; /*價(jià)格*/;struct list b40 ;int w=0; /*定義一個(gè)全局變量,用來(lái)記錄bookinfo.txt文件中的數(shù)據(jù)個(gè)數(shù)*/void sear
3、ch_allinformation(struct list b) ; /*查看全部圖書(shū)信息*/void check_bookinformation (struct list b ); /*查找圖書(shū)信息*/void add_bookinformation (struct list b ); /*添加圖書(shū)信息*/void delete_bookinformation (struct list b ); /*刪除圖書(shū)信息*/void borrow_book (struct list b ) ; /*借閱圖書(shū)*/int main () int i = 0 ; int choice1; file *fp
4、 ; printf(" * * *n"); printf(" * 歡迎進(jìn)入圖書(shū)館信息管理系統(tǒng) *n"); printf(" * * *n"); fp = fopen ("e:bookinfo.txt" , "r") ; if(fp = null) printf("can not open the file !n") ; exit (0) ; while (! feof(fp) fscanf(fp,"%s%s%s%s%lf" , /*調(diào)用函數(shù)將文件中的數(shù)據(jù)讀
5、入結(jié)構(gòu)變量中*/ bi.num,,bi.author,bi.publish,&bi.price) ; i+ ; w=i-1; fclose (fp) ; do printf("#");printf(" 功能選項(xiàng): n");printf(" 1:查看全部圖書(shū)信息 n") ;printf(" 2:查找圖書(shū)信息 n") ;printf(" 3:添加圖書(shū)信息 n") ;printf(" 4:刪除圖書(shū)信息 n") ;printf(" 5:借閱圖書(shū) n&q
6、uot;) ;printf(" 0:退出系統(tǒng) n") ;printf("#");printf("請(qǐng)選擇操作:"); scanf("%d" , &choice1); switch (choice1) case 1 : search_allinformation (b); break ; case 2 : check_bookinformation( b ); break ; case 3 : add_bookinformation (b ); break ; case 4 : delete_bookinfor
7、mation( b); break ; case 5 : borrow_book( b); break ; case 0 : break ;while (choice1 != 0); printf("謝謝使用!n"); return 0; /*查看全部圖書(shū)信息*/void search_allinformation (struct list b)int i; printf(" #n"); printf(" # 查看全部圖書(shū)信息! #n"); printf(" #n"); printf("圖書(shū)的相關(guān)信息:
8、編號(hào) 書(shū)名 作者 出版社 價(jià)格n"); for(i=0;i<w;i+) printf(" %s %s %s %s %.2fn", /*將數(shù)據(jù)輸出到屏幕中*/ bi.num, , bi.author, bi.publish, bi.price); printf("%d " , w); printf("#n"); /*查找圖書(shū)信息*/void check_bookinformation(struct list b )int i, flag=0;char s20; printf("輸入編號(hào):n&quo
9、t;) ; /*提示輸入圖書(shū)編號(hào)*/ scanf("%s" , s); printf(" #n"); printf(" # 查找圖書(shū)信息! #n"); printf(" #n"); for(i=0;i<w;i+) if (strcmp(s, bi.num)=0) printf("該圖書(shū)的相關(guān)信息: 編號(hào) 書(shū)名 作者 出版社 價(jià)格n"); printf(" %s %s %s %s %.2fn", bi.num, , bi.author, bi.publish
10、, bi.price); flag = 1; break; if (flag = 0) printf("該圖書(shū)編號(hào)不存在!n"); printf("是否要繼續(xù)查找? y:是 ; n:否n") ; getchar(); switch(getchar()case 'y': check_bookinformation( b ) ; /*調(diào)用函數(shù)本身繼續(xù)查找*/case 'n' : break ; printf("#n");/*添加圖書(shū)信息*/void add_bookinformation(struct li
11、st b ) int i, count=0, choice3; struct list p ;file *fp2 ; printf(" #n"); printf(" # 添加圖書(shū)信息! #n"); printf(" #n"); printf("請(qǐng)輸入該圖書(shū)的相關(guān)信息:n") ; printf("編號(hào) 書(shū)名 作者 出版社 價(jià)格n"); scanf(" %s %s %s %s %lf", p.num , ,p.author,p.publish,&p.price
12、); printf(" 添加成功 !n"); printf(" 是否顯示添加后的信息? 1:是 ; 2:否 n"); printf(" 請(qǐng)選擇:"); scanf("%d" , &choice3); switch (choice3) case 1 : for(i=0;i<w;i+) if(strcmp(p.num,bi.num)>0) count + ; for(i=w;i>count;i-) bi = bi-1 ; bi = p ; w+; /*每添加一本圖書(shū),圖書(shū)數(shù)目都會(huì)增加一個(gè)*/
13、fp2 = fopen ("e:bookinfo.txt" , "w") ; if(fp2 = null) printf("can not open the file !n"); exit (0) ; for(i=0;i<w;i+) fprintf(fp2," %s %s %s %s %.2fn" , bi.num,,bi.author,bi.publish,bi.price); fclose (fp2) ; for(i=0;i<w;i+) printf(" %s %s %s %
14、s %.2fn" , bi.num,,bi.author,bi.publish,bi.price); case 2 : break ; printf("#n"); /*刪除圖書(shū)信息*/void delete_bookinformation (struct list b ) int i, flag= 0,choice4; char s20 ; printf(" #n"); printf(" # 刪除圖書(shū)信息 #n"); printf(" #n"); printf("請(qǐng)輸入圖書(shū)編號(hào):&
15、quot;);scanf("%s", s); for(i=0;i<w;i+) if(strcmp(s,bi.num)=0) printf(" 刪除成功 !n"); printf(" 是否顯示刪除后的信息? 1:是 ; 2:否 n"); printf(" 請(qǐng)選擇:"); scanf("%d" , &choice4); switch (choice4) case 1 : printf("刪除后的圖書(shū)信息: 編號(hào) 書(shū)名 作者 出版社 價(jià)格n"); for(i=0;i&
16、lt;w;i+) if(strcmp(s,bi.num)!=0) printf(" %s %s %s %s %.2fn", bi.num, , bi.author, bi.publish, bi.price); case 2 : break ; flag = 1 ; break ; if(flag = 0)printf("該圖書(shū)編號(hào)不存在!n"); printf("#n"); /*借閱圖書(shū)*/void borrow_book(struct list b ) int i=0, n=0,flag=0, x=0;int m;
17、/*定義一個(gè)變量用來(lái)記錄sendinfo.txt文件中的數(shù)據(jù)個(gè)數(shù)*/struct list q;struct student char name20 ; char number40 ;struct student stu50 ; file *fp ; file *fp4 ; printf(" #n"); printf(" # 借閱圖書(shū) #n"); printf(" #n"); a: printf("輸入圖書(shū)編號(hào):"); scanf("%s" , q.num ); fp = fopen (&quo
18、t;e:bookinfo.txt" , "a") ; if(fp = null) printf("can not open the file !n"); exit (0) ; for(i=0;i<w;i+) if(strcmp(q.num , bi.num) =0) flag=1; if(flag=0) printf("該圖書(shū)編號(hào)不存在, 請(qǐng)重新輸入!n"); borrow_book( b ) ; fclose(fp) ; if(flag=1) fp4 = fopen ("e:sentinfo.txt&quo
19、t; , "r") ; if(fp4 = null) printf("can not open the file !n") ; exit (0) ; while (! feof(fp4) fscanf(fp4,"%s%s" , /*調(diào)用函數(shù)將文件中的數(shù)據(jù)讀入結(jié)構(gòu)變量中*/ stui.number,) ; i+ ; n=i-1; fclose (fp4) ; fp = fopen ("e:sentinfo.txt" , "a") ; if(fp = null) printf(&q
20、uot;can not open the file !n"); exit (0) ; for(i=0;i<n;i+) if(strcmp(q.num, stui.number) =0) printf("該圖書(shū)已借出!"); printf("是否繼續(xù)續(xù)借? y or nn"); getchar(); if(getchar()='y') goto a;else x = 1; if(x = 0) /*若該圖書(shū)未借出,則執(zhí)行以下操作*/ printf("請(qǐng)輸入學(xué)號(hào): "); scanf("%d", &m); if(fp=fopen("e:sendinfo.txt","a") = null) printf("file open error!n"); exit(0); fprintf(fp," %s %d",q.num , m ); fclose(fp); printf(" 借閱成功!n
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《學(xué)習(xí)英語(yǔ)的困難》課件
- 單位管理制度分享大合集【員工管理篇】十篇
- 《證券經(jīng)紀(jì)與交易》課件
- 2024年農(nóng)業(yè)局上半年科技教育工作總結(jié)
- 九上歷史:第一次月考A卷(考試版+解析)
- DBJT 13-313-2019 城市軌道交通工程滲漏水治理技術(shù)規(guī)程
- XX中學(xué)師生生活綜合樓可研報(bào)告
- 《液壓支架技術(shù)》課件
- 《證券投資要義》課件
- 資本市場(chǎng)投資咨詢合同三篇
- 口腔頜面外科學(xué) 09顳下頜關(guān)節(jié)疾病
- 應(yīng)急物資清單明細(xì)表
- 房地產(chǎn)估計(jì)第八章成本法練習(xí)題參考
- 《社會(huì)主義核心價(jià)值觀》優(yōu)秀課件
- DB11-T1835-2021 給水排水管道工程施工技術(shù)規(guī)程高清最新版
- 《妊娠期糖尿病患者個(gè)案護(hù)理體會(huì)(論文)3500字》
- 《小學(xué)生錯(cuò)別字原因及對(duì)策研究(論文)》
- 便攜式氣體檢測(cè)報(bào)警儀管理制度
- 酒店安全的管理制度
- (大潔王)化學(xué)品安全技術(shù)說(shuō)明書(shū)
- 2022年科學(xué)道德與學(xué)術(shù)規(guī)范知識(shí)競(jìng)賽決賽題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論