C語言圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告(共16頁)_第1頁
C語言圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告(共16頁)_第2頁
C語言圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告(共16頁)_第3頁
C語言圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告(共16頁)_第4頁
C語言圖書館管理系統(tǒng)課程設(shè)計(jì)報(bào)告(共16頁)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上高級(jí)語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 設(shè)計(jì)題目:*高校圖書館信息管理系統(tǒng) 姓 名: 專 業(yè): 計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí): 指導(dǎo)老師: 2012年01月01日 l 摘要l 緒論l 問題定義(或系統(tǒng)分析)l 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)l 調(diào)適與測(cè)試l 總結(jié)與心得l 附錄附錄一 源代碼附錄二 參考文獻(xiàn)*高校圖書館管理系統(tǒng)² 摘要【設(shè)計(jì)題目】圖書信息包括:登錄號(hào)、書名、作者名、分類號(hào)、出版單位、出版時(shí)間、價(jià)格等.試設(shè)計(jì)一圖書信息管理系統(tǒng),使之能提供以下功能:1)系統(tǒng)以菜單方式工作2)圖書信息錄入功能(圖書信息用文件保存)-輸入3)圖書信息瀏覽功能-輸出4)查詢和排序功能:(至少一種查

2、詢方式)-算法5)按書名查詢6)按作者名查詢7)圖書信息的刪除與修改(可選項(xiàng))*² 緒論【設(shè)計(jì)目的】1. 通過本次課程設(shè)計(jì)對(duì)c語言的充分編程和實(shí)際應(yīng)用進(jìn)一步熟悉和鞏固c語言語法知識(shí)和程序設(shè)計(jì)的基本方法。2. 因?yàn)榫幊叹哂屑?xì)致繁瑣的特點(diǎn),訓(xùn)練大家的編程素質(zhì),養(yǎng)成耐心細(xì)致的習(xí)慣。3. 鍛煉思維能力,養(yǎng)成多思考的習(xí)慣,同時(shí)有助于培養(yǎng)團(tuán)隊(duì)意識(shí)4. 了解大型程序的編寫過程,為以后編寫大型程序和開發(fā)軟件打下基礎(chǔ)。【設(shè)計(jì)要求】1. 掌握面相對(duì)象程序設(shè)計(jì)的功能抽象和數(shù)據(jù)抽象方法,掌握類,對(duì)象的使用的方法;2. 掌握數(shù)據(jù)類型的使及不同程序方式的應(yīng)用.3. 掌握函數(shù)使用技巧,包括函數(shù)類型的選擇,含參數(shù)的

3、傳遞方式等;4. 掌握使用數(shù)組,指針,引用,文件等編程的方法.5. 掌握C+流類庫的使用.6. 掌握C+模板的使用;7. 掌握中小型規(guī)模程序的設(shè)計(jì),開發(fā),調(diào)試的全過程.² 問題定義(或系統(tǒng)分析)【設(shè)計(jì)思路】根據(jù)題目要求,應(yīng)當(dāng)把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個(gè)全局變量和文件指針進(jìn)行整個(gè)程序的運(yùn)行,然后把圖書信息送到文件中去,所以應(yīng)該提供下個(gè)結(jié)構(gòu)體和文件的輸入等操作:在程序中需要實(shí)現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實(shí)現(xiàn):另外還需提供選擇菜單實(shí)現(xiàn)功能,在運(yùn)行時(shí)達(dá)到所要求的目的。² 總體設(shè)計(jì)與詳細(xì)設(shè)計(jì) 【總體設(shè)計(jì)】圖書館管理系統(tǒng)數(shù)據(jù)輸入

4、數(shù)據(jù)修改刪除數(shù)據(jù)添加查找瀏覽圖1 系統(tǒng)功能模塊圖 【詳細(xì)設(shè)計(jì)】1. 主函數(shù)主函數(shù)設(shè)計(jì)要求簡(jiǎn)潔,只提供部分提示語和函數(shù)的調(diào)用【程序】頭函數(shù)名:#include<stdio.h>#include<stdlib.h>#include<string.h>struct bookinf int num;/登錄號(hào) char bname20;/書名 char wname10;/ 作者名 char clanum14;/ 分類號(hào) char pubcom10;/出版單位 char pubtime10;/ 出版時(shí)間 float price;/價(jià)格;(1) 來到圖書信息管理系統(tǒng)頁面v

5、oid index() char input; printf("nnttt*n"); printf("ttt 圖書信息管理系統(tǒng)n"); printf("ttt*nnn"); printf(" -n"); printf("t<按任意鍵進(jìn)入>nt"); input=getchar(); (2)來到功能菜單頁面void adm_servelist() void book_add(); void book_view(); void change(); void del(); void boo

6、k_search(); void login(); void pwchange(); int in; char input; do printf("nnnt-歡迎使用信息管理系統(tǒng)-"); printf("nnt1.圖書信息錄入n"); printf("t2.圖書信息瀏覽n"); printf("t3.圖書信息查詢n"); printf("t4.圖書信息刪除n"); printf("t5.圖書信息修改n"); printf("t6.退出管理模式n"); pr

7、intf("nt請(qǐng)選擇服務(wù)種類:"); scanf("%d",&in); if (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&&in!=6) printf("nt沒有這項(xiàng)服務(wù)n"); printf("t按任意鍵重新選擇"); input=getchar(); while (in!=1&&in!=2&&in!=3&&in!=4&&in!=5&a

8、mp;&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; (3)圖書信息錄入功能模塊void book_add() void adm_servelist(); void book_add(); int i=0,j; FILE *fp; char input; struct bookinf b

9、ooks; struct bookinf book_taxis30; printf("nnnt-請(qǐng)輸入圖書信息-nn"); printf("t登錄號(hào):"); scanf("%d",&books.num); printf("nt書名:"); scanf("%s",books.bname); printf("nt作者名:"); scanf("%s",books.wname); printf("nt分類號(hào):"); scanf(&quo

10、t;%s",books.clanum); printf("nt出版單位:"); scanf("%s",books.pubcom); printf("nt出版時(shí)間:"); scanf("%s",books.pubtime); printf("nt價(jià)格:"); scanf("%f",&books.price); if (fp=fopen("book.txt","r")!=NULL) do fread(&book_t

11、axisi,sizeof(struct 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對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了n"); printf("t按任意鍵返回管理菜單"); input=getchar(); adm_servelist(); break; if (fp=fopen("book.txt","r")=NULL) fp=fop

12、en("book.txt","w"); else fclose(fp); fp=fopen("book.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_vie

13、w(); int inp,i=0,n=0; FILE *fp; char input; struct bookinf bookview20; if (fp=fopen("book.txt","r")=NULL) printf("nnnt數(shù)據(jù)尚未初始化nnt請(qǐng)?jiān)诠芾聿藛沃性黾訄D書信息n"); printf("nt<按任意鍵返回管理菜單>nt"); input=getchar(); adm_servelist(); else do fread(&bookviewi,sizeof(struct boo

14、kinf),1,fp); i=i+1; while (!feof(fp); fclose(fp); do printf("nt-共有%d條記錄-",i-1); printf("nnt登錄號(hào): %dn",bookviewn.num); printf("nt書名: %sn",bookviewn.bname); printf("nt作者名: %sn",bookviewn.wname); printf("nt分類號(hào): %sn",bookviewn.clanum); printf("nt出版單位

15、: %sn",bookviewn.pubcom); printf("nt出版時(shí)間: %sn",bookviewn.pubtime); printf("nt價(jià)格: %fn",bookviewn.price); printf("nnt1.上一頁t2.下一頁t3.回目錄n"); printf("nt請(qǐng)選擇:"); scanf("%d",&inp); switch (inp) case 1: if (n=0) printf("nt已到達(dá)首頁nt按任意鍵重新選擇");

16、 input=getchar(); 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沒有這項(xiàng)服務(wù)nt按任意鍵重新選擇"); input=getchar(); while (inp!=3);(5)圖書信息修改與刪除功能模塊修改: void change(int x) int inp,i=0,j; v

17、oid book_search(); FILE *fp,*fp1; char input; struct bookinf books,book_taxis20; do printf("nnnt注意:您確定要修改該記錄嗎?n"); printf("nt1.是t2.否n"); printf("nt請(qǐng)輸入:"); scanf("%d",&inp); if (inp!=1&&inp!=2) printf("nt對(duì)不起沒有這項(xiàng)服務(wù)n"); printf("t按任意鍵重新選

18、擇nt"); input=getchar(); while (inp!=1&&inp!=2); if (inp=2) book_search(); if (inp=1) printf("nnnt-請(qǐng)輸入圖書信息-nn"); printf("t登錄號(hào):"); scanf("%d",&books.num); printf("nt書名:"); scanf("%s",books.bname); printf("nt作者名:"); scanf(&quo

19、t;%s",books.wname); printf("nt分類號(hào):"); scanf("%s",books.clanum); printf("nt出版單位:"); scanf("%s",books.pubcom); printf("nt出版時(shí)間:");scanf("%s",books.pubtime); printf("nt價(jià)格:"); scanf("%f",&books.price); if (fp1=fopen(

20、"book.txt","r")!=NULL) do fread(&book_taxisi,sizeof(struct bookinf),1,fp1); i=i+1; while(!feof(fp1); fclose(fp1); for (j=0;j<x;j+) if (books.num=book_taxisj.num) printf("nnnt對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了n"); printf("t按任意鍵返回管理菜單"); printf("0"); input=getchar(

21、); book_search(); break; for (j=x+1;j<i-2;j+) if (books.num=book_taxisj.num) printf("nnnt對(duì)不起,這個(gè)編號(hào)已經(jīng)使用過了n"); printf("1"); printf("t按任意鍵返回管理菜單"); input=getchar(); book_search(); break; book_taxisx=books; fp=fopen("book.txt","w"); for (j=0;j<i-1;j

22、+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); printf("nnt信息修改完成!按任意鍵返回"); input=getchar();book_search(); 刪除:void del(int y) char input; FILE *fp; int inp,i=0,j; struct bookinf book_taxis20; void book_search(); void adm_servelist(); do printf("nnnt注意:您確定要?jiǎng)h除該記錄嗎?n

23、"); printf("nt1.是t2.否n"); printf("nt請(qǐng)輸入:"); scanf("%d",&inp); if (inp!=1&&inp!=2) printf("nt對(duì)不起沒有這項(xiàng)服務(wù)n"); printf("t按任意鍵重新選擇nt"); input=getchar(); while (inp!=1&&inp!=2); if (inp=2) book_search(); if (inp=1) if (fp=fopen("

24、;book.txt","r")!=NULL) do fread(&book_taxisi,sizeof(struct bookinf),1,fp); i=i+1; while(!feof(fp); fclose(fp); if (i>2) fp=fopen("book.txt","w"); for (j=0;j<y;j+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); fp=fopen("book.txt&qu

25、ot;,"a"); for (j=y+1;j<i-1;j+) fwrite(&book_taxisj,sizeof(struct bookinf),1,fp); fclose(fp); else remove("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請(qǐng)?jiān)诠芾聿藛沃性黾訄D書信息n"); printf("nt<按任意鍵返回管理菜單>nt"); input=getchar(); adm_servelist(); else do printf("nnnt1.按

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論