




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上課 程 報(bào) 告課 程 名 稱: 程序設(shè)計(jì)實(shí)踐 專 業(yè) 班 級(jí) : 信息類1110 學(xué) 生 姓 名 : 學(xué) 號(hào) : 任 課 教 師 : 學(xué) 期 :20101-2012學(xué)年第二學(xué)期 課程報(bào)告任務(wù)書題 目圖書信息管理系統(tǒng)主要內(nèi)容開發(fā)一個(gè)圖書信息管理系統(tǒng),圖書信息包括:圖書編號(hào)、書名、作者、出版社、類別、出版時(shí)間、價(jià)格等基本信息(也可以根據(jù)自己情況進(jìn)行擴(kuò)充,比如是否借出、庫存量等)。使之能提供以下基本功能:(1)圖書信息錄入功能(圖書信息用文件保存)輸入v(2)圖書信息瀏覽功能輸出(3)查詢功能(至少一種查詢方式)、排序功能(至少一種排序方式): l 按書名查詢 按作者名查詢
2、 按照價(jià)錢排序 按出版時(shí)間排序等等(4)圖書信息的刪除與修改擴(kuò)展功能:可以按照自己的程度進(jìn)行擴(kuò)展。比如(1)簡單的權(quán)限處理 (2)報(bào)表打印功能(3)甚至根據(jù)自己情況,可以加上學(xué)生信息,并擴(kuò)充為圖書借閱系統(tǒng)。(4)模糊查詢 (5)綜合查詢 (6)統(tǒng)計(jì)功能 比如統(tǒng)計(jì)處某一類別的圖書信息 或 篩選出小于指定數(shù)量庫存的圖書信息等等,總之,可以根據(jù)自己需求進(jìn)行分析功能。任務(wù)要求一、提交材料應(yīng)包括:(1)系統(tǒng)源代碼 (2)課程報(bào)告二、整個(gè)設(shè)計(jì)過程具體要求(1)需求分析 要求學(xué)生對案例系統(tǒng)進(jìn)行分析,設(shè)計(jì)出需要完成的功能,完善各個(gè)模塊的調(diào)用關(guān)系;(2)設(shè)計(jì)過程 要求學(xué)生進(jìn)一步明確各模塊調(diào)用關(guān)系,進(jìn)一步完善模塊
3、函數(shù)細(xì)節(jié)(函數(shù)名、參數(shù)、返回值等)(3)實(shí)現(xiàn)過程 要求學(xué)生養(yǎng)成良好的編碼習(xí)慣、完成各個(gè)模塊并進(jìn)行測試,最終完成系統(tǒng)整體測試;(4)總結(jié)階段 按照要求完成系統(tǒng)設(shè)計(jì)和實(shí)現(xiàn)報(bào)告,并進(jìn)行總結(jié)、答辯。成績評(píng)定報(bào)告撰寫情況(30分)系統(tǒng)完成情況(30分)答辯情況(40分)總分內(nèi)容20分規(guī)范程度5分程序測試5分基本功能20分?jǐn)U展功能10分自述情況10分答辯情況30分成績評(píng)定教師: 專心-專注-專業(yè)1 需求分析這是一個(gè)能簡單管理圖書的小型圖書管理系統(tǒng),其中圖書信息包括:書名,作者名,書編號(hào),分類,出版單位,出版時(shí)間,價(jià)格等。通過這些信息使之提供以下功能: (1)圖書信息創(chuàng)建功能。其中圖書信息包括:書名,作者名
4、,書編號(hào),分類,出版單位,出版時(shí)間,價(jià)格等。(圖書信息用文件保存)。(2)圖書信息查看功能。用來查看各項(xiàng)圖書信息。(3)圖書信息查找功能。通過已知信息來查找想要的圖書。(4)圖書信息的刪除。可以刪除特定圖書。(5)圖書信息的修改??梢孕薷膱D書的各項(xiàng)信息。(6)圖書信息的排序功能。按圖書信息對錄入的圖書進(jìn)行排序。(7)菜單選擇功能,此功能也是圖書信息信息管理系統(tǒng)的入口,用戶所要進(jìn)行的各種操作均需在此模塊中進(jìn)行選擇并進(jìn)而調(diào)用其他模塊實(shí)現(xiàn)相應(yīng)的功能2 概要設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)圖書管理系統(tǒng)中主要的數(shù)據(jù)結(jié)構(gòu)包含書名、圖書書號(hào)、作者名、分類、出版社、出版時(shí)間、價(jià)格等;在處理過程中各項(xiàng)可以作為一本圖書的不同屬性來
5、進(jìn)行處理。/自定義枚舉類型fi_type,用來表示圖書信息 typedef enum _fi_type news=1, /圖書信息 fi_type;/圖書信息結(jié)構(gòu)體 struct fi_info char name11; /書名 char writer21; /作者 char shuhao10; /書號(hào) char fenlei10; /分類 char chuban20; /出版社 int chubantime; /出版時(shí)間 float price; /價(jià)格 fi_type type; struct fi_info* next; /結(jié)構(gòu)體的指針域,用于存放鏈表的下個(gè)結(jié)點(diǎn)的地址; 模塊劃分本系統(tǒng)主
6、要有創(chuàng)建新的圖書、查找圖書、刪除圖書、修改圖書、查看圖書和圖書排序幾個(gè)基本功能。 2struct fi_info *head=NULL,*head_=NULL ; /將圖書信息寫成鏈表,頭指針分別為空 int Book_num; /圖書信息的統(tǒng)計(jì)數(shù) void menu();int ReadinfoFromFile(); /讀入數(shù)據(jù) /函數(shù)申明 int chuangjian(); /創(chuàng)建新的圖書信息void chazhao(); /查找圖書void shanchu(); /刪除圖書void xiugai(); /修改圖書void show(); /查看圖書void paixu() ; /圖書排序
7、void quit(); /退出書名查找作者查找組合查找(3)程序結(jié)構(gòu)主菜單 開始輸入創(chuàng)建圖書查找書名查找作者查找組合查找刪除圖書修改圖書顯示圖書 退出3 詳細(xì)設(shè)計(jì)1.主菜單函數(shù)的原型:void menu()函數(shù)的功能:調(diào)用菜單,使用各項(xiàng)功能程序:void menu() printf("nn*<圖書信息管理系統(tǒng)>*n"); printf("-主菜單- n"); printf("ttt <1;創(chuàng)建圖書信息 > n");printf("ttt <2;查找圖書信息 > n");prin
8、tf("ttt <3;刪除圖書信息 > n");printf("ttt <4;修改圖書信息 > n");printf("ttt <5;顯示圖書信息 > n");printf("ttt <6;按出版時(shí)間排序> n");printf("ttt <0;退出 > n");printf("- n");2.新建文件函數(shù)的原型:int ReadinfoFromFile()函數(shù)的功能:建立文件儲(chǔ)存數(shù)據(jù)程序int ReadinfoFr
9、omFile() /讀入數(shù)據(jù) FILE *fp=NULL; /文件指針 struct fi_info *p=NULL; /結(jié)構(gòu)體指針 int i; if(fp=fopen("sun.txt","r+")=NULL) printf("文件不存在!n"); fp=fopen("sun.txt","w"); /為輸出打開一個(gè)文件 printf("文件建立成功!n"); fscanf(fp,"%d",&Book_num); /從文件中分別讀入圖書信息統(tǒng)計(jì)數(shù)
10、,以便于下面for循環(huán)的條件控制for(i=0;i<Book_num;i+)p=(struct fi_info*)malloc(sizeof(struct fi_info); /P為動(dòng)作指針,申請內(nèi)存空間fscanf(fp,"%s",p->name);fscanf(fp,"%s",p->writer); fscanf(fp,"%s",p->shuhao);fscanf(fp,"%s",&p->fenlei);fscanf(fp,"%s",p->chub
11、an);fscanf(fp,"%d",&p->chubantime); fscanf(fp,"%.2f",&p->price);fscanf(fp,"%d",&p->type);if(p->type=1) if(head=NULL) head=p; p->next=NULL; else p->next=head; head=p; else if(head_=NULL) head_=p; p->next=NULL; else p->next=head_; head_
12、=p; fclose(fp);return 0;3.創(chuàng)建圖書信息函數(shù)的原型:int chuangjian()函數(shù)的功能:記錄圖書的各項(xiàng)信息程序:int chuangjian() /創(chuàng)建圖書信息 struct fi_info *p=NULL; p=(struct fi_info*)malloc(sizeof(struct fi_info); printf("請輸入書名:"); scanf("%s",p->name);printf("請輸入作者名:"); scanf("%s",p->writer);prin
13、tf("請輸入書號(hào):"); scanf("%s",p->shuhao);printf("請輸入分類:"); scanf("%s",&p->fenlei);printf("請輸入出版社:");scanf("%s",p->chuban); printf("請輸入出版時(shí)間:"); scanf("%d",&p->chubantime);printf("請輸入價(jià)格:"); scanf(&
14、quot;%f",&p->price); p->type=news; Book_num+=1; p->next=head; head=p;return 0;4.查找圖書信息函數(shù)的原型:void chazhao()函數(shù)的功能:通過書名查找、作者查找、組合查找三種方式查找圖書信息。程序:void chazhao() /查找圖書信息 struct fi_info *p=NULL; char name10,writer21; int price; int b=1,i; printf("按書名查找請按1.n按作者名查找請按2.n按組合查詢請按3.n"
15、;); scanf("%d",&i); if(i=1) printf("請輸入要查找的書名:"); scanf("%s",name); for(p=head;p!=NULL;p=p->next) /一個(gè)鏈表指針p的遍歷,直到結(jié)尾p=NULL if(strcmp(name,p->name)=0) /字符串的比較函數(shù),若前后相等則等于0 b=0; /若存在,則b=0 printf("找到要查找的圖書信息:n");printf("圖書名稱 %sn",p->name);prin
16、tf("圖書作者 %sn",p->writer); printf("圖書書號(hào) %sn",p->shuhao);printf("圖書分類 %sn",p->fenlei);printf("出版社 %sn",p->chuban);printf("出版時(shí)間 %dn",p->chubantime);printf("圖書價(jià)格 %.2fn",p->price); if(head=NULL) printf("<查無此書>n"
17、); if(b) printf("<查找的圖書信息不存在!>n"); /若b=1,則不存在 else if(i=2) printf("請輸入要查找的作者名:"); scanf("%s",writer); for(p=head;p!=NULL;p=p->next) /一個(gè)鏈表指針p的遍歷,直到結(jié)尾p=NULL if(strcmp(writer,p->writer)=0) /字符串的比較函數(shù),若前后相等則等于0 b=0; /若存在,則b=0 printf("找到要查找的圖書信息:n"); pri
18、ntf("圖書名稱 %sn",p->name);printf("圖書作者 %sn",p->writer); printf("圖書書號(hào) %sn",p->shuhao);printf("圖書分類 %sn",p->fenlei);printf("出版社 %sn",p->chuban);printf("出版時(shí)間 %dn",p->chubantime);printf("圖書價(jià)格 %.2fn",p->price); if(he
19、ad=NULL) printf("<查無此書>n"); if(b) printf("<查找的圖書信息不存在!>n"); /若b=1,則不存在 else if(i=3) printf("請輸入要查找的 書名 價(jià)格n:"); scanf("%s %d",name,&price); for(p=head;p!=NULL;p=p->next) /一個(gè)鏈表指針p的遍歷,直到結(jié)尾p=NULL if(strcmp(name,p->name)=0&&price=p->
20、;price) /字符串的比較函數(shù),若前后相等則等于0 b=0; /若存在,則b=0 printf("找到要查找的圖書信息:n");printf("圖書名稱 %sn",p->name);printf("圖書作者 %sn",p->writer); printf("圖書書號(hào) %sn",p->shuhao);printf("圖書分類 %sn",p->fenlei);printf("出版社 %sn",p->chuban);printf("出版時(shí)
21、間 %dn",p->chubantime);printf("圖書價(jià)格 %.2fn",p->price); if(head=NULL) printf("查無此書n"); if(b) printf("<查找的圖書信息不存在!>n"); /若b=1,則不存在 else printf("<沒有該項(xiàng)功能,請重新選擇:>n"); system("PAUSE"); /暫停 5.刪除圖書信息函數(shù)的原型:void shanchu()函數(shù)的功能:通過書名確定圖書,進(jìn)而刪
22、除該書程序:void shanchu() /刪除圖書信息 struct fi_info *p=NULL; /定義兩個(gè)結(jié)構(gòu)體指針 struct fi_info *q=NULL; char name10; int b=1; int a; printf("請輸入要?jiǎng)h除的書名:n"); scanf("%s",name); for(p=head,q=head;p!=NULL;p=p->next) if(strcmp(name,p->name)=0) b=0; printf("確定刪除? 0(是) or 1(否)n"); scanf(
23、"%d",&a); if(a=0) if(p=head) head=head->next; else q->next=p->next; printf("刪除成功!n"); else q=p; if(b) printf("<提示:查無此書!.n"); system("PAUSE"); 6.修改圖書信息函數(shù)的原型:void xiugai()函數(shù)的功能:通過書名確定圖書,進(jìn)而修改該書的各項(xiàng)信息程序:void xiugai() /修改圖書信息 struct fi_info *p=NULL;
24、int a,b=1; char name10; printf("請輸入書名:nn"); scanf("%s",name); for(p=head;p!=NULL;p=p->next) if(strcmp(p->name,name)=0) b=0; printf("圖書名稱 %sn",p->name); printf("圖書作者 %sn",p->writer); printf("圖書書號(hào) %sn",p->shuhao); printf("圖書分類 %sn&q
25、uot;,p->fenlei); printf("出版社 %sn",p->chuban); printf("出版時(shí)間 %dn",p->chubantime); printf("圖書價(jià)格 %.2fn",p->price); printf("<是否確定修改? 0 (是)or 1(否)>n"); scanf("%d",&a); if(a=0) printf("*請重新輸入信息*n"); printf("請輸入書名:")
26、; scanf("%s",p->name);printf("請輸入作者名:"); scanf("%s",p->writer);printf("請輸入書號(hào):"); scanf("%s",p->shuhao);printf("請輸入分類:"); scanf("%s",&p->fenlei); printf("請輸入出版社:"); scanf("%s",&p->chuban);
27、 printf("請輸入出版時(shí)間:"); scanf("%d",&p->chubantime);printf("請輸入價(jià)格:"); scanf("%f",&p->price); p->type=news; printf("nn <提醒:信息修改成功!>nn"); if(b=1) printf("<沒有您要修改的信息!>n"); system("PAUSE");7.顯示圖書信息 函數(shù)的原型:void
28、show()函數(shù)的功能:顯示已存圖書的各項(xiàng)信息程序:void show() /顯示圖書信息 struct fi_info *p=NULL;system("cls"); for(p=head;p!=NULL;p=p->next) printf("圖書名稱 %sn",p->name);printf("圖書作者 %sn",p->writer); printf("圖書書號(hào) %sn",p->shuhao);printf("圖書分類 %sn",p->fenlei);printf
29、("出版社 %sn",p->chuban);printf("出版時(shí)間 %dn",p->chubantime);printf("圖書價(jià)格 %.2fn",p->price); system("PAUSE");8.圖書排序函數(shù)的原型:void paixu()函數(shù)的功能:按出版時(shí)間的不同將記錄的圖書排序程序:void paixu() /按出版時(shí)間排序struct fi_info *a1000,*p,*p1,*temp;int i,k,index,n=0;char b;p1=head;for(p=head;p;p=p->next)n+;for(i=0;i<n;i+)ai=p1;p1=p1->next;for(k=0;k<n-1;k+)index=k;for(i=k+1;i<n;i+)if(aindex->chubantime>ai->chubantime)index=i; temp=aindex;aindex=ak;ak=temp;for(i=0;i<n;i+) printf("圖書書名 %sn",ai->name); printf(&q
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 IEC TR 63424-1:2024 EN Validation of dynamic power control and exposure time-averaging algorithms - Part 1: Cellular network implementations for SAR at frequencies up to 6 G
- 2025-2030年中國防曬霜產(chǎn)業(yè)競爭格局及發(fā)展盈利分析報(bào)告
- 2025-2030年中國鈹銅合金市場運(yùn)行態(tài)勢及投資策略分析報(bào)告
- 2025-2030年中國速凝劑市場運(yùn)行態(tài)勢規(guī)劃研究報(bào)告
- 2025-2030年中國茶黃素產(chǎn)業(yè)運(yùn)行趨勢及發(fā)展前景分析報(bào)告
- 2025遼寧省安全員-B證(項(xiàng)目經(jīng)理)考試題庫
- 2025-2030年中國節(jié)水灌溉行業(yè)運(yùn)行現(xiàn)狀及發(fā)展前景分析報(bào)告
- 2025年遼寧省建筑安全員知識(shí)題庫附答案
- 2025-2030年中國羥乙基皂莢膠行業(yè)市場運(yùn)行現(xiàn)狀及投資發(fā)展前景預(yù)測報(bào)告
- 2025-2030年中國硫酸氧釩行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究報(bào)告
- 2024年單招考試題
- 三年級(jí)數(shù)學(xué)下冊期末測試卷及答案【可打印】
- 蘇教版小學(xué)語文上冊教學(xué)研究論文
- 片狀鋅粉行業(yè)分析!中國片狀鋅粉行業(yè)市場發(fā)展前景研究報(bào)告(2024版)
- 公鐵兩用牽引車市場發(fā)展預(yù)測和趨勢分析
- 兒童繪本故事《我的情緒小怪獸》
- 部編版六年級(jí)下冊道德與法治全冊教案
- 3.1 導(dǎo)數(shù)的概念 課件 《高等數(shù)學(xué)》
- 2024版《供電營業(yè)規(guī)則》學(xué)習(xí)考試題庫500題(含答案)
- 供貨送貨服務(wù)承諾書
- G -B- 43630-2023 塔式和機(jī)架式服務(wù)器能效限定值及能效等級(jí)(正式版)
評(píng)論
0/150
提交評(píng)論