C語言課程設(shè)計報告圖書信息管理系統(tǒng)_第1頁
C語言課程設(shè)計報告圖書信息管理系統(tǒng)_第2頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C 語言課程設(shè)計報告圖書信息管理系統(tǒng)設(shè)計55071 -13陳 杰1指導(dǎo)老師:劉文中C 語言程序設(shè)計編程實踐是學(xué)習(xí) C 語言程序設(shè)計的一重要環(huán)節(jié),上機實習(xí)和課程設(shè)計是 提高同學(xué)們程序設(shè)計能力的有效途徑,能夠使同學(xué)們初步掌握程序設(shè)計的基 本方法和調(diào)試技能。學(xué) 校安排上機時間有限,老師也只能教給我們一些方法, 而我們自己需要投入很大的時間和精力來鍛煉。1、題目要求設(shè)計“圖書信息管理系統(tǒng)”要求:圖書信息包括:登錄號,書名,作者名,分類號,出版單位,出版時間,價格等。 使之提供以下功能:(1) 系統(tǒng)以菜單方式工作。(2) 圖書信息錄入功能。(圖書信息用文件保存)(3) 圖書信息瀏覽功能。(4) 圖書信息

2、查詢功能。(5) 圖書信息的刪除和修改。2、分析:根據(jù)題目要求,應(yīng)當(dāng)把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個全局變量 和文件指針進(jìn)行整個程序的運行,然后把圖書信息送到文件中,所以應(yīng)該提 供一個結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實現(xiàn)圖書信息錄入,瀏 覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實現(xiàn);另 外還需提供鍵盤式選擇菜單實現(xiàn)功能,在運行時達(dá)到所要目的。3、總體設(shè)計:根據(jù)題目要求,可以將系統(tǒng)分為六個模塊:管理員登錄系統(tǒng)模塊。菜單選擇模塊。圖書信息錄入功能模塊。圖書信息瀏覽功能。圖書信息查詢功能。圖書信息的刪除和修改。4、詳細(xì)設(shè)計:頭函數(shù)名:#in clude #in clu

3、de管理員登錄系統(tǒng)模塊:(1)來到圖書信息管理系統(tǒng)頁面void in dex()char in put;第 1 頁#in clude/* 圖書信息結(jié)構(gòu)體/*包括登錄號,書名,struct book inf int num” *char bname20;* charwname10;* charclanu m14 ;* charpubcom10;* charpubtime10 ;* floatprice;*;*/作者名,分類號,出版單位,出版時間,價格等*/登錄號書名作者名分類號出版單位 出版時間 價格(1)(2)(3)(4)(5)(6)注釋:運行時直接進(jìn)入 這個頁面prin tf(nnttt *

4、n)prin tf(ttt圖書信息管理系統(tǒng)n);prin tf(ttt*nnn)print(”-n);printf(tnt);in put=getchar();(2)管理員登陸進(jìn)入功能菜單頁面第 2 頁FILE *fp;struct man age pswd;if (fp=fope n(password.txt,r)=NULL)printf(nnntCannot open file!nt);elsedoprintf(nnt 請輸入管理員帳號:”);sca nf(%s, name);printf(nnt 請輸入管理員密碼:);sca nf(%s,password);fp=fope n(passw

5、ord.txt,r);fread(&pswd,sizeof(struct man age),1,fp); fclose(fp);w=strcmp(pswd.ma nage _n ame, 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_view();void change();void del();void book_sea

6、rch();void login();void pwchange();int in;char input;doprintf(nnnt- 歡迎使用信息管理系統(tǒng) -);printf(nnt1. 圖書信息錄入 n);printf(t2. 圖書信息瀏覽 n);printf(t3. 圖書信息查詢 n);printf(t4. 圖書信息刪除 n);printf(t5. 圖書信息修改 n);printf(t6. 退出管理模式 n);printf(nt 請選擇服務(wù)種類 :); scanf(%d,&in);if (in!=1&in!=2&in!=3&in!=4&in!=5&

7、amp;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;case 3: book_search(); break;case 4: del(); break;case 5: change();break;case 6: login(); break;注釋 菜單列出的服

8、務(wù)種類 從1,2,3, 4,5,6 所對應(yīng)的功能進(jìn)行選擇注釋 :選擇自己所需要后摁下數(shù)字鍵則 則進(jìn)入此功能頁面( 3) 圖 書信 息錄 入功 能模 塊void book_add()第 4 頁void adm_servelist(); void book_add(); int i=0,j; FILE *fp;char input;注struct bookinf books;struct bookinf book_taxis30; printf(nnnt- 請輸入圖書信息 -nn);printf(t 登錄號 :); scanf(%d,&books.num); printf(nt 書名 :)

9、;scanf(%s,books.bname); printf(nt 作者名 :); scanf(%s,books.wname);printf(nt 分類號 :); scanf(%s,books.clanum); printf(nt 出版單位 :);scanf(%s,books.pubcom); printf(nt 出版時間 :);scanf(%s,books.pubtime); printf(nt 價格 :); scanf(%f,&books.price); if(fp=fopen(book.txt,r)!=NULL)dofread(&book_taxisi,sizeof(st

10、ruct bookinf),1,fp); i=i+1;while(!feof(fp); fclose(fp); for (j=0;j=i;j+)if (books.num=book_taxisj.num)printf(nnnt 對不起 ,這個編號已經(jīng)使用過了 n); printf(t 按任意鍵返回管理菜單 ); input=getchar(); adm_servelist();break;:輸入的圖書信息是通過文件進(jìn)行 保存的if (fp=fopen(book.txt,r)=NULL)第 5 頁 fp=fopen(book.txt,w);elsefclose(fp); fp=fopen(boo

11、k.txt,a);fwrite(&books,sizeof(struct bookinf),1,fp);fclose(fp);printf(nnnt 信息輸入完畢 按任意鍵繼續(xù) n); input=getchar();adm_servelist();(4)圖書信息瀏覽功能模塊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.txt,r)=NULL)printf(nnnt

12、數(shù)據(jù)尚未初始化 nnt 請在管理菜單中增加圖書信息printf(ntnt);input=getchar();adm_servelist();elsedofread(&bookviewi,sizeof(struct bookinf),1,fp);i=i+1;while (!feof(fp);fclose(fp);n);doprintf(nt- 共有 %d 條記錄 -,i-1);printf(nnt 登錄號 : %dn,bookviewn.num);第 6 頁printf(nt 書名 : %sn,bookviewn.bname);printf(nt 作者名 : %sn,bookviewn.

13、wname); printf(nt 分類號 :%sn,bookviewn.clanum); printf(nt 出版單位 :%sn,bookviewn.pubcom); 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 已到達(dá)首頁 nt 按任意鍵重新選擇 ); input=ge

14、tchar();else n=n-1; break;case 2:if (n=i-2)printf(nt 已到達(dá)最末頁 nt 按任意鍵重新選擇 ); input=getchar();else n=n+1; break;case 3:adm_servelist();break;default:printf(nt 沒有這項服務(wù) nt 按任意鍵重新選擇 ); input=getchar();while (inp!=3);第 7 頁( 5)圖書信息修改與刪除功能模塊修改:void change(int x)int inp,i=0,j;void book_search();FILE *fp,*fp1;c

15、har input;struct bookinf books,book_taxis20;doprintf(nnnt 注意 : 您確定要修改該記錄嗎 ?n);prin tf(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-請輸入圖書信息

16、-nn);printf(t 登錄號 :);scanf(%d,&books.num);printf(nt 書名 :);scanf(%s,books.bname);printf(nt 作者名 :);scanf(%s,books.wname);printf(nt 分類號 :);scanf(%s,books.clanum);printf(nt 出版單位 :);scanf(%s,books.pubcom);printf(nt 出版時間 :); scanf(%s,books.pubtime);第 8 頁 printf(nt 價格 :);scanf(%f,&books.price);if (

17、fp1=fopen(book.txt,r)!=NULL)dofread(&book_taxisi,sizeof(struct bookinf),1,fp1); i=i+1;while(!feof(fp1);fclose(fp1);for (j=0;jx;j+)if (books.num=book_taxisj.num)printf(nnnt 對不起 ,這個編號已經(jīng)使用過了printf(t 按任意鍵返回管理菜單 ); printf(0);input=getchar(); book_search(); break;for (j=x+1;ji-2;j+)if (books.num=book_

18、taxisj.num)printf(nnnt 對不起 ,這個編號已經(jīng)使用過了printf(1);printf(t 按任意鍵返回管理菜單 );input=getchar(); book_search();break;book_taxisx=books; fp=fopen(book.txt,w); for (j=0;j2)fp=fopen(book.txt,w);第 10 頁for (j=0;jy;j+)fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp);fp=fopen(book.txt,a);for (j=y+1;j

19、i-1;j+)fwrite(&book_taxisj,sizeof(struct bookinf),1,fp);fclose(fp);elseremove(book.txt);printf(nnt 記錄已刪除 !nnt 按任意鍵返回 nt);input=getchar();adm_servelist();( 6) 圖書信息查詢功能模塊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.txt,r)=NULL)printf(nnnt 數(shù)據(jù)尚未初始化 nnt 請在管理菜單中增加圖書信息printf(ntnt);input=getchar();adm_servelist();elsedoprintf(nnnt1. 按圖書登錄號查詢 n);printf(nt2. 按圖書作者查詢 n);第 11 頁printf(nt3. 按圖書名查詢 n);printf(nt4. 回到主菜單 n);printf(nnt 請選擇查詢類別 :);scanf(%d,&inp);if (inp!=1&

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論