




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言高級(jí)程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 一、 設(shè)計(jì)題目名稱 圖書管理 (Tip 圖書屬性:編號(hào),書名,作者,單價(jià),數(shù)量,出版社。)二、 程序基本要求(1)主菜單設(shè)計(jì):按基本要求進(jìn)行(2)記錄輸入:對(duì)每一種圖書的編號(hào)、書名、作者、單價(jià)、數(shù)量、出版社,進(jìn)行輸入并存儲(chǔ)在數(shù)據(jù)文件中。(3)顯示記錄:按書名或作者順序(本次是按照書名的首字母順序)顯示全部圖書記錄(4)維護(hù)記錄:能夠?qū)崿F(xiàn)添加、刪除、修改圖書記錄,結(jié)果存儲(chǔ)到文件中。修改紀(jì)錄可以對(duì)任意記錄的數(shù)據(jù)進(jìn)行修改并在修改前后對(duì)記錄內(nèi)容進(jìn)行顯示;刪除記錄可以刪除文件中的任意一個(gè)紀(jì)錄。(5)查詢記錄。根據(jù)編號(hào)、書名、作者等查詢圖書的信息。如:根據(jù)編號(hào)顯示某種圖書的
2、記錄;根據(jù)書名顯示記錄;根據(jù)作者顯示其所著書籍,可能有多個(gè)記錄。(6)統(tǒng)計(jì)記錄。計(jì)算每種圖書的總價(jià)值,并以列表的方式顯示;計(jì)算某作者所著的圖書數(shù)量。(7)自行檢驗(yàn):設(shè)計(jì)、輸入圖書數(shù)據(jù)記錄,基本與實(shí)踐情況相似,記錄數(shù)不少于10條,能反應(yīng)以上所有要求。三、 程序設(shè)計(jì)思想圖書管理系統(tǒng)退出本系統(tǒng)修改圖書記錄刪除圖書記錄增加圖書記錄查詢圖書記錄統(tǒng)計(jì)圖書記錄顯示圖書記錄新建圖書記錄主菜單四、 程序步驟 /*包含預(yù)定義函數(shù)的頭文件*/#include #include #include #include #include /*定義全局變量*/struct record /*建立一個(gè)類型為struct rec
3、ord的結(jié)構(gòu)體*/ char id20; /*編號(hào)*/ char sm20; /*書名*/ char zz10; /*作者*/ double dj; /*單價(jià)*/ int sl; /*數(shù)量*/ char cbs10; /*出版社*/ int pd; /*0/1排序判斷*/ struct record *next; /*下一圖書信息的頭指針*/;struct record BOOK1000; /*定義寬度為1000的名為BOOK的結(jié)構(gòu)體數(shù)組*/int NUM; /*用于計(jì)數(shù)輸入記錄的次數(shù);用于表示結(jié)構(gòu)體數(shù)組變量的下標(biāo)*/FILE *fp; /*文件指針*/void new_record(); /
4、*記錄輸入*/void browse(); /*顯示記錄*/void append(); /*尾加記錄*/void delet(); /*刪除記錄*/void modi(); /*修改記錄*/void search(); /*查詢記錄*/void cout(); /*統(tǒng)計(jì)記錄*/*編寫主函數(shù)*/int main() int choice=1; /*用于選擇功能對(duì)應(yīng)的序號(hào)鍵*/ while(choice) system(cls); /*系統(tǒng)自帶的清屏功能,下同*/printf(nn); printf(ntt-歡迎使用圖書管理系統(tǒng)-n); printf(ntt-Welcome to use Pay
5、roll System!-); printf(ntt);/*提取系統(tǒng)時(shí)間的時(shí)間函數(shù)*/ time_t rawtime; struct tm * timeinfo; time ( &rawtime ); timeinfo = localtime ( &rawtime ); printf( 尊敬的用戶,您好!n); printf(tt); printf( 您于n); printf(tt); printf( %s, asctime (timeinfo) ); printf(tt); printf( 開始使用本系統(tǒng));printf(ntt);/*主菜單頁(yè)面的構(gòu)建*/printf(ntt主菜單);pri
6、ntf(ntt );printf(ntt*1-新建圖書記錄*);printf(ntt*2-顯示圖書記錄*);printf(ntt*3-增加圖書記錄*);printf(ntt*4-刪除圖書記錄*);printf(ntt*5-修改圖書記錄*);printf(ntt*6-查詢圖書記錄*);printf(ntt*7-統(tǒng)計(jì)圖書記錄*);printf(ntt*0-退出本系統(tǒng)*);printf(ntt );printf(ntt);printf(ntt:);scanf(%1d,&choice);/*新建前先判斷是否有數(shù)據(jù)記錄*/if(choice!=1&NUM=0) if (fp=fopen(BOOK.dat
7、,r)!=NULL) while (fread(&BOOKNUM,1,sizeof(struct record),fp) NUM+;else printf(There is no data!);continue;/*swtch語(yǔ)句的功能選擇*/switch (choice)case 0:exit(0); /*退出本系統(tǒng)*/case 1:new_record(); /*新建圖書記錄*/break;case 2:browse(); /*顯示圖書記錄*/break; case 3:append(); /*增加圖書記錄*/break;case 4:delet(); /*刪除圖書記錄*/break; c
8、ase 5:modi(); /*修改圖書記錄*/break;case 6: search(); /*查詢圖書記錄*/break;case 7:cout(); /*統(tǒng)計(jì)圖書記錄*/break;/*1-新建圖書記錄功能*/void new_record()char c;system(cls);printf(ntt*您正在使用圖書信息輸入功能*);printf(ntt);printf( 請(qǐng)輸入第%d本圖書的信息,NUM+1);printf(ntt請(qǐng)輸入編號(hào):);scanf(%s,BOOKNUM.id);printf(ntt請(qǐng)輸入書名:);scanf(%s, BOOKNUM.sm);printf(nt
9、t請(qǐng)輸入作者:);scanf(%s, BOOKNUM.zz);printf(ntt請(qǐng)輸入單價(jià):);scanf(%lf, &BOOKNUM.dj);printf(ntt請(qǐng)輸入數(shù)量:);scanf(%d, &BOOKNUM.sl);printf(ntt請(qǐng)輸入出版社:);scanf(%s, BOOKNUM.cbs);printf(ntt是否繼續(xù)添加貨物信息(y/n=yes/no):); /*詢問(wèn)用戶是否繼續(xù)輸入下一圖書記錄*/getchar(); /*緩?fù)W饔?/ NUM+; /*已經(jīng)記錄的書籍?dāng)?shù)自動(dòng)加1*/scanf(%c, &c); if (c = y) BOOKNUM.next=&BOOKNU
10、M+1;new_record(); else BOOKNUM.next=NULL;fp=fopen(BOOK.dat,w); fwrite(BOOK,sizeof(struct record),NUM,fp);return; /*2-顯示圖書記錄功能*/void browse()int i,j;int p1000;char cid20;for(i=0;iNUM;i+)BOOKi.pd=1;for(i=0;iNUM;i+) for(j=0;jNUM ;j+) if(BOOKj.pd) strcpy(cid,BOOKj.sm);pi=j; for(j=0;jNUM;j+) if(strcmp(BO
11、OKj.sm,cid)0&BOOKj.pd) pi=j; BOOKpi.pd=0;system(cls);if (NUM != 0)printf(nt-您正在使用按書名排序功能-);printf(nnt序號(hào)t編號(hào)t書名t作者t 單價(jià)t 數(shù)量t出版社n);for(i = 0; i NUM; i+) printf(t %dt %s t%s t%s t%ft%dt %sn,i + 1,BOOKpi.id,BOOKpi.sm,BOOKpi.zz,BOOKpi.dj,BOOKpi.sl,BOOKpi.cbs);getchar();printf(nt-);elseprintf(nttSorry,there
12、 is no data!);printf(nnt Press Enter to return to the main menu :);getchar();return;/*3-增加圖書記錄功能*/void append()char c;system(cls);printf(ntt*您正在使用圖書信息添加功能*);printf(ntt請(qǐng)輸入編號(hào):);scanf(%s,BOOKNUM.id);printf(ntt請(qǐng)輸入書名:);scanf(%s, BOOKNUM.sm);printf(ntt請(qǐng)輸入作者:);scanf(%s, BOOKNUM.zz);printf(ntt請(qǐng)輸入單價(jià):);scanf(
13、%lf, &BOOKNUM.dj);printf(ntt請(qǐng)輸入數(shù)量:);scanf(%d, &BOOKNUM.sl);printf(ntt請(qǐng)輸入出版社:);scanf(%s, BOOKNUM.cbs);printf(ntt是否繼續(xù)添加圖書信息(y/n):);getchar(); BOOKNUM-1.next=&BOOKNUM;scanf(%c, &c);if (c = y) BOOKNUM.next=&BOOKNUM+1; new_record();else BOOKNUM.next=NULL;NUM+;fp=fopen(BOOK.dat,w); fwrite(BOOK,sizeof(stru
14、ct record),NUM,fp);return;/*4-刪除圖書記錄功能*/void delet()char cid20;int i,p=0;system(cls);printf(ntt*您正在使用圖書信息刪除功能*);printf(ntt請(qǐng)輸入要?jiǎng)h除的圖書編號(hào):);scanf(%s,cid);for(i=0;iNUM;i+)if(strcmp(BOOKi.id,cid)=0)p=1;break;if(p)for(;iNUM-1;i+)/*用后者信息替換前者信息,實(shí)現(xiàn)刪除功能*/ strcpy(BOOKi.id,BOOKi+1.id); strcpy(BOOKi.sm,BOOKi+1.sm
15、); strcpy(BOOKi.zz,BOOKi+1.zz); BOOKi.dj=BOOKi+1.dj; BOOKi.sl=BOOKi+1.sl; strcpy(BOOKi.cbs,BOOKi+1.cbs); BOOKi.next=&BOOKi+1; BOOKi.next=NULL; fp=fopen(BOOK.dat,w); fwrite(BOOK,sizeof(struct record),i,fp); NUM-;else printf(nttInvalid operation!n); getchar();return;/*5-修改圖書記錄功能*/void modi()char cid20
16、;int i,p=0;system(cls);printf(ntt*您正在使用圖書信息修改功能*);printf(ntt請(qǐng)輸入要修改的圖書編號(hào):);scanf(%s,cid);for(i=0;iNUM;i+)if(strcmp(BOOKi.id,cid)=0)p=1;break;if(p)system(cls);printf(ntt*請(qǐng)輸入圖書修改信息*);printf(ntt請(qǐng)輸入編號(hào):);scanf(%s,BOOKi.id);printf(ntt請(qǐng)輸入書名:);scanf(%s, BOOKi.sm);printf(ntt請(qǐng)輸入作者:);scanf(%s, BOOKi.zz);printf(
17、ntt請(qǐng)輸入單價(jià):);scanf(%lf, &BOOKi.dj);printf(ntt請(qǐng)輸入數(shù)量:);scanf(%d, &BOOKi.sl);printf(ntt請(qǐng)輸入出版社:);scanf(%s, BOOKi.cbs); printf(nttCongratulation!-Successfully modifiedn); printf(nttPress Enter to replace: ); getchar();fp=fopen(BOOK.dat,w); fwrite(BOOK,sizeof(struct record),i,fp);else printf(nttInvalid oper
18、ation!n); getchar();return;/*6-查詢圖書記錄功能*/void search() int choice,p=0,i; char cid20;system(cls);printf(ntt-您正在使用圖書信息查詢功能系統(tǒng)-n);printf(ntt查詢子菜單);printf(ntt );printf(ntt*1-根據(jù)編號(hào)查詢*);printf(ntt*2-根據(jù)書名查詢*);printf(ntt*3-根據(jù)作者查詢*);printf(ntt*4-根據(jù)出版社查詢*);printf(ntt*0-退出本系統(tǒng)*);printf(ntt );printf(ntt);printf(nt
19、t請(qǐng)選擇所需要的功能:);scanf(%1d,&choice);if(choice)system(cls);printf(ntt*請(qǐng)輸入查詢關(guān)鍵字*);printf(ntt您要找的關(guān)鍵字:);scanf(%s,cid); switch (choice)case 0: return;case 1: system(cls); if (NUM != 0) printf(nt-搜索結(jié)果如下-); printf(nnt序號(hào)t編號(hào)t書名t作者t 單價(jià)t 數(shù)量t 出版社n); for(i = 0; i NUM; i+) if(strcmp(BOOKi.id,cid)=0) printf(t%dt%st%st
20、%st%ft%dt%sn,i + 1,BOOKi.id,BOOKi.sm,BOOKi.zz,BOOKi.dj,BOOKi.sl,BOOKi.cbs);printf(nt -); printf(nnt Press Enter to return :);getchar(); break;case 2: system(cls); if (NUM != 0) printf(nt-搜索結(jié)果如下-); printf(nnt序號(hào)t編號(hào)t書名t作者t 單價(jià)t 數(shù)量t 出版社n); for(i = 0; i NUM; i+) if(strcmp(BOOKi.sm,cid)=0) printf(t%dt%st%s
21、t%st%ft%dt%sn,i + 1,BOOKi.id,BOOKi.sm,BOOKi.zz,BOOKi.dj,BOOKi.sl,BOOKi.cbs);printf(nt -);printf(nnt Press Enter to return :);getchar(); break; case 3: system(cls); if (NUM != 0) printf(nt-搜索結(jié)果如下-); printf(nnt序號(hào)t編號(hào)t書名t作者t 單價(jià)t 數(shù)量t 出版社n); for(i = 0; i NUM; i+) if(strcmp(BOOKi.zz,cid)=0) printf(t%dt%st%
22、st%st%ft%dt%sn,i + 1,BOOKi.id,BOOKi.sm,BOOKi.zz,BOOKi.dj,BOOKi.sl,BOOKi.cbs);printf(nt -);printf(nnt Press Enter to return :);getchar(); break;case 4: system(cls); if (NUM != 0) printf(nt-搜索結(jié)果如下-); printf(nnt序號(hào)t編號(hào)t書名t作者t 單價(jià)t 數(shù)量t 出版社n); for(i = 0; i NUM; i+) if(strcmp(BOOKi.cbs,cid)=0) printf(t%dt%st%st%st%ft%dt%sn,i + 1,BOOKi.id,BOOKi.sm,BOOKi.zz,BOOKi.dj,BOOKi.sl,BOOKi.cbs);printf(nt -);printf(nnt Press Enter to return :);getchar(); break;default:printf(nttSorry,there is no data!);getchar();/*7-統(tǒng)計(jì)圖書記錄功能*/void cout() int choice=1,i,z=0;
溫馨提示
- 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)目借款合同范本
- 2025年油田工程技術(shù)服務(wù)項(xiàng)目發(fā)展計(jì)劃
- 2025年度人工智能應(yīng)用信息技術(shù)咨詢合同范本
- 2025年度二手房意向金合同范本(含交易保障)
- 2025年度互聯(lián)網(wǎng)+教育平臺(tái)共建合同
- 提高工作效率的策略計(jì)劃
- 如何提升社區(qū)參與感計(jì)劃
- 激發(fā)居民參與社區(qū)建設(shè)的動(dòng)力計(jì)劃
- 2025年鑄造造型材料合作協(xié)議書
- 2025年隔膜電解裝置合作協(xié)議書
- YB-4001.1-2007鋼格柵板及配套件-第1部分:鋼格柵板(中文版)
- 初中語(yǔ)文跨學(xué)科資源融合教學(xué)研究
- 2023年廣西區(qū)考公務(wù)員錄用考試《行測(cè)》(含答案及解析)【可編輯】
- 傷寒診療指南
- 春秋季六年級(jí)奧數(shù)培訓(xùn)教材全0
- 【實(shí)用資料】食物中毒現(xiàn)場(chǎng)衛(wèi)生學(xué)采樣PPT
- 鋼結(jié)構(gòu)工程施工施工質(zhì)量控制與驗(yàn)收
- 運(yùn)輸車輛衛(wèi)生安全檢查記錄表
- 過(guò)敏性肺泡炎課件
- 客運(yùn)車輛進(jìn)站協(xié)議書
- 藥劑師先進(jìn)個(gè)人主要事跡范文(建議8篇)
評(píng)論
0/150
提交評(píng)論