![《C語言程序設計實踐》課程報告_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/d27606f5-8833-4b4b-9e9d-0062758588de/d27606f5-8833-4b4b-9e9d-0062758588de1.gif)
![《C語言程序設計實踐》課程報告_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/d27606f5-8833-4b4b-9e9d-0062758588de/d27606f5-8833-4b4b-9e9d-0062758588de2.gif)
![《C語言程序設計實踐》課程報告_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/d27606f5-8833-4b4b-9e9d-0062758588de/d27606f5-8833-4b4b-9e9d-0062758588de3.gif)
![《C語言程序設計實踐》課程報告_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/d27606f5-8833-4b4b-9e9d-0062758588de/d27606f5-8833-4b4b-9e9d-0062758588de4.gif)
![《C語言程序設計實踐》課程報告_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/18/d27606f5-8833-4b4b-9e9d-0062758588de/d27606f5-8833-4b4b-9e9d-0062758588de5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、課 程 報 告課 程 名 稱: 程序設計實踐 專 業(yè) 班 級 : 計算機科學與技術1205班 學 生 姓 名 : 雷原康 學 號 : 201216010522 任 課 教 師 : 陳衛(wèi)東 學 期 :2012-2013學年第二學期 課程報告任務書題 目圖書信息管理系統(tǒng)主要內容開發(fā)一個圖書信息管理系統(tǒng),圖書信息包括:圖書編號、書名、作者、出版社、類別、出版時間、價格等基本信息(也可以根據自己情況進行擴充,比如是否借出、庫存量等)。使之能提供以下基本功能:(1)圖書信息錄入功能(圖書信息用文件保存)輸入v(2)圖書信息瀏覽功能輸出(3)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式): l
2、 按書名查詢 按作者名查詢 按照價錢排序 按出版時間排序等等(4)圖書信息的刪除與修改擴展功能:可以按照自己的程度進行擴展。比如(1)簡單的權限處理 (2)報表打印功能(3)甚至根據自己情況,可以加上學生信息,并擴充為圖書借閱系統(tǒng)。(4)模糊查詢 (5)綜合查詢 (6)統(tǒng)計功能 比如統(tǒng)計處某一類別的圖書信息 或 篩選出小于指定數量庫存的圖書信息等等,總之,可以根據自己需求進行分析功能。任務要求一、提交材料應包括:(1)系統(tǒng)源代碼 (2)課程報告二、整個設計過程具體要求(1)需求分析 要求學生對案例系統(tǒng)進行分析,設計出需要完成的功能,完善各個模塊的調用關系;(2)設計過程 要求學生進一步明確各模
3、塊調用關系,進一步完善模塊函數細節(jié)(函數名、參數、返回值等)(3)實現(xiàn)過程 要求學生養(yǎng)成良好的編碼習慣、完成各個模塊并進行測試,最終完成系統(tǒng)整體測試;(4)總結階段 按照要求完成系統(tǒng)設計和實現(xiàn)報告,并進行總結、答辯。成績評定報告撰寫情況(30分)系統(tǒng)完成情況(30分)答辯情況(40分)總分內容20分規(guī)范程度5分程序測試5分基本功能20分擴展功能10分自述情況10分答辯情況30分成績評定教師: 24 1. 需求分析經過大一上學期的理論學習,在基礎實驗的基礎上,本學期我們繼續(xù)開設了c語言程序設計實踐課。課程要求我們對已經學習的基礎實驗進行整合與銜接處理,并最終形成一個系統(tǒng)性質的規(guī)模較大的程序。本次
4、課程設計要求我們達到能獨立完成一個圖書管理系統(tǒng),完成后要求實現(xiàn)的功能有對圖書信息的錄入、刪除、修改,瀏覽(即輸出), 按某種方式查詢(要求至少一種查詢方式),按某種方式排序(要求至少一種排序方式)。當然,我們可以根據自己的能力對系統(tǒng)進行完善性的拓展,例如自己加入簡單的權限處理,統(tǒng)計功能,模糊查詢等,甚至可以拓展為圖書借閱系統(tǒng)。通過整個程序的開發(fā)過程,最終使我們掌握利用計算機解決實際問題的基本方法,熟悉c語言開發(fā)的全過程,提高綜合應用c語言的能力、編程和調試能力,為學習計算機后續(xù)課程打好專業(yè)基礎。 2. 概要設計1. 系統(tǒng)采用的是結構數組數據系統(tǒng),用于實現(xiàn)圖書信息的存放,修改,排序等功能。 用二
5、進制文件保存已寫入的信息。2. 模塊劃分:1 void addnewbook圖書信息錄入系統(tǒng)2 void rprint圖書信息瀏覽系統(tǒng)3 void querybook圖書信息查詢系統(tǒng):void numnode1-書籍編號查找 .2-書名void namenode查找.3-void writer作者查找.4-void press出版社查找.5-void fuzzy模糊查找.4 void paixu圖書信息排序系統(tǒng):1-價格排序2-時間排序5 voide xiugai圖書信息修改系統(tǒng)6 void shanchu圖書信息刪除系統(tǒng) 7 圖書信息統(tǒng)計系統(tǒng):1-void sorttongji書籍類別統(tǒng)計.
6、2-void kuno庫存低于標準統(tǒng)計3. 程序框架1 進行錄入圖書信息2 錄入后進行瀏覽系統(tǒng)3 然后根據需要分別進行查詢,排序,修改,刪除,統(tǒng)計功能3. 詳細設計:1. 定義圖書結構:typedef struct booklong num;/書的序號char namemax;/書名char timemax;/出版時間char writermax;double price;char pressmax;/出版社 char sortmax;int kucun;/庫存量book;2. 圖書錄入系統(tǒng):void addnewbook(file *fp)/*添加書籍system(cls);int a;if
7、(fp=fopen(圖書信息.txt,a+)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);book newbook;printf(-1代表結束); while(a!=-1)printf(輸入書籍編號:); scanf(%ld,&newbook.num);printf(輸入書名:);scanf(%s,);printf(輸入出版時間:);scanf(%s,newbook.time);printf(輸入作者:);scanf(%s,newbook.writer);printf(輸入價格:);scanf(%lf,&newbook.price);prin
8、tf(輸入出版社:);scanf(%s,newbook.press);printf(輸入書籍種類:);scanf(%s,newbook.sort);printf(輸入庫存量:); scanf(%d,&newbook.kucun); fwrite(&newbook,size,1,fp);scanf(%d,&a);fclose(fp);3. 圖書瀏覽系統(tǒng)void rprint(file *fp)/圖書信息瀏覽system(cls);if(fp=fopen(圖書信息.txt,r+)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);book log;printf(書籍編號 書名
9、 出版時間 作者 價格 出版社 種類 庫存量 n);while(!feof(fp)fread(&log,sizeof(book),1,fp);printf(%8ld %s %6s %10s %.2lf %s %s %d n,log.num,,log.time,log.writer,log.price,log.press ,log.sort,log.kucun);4. 圖書查詢系統(tǒng)一按編號查找void numnode(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);long num;int
10、i=0;book chaxun;printf(enter num:);scanf(%ld,&num);while(!feof(fp) fread(&chaxun,size,1,fp); if(num=chaxun.num)printf(%ldt%st%st%st,chaxun.num,,chaxun.time,chaxun.writer);printf(%.2lft%st%dn,chaxun.price,chaxun.sort,chaxun.kucun); i=1; if(i!=1)printf(對不起,沒有你想要查找的書籍。n);fclose(fp);二按書名查找voi
11、d namenode(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int i=0;char namemax;book chaxun;printf(enter name:);scanf(%s,name);while(!feof(fp)fread(&chaxun,size,1,fp);if(strcmp(name,)=0)printf(%ldt%st%st%st%.2lft%st%dn,chaxun.num,,chaxun.time,chaxun.writer,
12、chaxun.price,chaxun.sort,chaxun.kucun);i=1;if(i!=1)printf(對不起,沒有你想要查找的書籍。n);fclose(fp);三按作者名查找void writernode(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int i=0;char writermax;book chaxun;printf(enter writer:);scanf(%s,writer);while(!feof(fp)fread(&chaxun,size,1,fp);if(strc
13、mp(writer,chaxun.writer)=0)printf(%ldt%st%st%st%.2lft%st%dn,chaxun.num,,chaxun.time,chaxun.writer,chaxun.price,chaxun.sort,chaxun.kucun);i=1;if(i!=1)printf(對不起,沒有你想要查找的書籍。n);fclose(fp);四按出版社查找void pressnode(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int i=0;char
14、pressmax;book chaxun;printf(enter press:);scanf(%s,press);while(!feof(fp)fread(&chaxun,size,1,fp);if(strcmp(press,chaxun.press)=0)printf(%ldt%st%st%st%.2lft%st%dn,chaxun.num,,chaxun.time,chaxun.writer,chaxun.price,chaxun.sort,chaxun.kucun);i=1;if(i!=1)printf(對不起,沒有你想要查找的書籍。n);fclose(fp);五
15、模糊查詢void fuzzy(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int k=0;char zifumax;book chaxun;printf(輸入關鍵字:);getchar();int i,j;for(i=0;(zifui=getchar()!=n;i+);zifui=0;while(!feof(fp)fread(&chaxun,size,1,fp);for(i=0;zifui!=0;i+)for(j=0;chaxun.writerj!=0;j+)if(zifui=chaxun.write
16、rj)printf(%ldt%st%st%st%.2lft%st%dn,chaxun.num,,chaxun.time,chaxun.writer,chaxun.price,chaxun.sort,chaxun.kucun);k=1;if(k!=1)printf(對不起,沒有你想要查找的書籍。n);fclose(fp);4. 排序功能一 按價錢排序void price(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int n;int i=1,j;n=tongji(fp);book
17、t;book paixumax;while(!feof(fp)fread(&paixui,size,1,fp);i+;for(i=1;in;i+)for(j=1;jpaixuj+1.price)t=paixuj;paixuj=paixuj+1;paixuj+1=t;for(i=1;in;i+)printf(%ldt%st%st%st%.2lft%st%dn,paixui.num,,paixui.time,paixui.writer,paixui.price,paixui.sort,paixui.kucun);fclose(fp);二按時間排序void time(file
18、*fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int n;int i=1,j;n=tongji(fp);book paixumax,t;while(!feof(fp)fread(&paixui,size,1,fp);i+;for(i=1;i=n;i+)for(j=1;j0)t=paixuj;paixuj=paixuj+1;paixuj+1=t;for(i=1;in;i+)printf(%ldt%st%st%st%.2lft%st%dn,paixui.num,,paixui.time,paix
19、ui.writer,paixui.price,paixui.sort,paixui.kucun);fclose(fp);三排序選擇void paixu(file *fp)int choice=-1;printf(1-價格排序n2-時間排序n);scanf(%d,&choice); switch(choice)case 1:price(fp);break;case 2:time(fp);break;default:printf(errorn);break;5. 修改功能void bookxiugai(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打
20、開圖書信息管理系統(tǒng)!n);exit(0);file *t;int n=0;int i=0;if(t=fopen(圖書信息.txt,r+)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);long num;int choice;book xiugai;book duqu;printf(輸入要修改書的編號:);scanf(%ld,&num);while(!feof(t)i+;fread(&duqu,size,1,t);if(num=duqu.num)printf(請輸入修改后的書籍信息:n); printf(請輸入書籍編號:);scanf(%d,&xiugai.num);p
21、rintf(請輸入書名:);scanf(%s,);printf(請輸入作者:);scanf(%s,xiugai.writer);printf(請輸入出版時間:);scanf(%s,xiugai.time);printf(請輸入價格:);scanf(%lf,&xiugai.price);printf(請輸入出版社:);scanf(%s,xiugai.press);printf(請輸入書籍種類:);scanf(%s,xiugai.sort);printf(請輸入庫存量:);scanf(%d,&xiugai.kucun); n=i; fseek(t,(n-1)*size,0);
22、printf(1-確認修改。n其他數字-取消修改。);scanf(%d,&choice);if(choice=1)fwrite(&xiugai,size,1,t);printf(修改成功!n);6. 刪除功能void bookshanchu(file *fp)file *t;if(fp=fopen(圖書信息.txt,r)=null) printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);int i=1,n;long num;n=tongji(fp);book duqumax;printf(請輸入書籍編號:);scanf(%ld,&num);while(!feof(fp)fread(&d
23、uqui,size,1,fp);i+;if(t=fopen(圖書信息.txt,w)=null) printf(不能打開圖書信息管理系統(tǒng)!n);exit(0);for(i=1;ikcun.kucun)printf(%ldt%st%st%st%.2lft%st%dn,kcun.num,,kcun.time,kcun.writer,kcun.price,kcun.sort,kcun.kucun);fclose(fp);三統(tǒng)計選擇函數void tongjixinxi(file *fp)if(fp=fopen(圖書信息.txt,r)=null)printf(不能打開圖書信息管理系統(tǒng)!n);exit(0); int choice; printf(1-書籍類別統(tǒng)計.n2-庫存低于標準統(tǒng)計.n); scanf(%d,&choice); switch(choice) case 1:sorttongji(fp);break; case 2:kuno(fp);break; default:printf(errorn);break; 4.調試分析: 問題一 界面不美觀,進入一次系統(tǒng)只能進行一項操作的問題解決方法 通過將主菜單與清屏函數(system(“cls”)一起
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 木工承包合同協(xié)議書
- 二零二五年度智能硬件知識產權授權與保密合同
- 健身房整裝清包合同樣本
- 風力發(fā)電葉片運輸合同
- 二零二五年度辦公室門套定制與建筑節(jié)能改造合同
- 港口物流居間合同委托書
- 電子設備采購合同
- 法院判決離婚協(xié)議書
- 醫(yī)療器械外包合同
- 設備維護管理作業(yè)指導書
- 市場營銷中的社交媒體策略與實踐培訓課件精
- 中煤集團綜合管理信息系統(tǒng)運維服務解決方案-V3.0
- 直播營銷與運營(第2版)全套教學課件
- 高二英語閱讀理解30篇
- GB/T 42765-2023保安服務管理體系要求及使用指南
- 高教社新國規(guī)中職英語教材《英語2基礎模塊》英語2-U3-1.0
- 《工程款糾紛》課件
- 中建地下管廊豎井及矩形頂管專項施工方案
- 北師大版三年級數學(上冊)看圖列式計算(完整版)
- 診所規(guī)章制度匯編全套
- 2024年云南省中考英語題庫【歷年真題+章節(jié)題庫+模擬試題】
評論
0/150
提交評論