




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告圖書管理系統(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語言程序設(shè)計(jì)課程知識(shí)的理解,掌握c語言應(yīng)用程序的開發(fā)方法和步驟2. 進(jìn)一步掌握和利用c語言進(jìn)行程序設(shè)計(jì)的能力3. 進(jìn)一步理解和運(yùn)用結(jié)構(gòu)化程序設(shè)計(jì)的思想和方法4. 初步掌握開發(fā)一個(gè)小型實(shí)用系統(tǒng)的基本方法5. 學(xué)會(huì)調(diào)試一個(gè)較長程序的基本方法6. 學(xué)會(huì)利用流程圖或n-s圖表示算法7. 掌握書寫程序設(shè)計(jì)開發(fā)文檔的能力(書寫課程設(shè)計(jì)報(bào)告)2 課程設(shè)計(jì)任務(wù)3 課程設(shè)計(jì)課題課題1:圖書管理系統(tǒng)總體程序框圖系統(tǒng)的總體流程圖開始編譯運(yùn)行main
2、 打開文件數(shù)據(jù)讀入結(jié)構(gòu)體中執(zhí)行選擇 調(diào)用不同函數(shù)程序# include <stdio.h># include <string.h># include <stdlib.h>struct list char num20 ; /*圖書編號(hào)*/ char name40 ; /*書名*/ char author40 ; /*作者*/ char publish 40; /*出版社*/ double price ; /*價(jià)格*/;struct list b40 ;int w=0; /*定義一個(gè)全局變量,用來記錄bookinfo.txt文件中的數(shù)據(jù)個(gè)數(shù)*/void sear
3、ch_allinformation(struct list b) ; /*查看全部圖書信息*/void check_bookinformation (struct list b ); /*查找圖書信息*/void add_bookinformation (struct list b ); /*添加圖書信息*/void delete_bookinformation (struct list b ); /*刪除圖書信息*/void borrow_book (struct list b ) ; /*借閱圖書*/int main () int i = 0 ; int choice1; file *fp
4、 ; printf(" * * *n"); printf(" * 歡迎進(jìn)入圖書館信息管理系統(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:查看全部圖書信息 n") ;printf(" 2:查找圖書信息 n") ;printf(" 3:添加圖書信息 n") ;printf(" 4:刪除圖書信息 n") ;printf(" 5:借閱圖書 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; /*查看全部圖書信息*/void search_allinformation (struct list b)int i; printf(" #n"); printf(" # 查看全部圖書信息! #n"); printf(" #n"); printf("圖書的相關(guān)信息:
8、編號(hào) 書名 作者 出版社 價(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"); /*查找圖書信息*/void check_bookinformation(struct list b )int i, flag=0;char s20; printf("輸入編號(hào):n&quo
9、t;) ; /*提示輸入圖書編號(hào)*/ scanf("%s" , s); printf(" #n"); printf(" # 查找圖書信息! #n"); printf(" #n"); for(i=0;i<w;i+) if (strcmp(s, bi.num)=0) printf("該圖書的相關(guān)信息: 編號(hào) 書名 作者 出版社 價(jià)格n"); printf(" %s %s %s %s %.2fn", bi.num, , bi.author, bi.publish
10、, bi.price); flag = 1; break; if (flag = 0) printf("該圖書編號(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");/*添加圖書信息*/void add_bookinformation(struct li
11、st b ) int i, count=0, choice3; struct list p ;file *fp2 ; printf(" #n"); printf(" # 添加圖書信息! #n"); printf(" #n"); printf("請(qǐng)輸入該圖書的相關(guān)信息:n") ; printf("編號(hào) 書名 作者 出版社 價(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ù)目都會(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"); /*刪除圖書信息*/void delete_bookinformation (struct list b ) int i, flag= 0,choice4; char s20 ; printf(" #n"); printf(" # 刪除圖書信息 #n"); printf(" #n"); printf("請(qǐng)輸入圖書編號(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("刪除后的圖書信息: 編號(hào) 書名 作者 出版社 價(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("該圖書編號(hào)不存在!n"); printf("#n"); /*借閱圖書*/void borrow_book(struct list b ) int i=0, n=0,flag=0, x=0;int m;
17、/*定義一個(gè)變量用來記錄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(" # 借閱圖書 #n"); printf(" #n"); a: printf("輸入圖書編號(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("該圖書編號(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("該圖書已借出!"); printf("是否繼續(xù)續(xù)借? y or nn"); getchar(); if(getchar()='y') goto a;else x = 1; if(x = 0) /*若該圖書未借出,則執(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)一級(jí)Msoffice考題分析探討試題及答案
- Msoffice知識(shí)掌握的試題及答案自測
- 2025年中醫(yī)藥現(xiàn)代化進(jìn)程中葡萄牙市場拓展策略研究
- 商業(yè)地產(chǎn)項(xiàng)目數(shù)字化運(yùn)營模式創(chuàng)新與2025年客戶體驗(yàn)提升策略研究
- 某年度TOUCHPANEL檢測系統(tǒng)戰(zhàn)略市場規(guī)劃報(bào)告
- 房地產(chǎn)企業(yè)2025年風(fēng)險(xiǎn)預(yù)警與財(cái)務(wù)穩(wěn)健提升策略研究報(bào)告
- 計(jì)算機(jī)一級(jí)Photoshop實(shí)戰(zhàn)課題試題及答案
- 2025年環(huán)保產(chǎn)業(yè)園區(qū)產(chǎn)業(yè)集聚與區(qū)域產(chǎn)業(yè)協(xié)同發(fā)展產(chǎn)業(yè)鏈協(xié)同發(fā)展績效創(chuàng)新路徑報(bào)告
- 在線學(xué)習(xí)平臺(tái)的教育項(xiàng)目實(shí)踐分析
- 普通邏輯的應(yīng)用分析試題及答案
- 2025年5月12日陜西省公務(wù)員面試真題及答案解析
- 2025-2030中國海上風(fēng)電行業(yè)市場深度調(diào)研及投資策略與投資前景研究報(bào)告
- 工程經(jīng)濟(jì)課件
- 變電站值班員-中級(jí)工考試模擬題及參考答案解析
- 2024年西雙版納州景洪市事業(yè)單位選調(diào)工作人員筆試真題
- 2025-2030中國活塞桿行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報(bào)告
- 浙江省紹興市柯橋區(qū)2025年5月統(tǒng)考英語試題試卷含解析
- 健康理療室管理制度
- 燃?xì)庑袠I(yè)數(shù)字化轉(zhuǎn)型趨勢分析-全面剖析
- 2024-2025學(xué)年下學(xué)期高一物理教科版同步經(jīng)典題精練之天體運(yùn)動(dòng)
- 《小麥在人類膳食中的重要性:歷史與現(xiàn)代視角》論文
評(píng)論
0/150
提交評(píng)論