




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、-. z.C語言課程設(shè)計報告圖書信息管理系統(tǒng)設(shè)計55071-13 杰指導(dǎo)老師:文中C 語言程序設(shè)計編程實踐是學(xué)習C語言程序設(shè)計的一重要環(huán)節(jié),上機實習和課程設(shè)計是提高同學(xué)們程序設(shè)計能力的有效途徑,能夠使同學(xué)們初步掌握程序設(shè)計的基本方法和調(diào)試技能。學(xué)校安排上機時間有限,老師也只能教給我們一些方法,而我們自己需要投入很大的時間和精力來鍛煉。1、題目要求設(shè)計圖書信息管理系統(tǒng)”要求:圖書信息包括:登錄號,書名,作者名,出版單位,出版時間,價格等。使之提供以下功能:系統(tǒng)以菜單方式工作。圖書信息錄入功能。(圖書信息用文件保存)。圖書信息瀏覽功能。圖書信息查詢功能。圖書信息的刪除和修改。2、分析:根據(jù)題目要求
2、,應(yīng)當把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個全局變量和文件指針進行整個程序的運行,然后把圖書信息送到文件中,所以應(yīng)該提供一個結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實現(xiàn);另外還需提供鍵盤式選擇菜單實現(xiàn)功能,在運行時達到所要目的。3、總體設(shè)計:根據(jù)題目要求,可以將系統(tǒng)分為六個模塊:管理員登錄系統(tǒng)模塊。菜單選擇模塊。圖書信息錄入功能模塊。圖書信息瀏覽功能。圖書信息查詢功能。圖書信息的刪除和修改。 第1頁管理員登錄系統(tǒng)模塊菜單選擇模塊。菜單選擇模塊。菜單選擇模塊。菜單菜單選擇模塊。擇模塊。圖書信息錄入功能模塊圖書信息瀏覽功
3、能模塊圖書信息查詢功能模塊圖書信息的刪除和修改圖書信息管理系統(tǒng)4、詳細設(shè)計:頭函數(shù)名:#include#include#include/*圖書信息結(jié)構(gòu)體*/*包括登錄號,書名,作者名,出版單位,出版時間,價格等*/struct bookinf int num; *登錄號 char bname20;* 書名 char wname10;* 作者名 char clanum14;* char pub10;* 出版單位 char pubtime10;* 出版時間 float price;* 價格;一管理員登錄系統(tǒng)模塊:來到圖書信息管理系統(tǒng)頁面void inde*() char input;注釋:運行時
4、printf(nnttt*n);直接進入 printf(ttt 圖書信息管理系統(tǒng)n); 這個頁面 printf(ttt*nnn); printf( -n); printf(tnt); input=getchar(); 管理員登陸進入功能菜單頁面第2頁開始輸入管理員*和密碼輸入正確與否進入功能菜單頁面結(jié)束NFILE *fp;struct manage pswd; if (fp=fopen(password.t*t,r)=NULL) printf(nnntCannot open file!nt); else do printf(nnt請輸入管理員:); scanf(%s,name); printf
5、(nnt請輸入管理員密碼:); scanf(%s,password); fp=fopen(password.t*t,r); fread(&pswd,sizeof(struct manage),1,fp); fclose(fp); w=strcmp(pswd.manage_name,name); k=strcmp(pswd.password,password); adm_servelist(); while (w!=0|k!=0); adm_servelist(); (3)來到功能菜單頁面第3頁void adm_servelist() void book_add(); void book_vie
6、w(); void change(); void del(); void book_search(); void login(); void pwchange(); int in;注釋:菜單列出的服務(wù)種類 char input;從1,2,3,4,5,6 do 所對應(yīng)的功能進行選擇 printf(nnnt-歡迎使用信息管理系統(tǒng)-); printf(nnt1.圖書信息錄入n); printf(t2.圖書信息瀏覽n); printf(t3.圖書信息查詢n); printf(t4.圖書信息刪除n); printf(t5.圖書信息修改n); printf(t6.退出管理模式n); printf(nt請選
7、擇服務(wù)種類:); scanf(%d,&in); if (in!=1&in!=2&in!=3&in!=4&in!=5&in!=6) printf(nt沒有這項服務(wù)n); printf(t按任意鍵重新選擇); input=getchar(); while (in!=1&in!=2&in!=3&in!=4&in!=5&in!=6); switch (in) case 1: book_add(); break; 注釋:選擇自己所需要 case 2: book_view(); break;后摁下數(shù)字鍵則 case 3: book_search(); break;則進入此功能頁面 case 4: del(
8、); break; case 5: change();break; case 6: login(); break; 圖書信息錄入功能模塊void book_add() 第4頁void adm_servelist(); void book_add(); int i=0,j; FILE *fp; char input;注釋:輸入的圖書信息 struct bookinf books;是通過文件進行 struct bookinf book_ta*is30; 保存的 printf(nnnt-請輸入圖書信息-nn); printf(t登錄號:); scanf(%d,&books.num); printf(
9、nt書名:); scanf(%s,books.bname); printf(nt作者名:); scanf(%s,books.wname); printf(nt:); scanf(%s,books.clanum); printf(nt出版單位:); scanf(%s,books.pub); printf(nt出版時間:); scanf(%s,books.pubtime); printf(nt價格:); scanf(%f,&books.price); if (fp=fopen(book.t*t,r)!=NULL) do fread(&book_ta*isi,sizeof(struct bookin
10、f),1,fp); i=i+1; while(!feof(fp); fclose(fp); for (j=0;j=i;j+) if (books.num=book_ta*isj.num) printf(nnnt對不起,這個編號已經(jīng)使用過了n); printf(t按任意鍵返回管理菜單); input=getchar(); adm_servelist(); break; if (fp=fopen(book.t*t,r)=NULL) 第5頁fp=fopen(book.t*t,w); else fclose(fp); fp=fopen(book.t*t,a); fwrite(&books,sizeof
11、(struct bookinf),1,fp); fclose(fp); printf(nnnt信息輸入完畢按任意鍵繼續(xù)n); input=getchar(); adm_servelist();圖書信息瀏覽功能模塊void book_view() void adm_servelist(); void book_view(); int inp,i=0,n=0; FILE *fp; char input; struct bookinf bookview20; if (fp=fopen(book.t*t,r)=NULL) printf(nnnt數(shù)據(jù)尚未初始化nnt請在管理菜單中增加圖書信息n); pr
12、intf(ntnt); input=getchar(); adm_servelist(); else do fread(&bookviewi,sizeof(struct bookinf),1,fp); i=i+1; while (!feof(fp); fclose(fp); do printf(nt-共有%d條記錄-,i-1); printf(nnt登錄號: %dn,bookviewn.num);第6頁printf(nt書名: %sn,bookviewn.bname); printf(nt作者名: %sn,bookviewn.wname); printf(nt: %sn,bookviewn.c
13、lanum); printf(nt出版單位: %sn,bookviewn.pub); printf(nt出版時間: %sn,bookviewn.pubtime); printf(nt價格: %fn,bookviewn.price); printf(nnt1.上一頁t2.下一頁t3.回目錄n); printf(nt請選擇:); scanf(%d,&inp); switch (inp) case 1: if (n=0) printf(nt已到達首頁nt按任意鍵重新選擇); input=getchar(); else n=n-1; break; case 2: if (n=i-2) printf(n
14、t已到達最末頁nt按任意鍵重新選擇); input=getchar(); else n=n+1; break; case 3: adm_servelist(); break; default: printf(nt沒有這項服務(wù)nt按任意鍵重新選擇); input=getchar(); while (inp!=3);第7頁圖書信息修改與刪除功能模塊修改:void change(int *) int inp,i=0,j; void book_search(); FILE *fp,*fp1; char input; struct bookinf books,book_ta*is20; do print
15、f(nnnt注意:您確定要修改該記錄嗎n); printf(nt1.是t2.否n); printf(nt請輸入:); scanf(%d,&inp); if (inp!=1&inp!=2) printf(nt對不起沒有這項服務(wù)n); printf(t按任意鍵重新選擇nt); input=getchar(); while (inp!=1&inp!=2); if (inp=2) book_search(); if (inp=1) printf(nnnt-請輸入圖書信息-nn); printf(t登錄號:); scanf(%d,&books.num); printf(nt書名:); scanf(%s,
16、books.bname); printf(nt作者名:); scanf(%s,books.wname); printf(nt:); scanf(%s,books.clanum); printf(nt出版單位:); scanf(%s,books.pub); printf(nt出版時間:); scanf(%s,books.pubtime);第8頁printf(nt價格:); scanf(%f,&books.price); if (fp1=fopen(book.t*t,r)!=NULL) do fread(&book_ta*isi,sizeof(struct bookinf),1,fp1); i=i
17、+1; while(!feof(fp1); fclose(fp1); for (j=0;j*;j+) if (books.num=book_ta*isj.num) printf(nnnt對不起,這個編號已經(jīng)使用過了n); printf(t按任意鍵返回管理菜單); printf(0); input=getchar(); book_search(); break; for (j=*+1;ji-2;j+) if (books.num=book_ta*isj.num) printf(nnnt對不起,這個編號已經(jīng)使用過了n); printf(1); printf(t按任意鍵返回管理菜單); input=
18、getchar(); book_search(); break; book_ta*is*=books; fp=fopen(book.t*t,w); for (j=0;j2) fp=fopen(book.t*t,w); 第10頁 for (j=0;jy;j+) fwrite(&book_ta*isj,sizeof(struct bookinf),1,fp); fclose(fp); fp=fopen(book.t*t,a); for (j=y+1;ji-1;j+) fwrite(&book_ta*isj,sizeof(struct bookinf),1,fp); fclose(fp); else
19、 remove(book.t*t); printf(nnt記錄已刪除!nnt按任意鍵返回nt); input=getchar(); adm_servelist(); 圖書信息查詢功能模塊void book_search() void adm_servelist(); void id_search(); void wr_search(); void bn_search(); char input; FILE *fp; int inp; if (fp=fopen(book.t*t,r)=NULL) printf(nnnt數(shù)據(jù)尚未初始化nnt請在管理菜單中增加圖書信息n); printf(ntnt); input=getchar(); adm_servelist(); else do printf(nnnt1.按圖書登錄號查詢n); printf(nt2.按圖書作者查詢n);第11頁printf(nt3.按圖書名查詢n); printf(nt4.回到主菜單n); printf(nnt請選擇查詢類別:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公路開挖合同范本
- 買衣服購銷合同范本
- 養(yǎng)殖配件小窗采購合同范本
- 京津冀外包合同范本
- 農(nóng)民承包樹苗合同范本
- 企業(yè)定制酒合同范本
- 出售農(nóng)機全套紙合同范本
- 半日制合同范本
- 單位門衛(wèi)聘用合同范本
- 北京正規(guī)購車合同范本
- EPC工程總承包竣工驗收管理方案
- 工會總帳科目表
- 發(fā)動機正時類寶馬m54圖
- 部編版四年級《道德與法治》下冊《說話要算數(shù)》教學(xué)設(shè)計
- 錦州港方塊碼頭畢業(yè)設(shè)計說明書
- 全身體格檢查總結(jié)及評分標準
- GB/T 17689-2008土工合成材料塑料土工格柵
- 聚氯乙烯(PVC)課件
- 裝飾施工工藝課件
- 《老人與?!氛n件31張 統(tǒng)編版高中語文選擇性必修上冊
- 旅游規(guī)劃收費標準
評論
0/150
提交評論