下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、1、 問題概述(對問題背景及主要實現(xiàn)的功能進行簡要說明。)隨著圖書館圖書的不斷增加,圖書管理的難度也隨之加大,一個好的圖書館圖書信息管理系統(tǒng),能夠使圖書管理工作簡便,有條不紊。通過 C 語言學(xué)習(xí),我們已經(jīng)能夠完成基本的C 語言編程,此次實訓(xùn),是將學(xué)習(xí)和實踐結(jié)合,充分感受C 語言解決實踐問題的魅力。此次編寫的圖書館信息管理系統(tǒng),能夠?qū)崿F(xiàn)基本的圖書管理功能。它包括圖書庫的創(chuàng)建,打印圖書信息表,錄入新圖書,修改圖書信息,刪除圖書信息,借書,還書。圖書庫包含圖書的各方面信息,編號,類型,作者,出版社,總數(shù),剩余量等等,并且打印圖書信息表。錄入,修改,刪除這些功能都是對圖書庫的操作。借書,還書這兩項最重
2、要的功能也都能很好的實現(xiàn)。把此系統(tǒng)應(yīng)用于圖書館的圖書管理,能使圖書館的各項工作便捷,可靠的完成。2、 系統(tǒng)目標(主要是對系統(tǒng)技術(shù)目標和要求) 歡迎界面、主菜單、系統(tǒng)管理功能、圖書信息管理、借閱功能模塊、其中系統(tǒng)管理功能包括系統(tǒng)管理員添加、刪除、修改信息以及用管理員身份登錄系統(tǒng)等功能。圖書信息管理包括新增圖書、修改圖書、刪除圖書、等功能。借閱功能模塊包括借書功能、還書功能、查詢已借圖書、查詢過期未還圖書,其中借書還書功能可以按圖書編號信息進行操作。3、 設(shè)計的過程及步驟1、需求分析(描述系統(tǒng)需求,既詳細分析系統(tǒng)需求和功能)根據(jù)題目要求,應(yīng)當把圖書信息用結(jié)構(gòu)體形式輸入,再定義一個全局變量和文件指針
3、進行整個程序的運行,然后把圖書信息送到文件中, 所以應(yīng)該提供一個結(jié)構(gòu)體和文件的輸入輸出等操作;在程序中需實現(xiàn)圖書信息錄入,瀏覽,查詢,刪除和修改等功能的操作,所以需要建立相應(yīng)的模塊來實現(xiàn);另外還需提供鍵盤式選擇菜單實現(xiàn)功能,在運行時達到所要目的。2、設(shè)計文件結(jié)構(gòu)(設(shè)計文件結(jié)構(gòu),并扼要說明設(shè)計緣由)此系統(tǒng)根據(jù)所要實現(xiàn)的功能,使用的函數(shù)等綜合考慮,設(shè)計了兩個,圖書信息文件(tushu.red) ,借還書文件(borrow.red) ,錄入新圖書,修改,刪除圖書等一些操作時在圖書信息文件上運行,借還書功能則在借還書文件上運行,同時也要在圖書信息文件上運行。兩個文件相互結(jié)合,使各個功能很好的實現(xiàn)了,運
4、用 C 語言的文件功能,也是整個程序的主線。3、設(shè)計系統(tǒng)功能圖(根據(jù)需求分析結(jié)果和文件結(jié)構(gòu),應(yīng)用結(jié)構(gòu)化分析與設(shè)計技術(shù)設(shè)計功能結(jié)構(gòu)word 可自由復(fù)制編輯刪除圖書信息修改圖書信息錄入新圖書打印圖書信息表還書 創(chuàng)建圖書文件4 、函數(shù)設(shè)計( 詳細分析每一個子模塊的子功能,定義主要的子函數(shù)原型,并對每一個此系統(tǒng)主要有7 個功能,也就有主要的7 個函數(shù),他們分別是void shan() /void xiu()/void putin()/void print()/void returned() / void books() /void borrowed() / 借書 其中每一個函數(shù)都用到了兩個結(jié)構(gòu)體,它們
5、分別是:struct tushuchar bianhao110;char bianhao210;char leixing20;char shuming50;char chubanshe50;char writer20;long zongshu;long shengyu;shu;struct bookschar bianhao110;char bianhao210;long nian;long borrowmonth;long borrowday;long returnedmonth;long returnedday;long limittime;char student10;book;實訓(xùn)成果
6、經(jīng)過長達9 天的編寫,修改,運行,最后完成時,預(yù)想的功能都:功能選擇界面:錄入新圖書界面:還有各個功能各種界面,這里就不一一列出了。五、 實訓(xùn)心得與體會此次系統(tǒng)編程,我感受很多,從開始編程時的迷茫,到修改時的煩躁,再到運行時的無奈,最后是成功時無法表達的喜悅和興奮。每一步都是自己努力走過來的,雖然這個過程比較辛苦,但是現(xiàn)在回過頭去想想,這幾天還是過得很有意義和價值的。大家都說編程最需要的是耐心,我這次是深有體會,程序剛開始編,滿身都是信心和興趣,到修改的時候,檢查一遍又一遍,修改一次有一次還是無法成功運行,這個時候只有耐心才能堅持完成。同時,編程時,會發(fā)現(xiàn)許多以前學(xué)的概念都記錯了,這時候要找出
7、課本重新溫習(xí),所以這也是一個不斷學(xué)習(xí)的過程。還有,編程時不能太死板,要實現(xiàn)一個功能其實都會有很多種算法,我們應(yīng)邊做邊學(xué)習(xí)新的方法。對于我的不足之處,要實現(xiàn)一個功能時,我總是第一遍編程實現(xiàn)后,就不愿意在深探究下去,這種惰性很不適合做編程工作??偠灾ㄟ^此次C 語言實踐編程,使我對C 語言的興趣更加濃厚, 也對 C 語言的實踐應(yīng)用更加了解,充分感受到了它的魅力,同時也明白了自身在這方面工作的優(yōu)勢和不足。六、 附錄#include<stdio.h>#include<stdlib.h>#include<string.h>struct tushuchar bian
8、hao110;char bianhao210;char leixing20;char shuming50;char chubanshe50;char writer20;long zongshu;long shengyu;shu;struct bookschar bianhao110;char bianhao210;long nian;long borrowmonth;long borrowday;long returnedmonth;long returnedday;long limittime;char student10;book;void shan()/刪除圖書信息FILE *fp;in
9、t i=0,j,n,m,l;char booknum20;struct tushu tu1000;if(fp=fopen("tushu.txt","r")=NULL)printf("can not open the tushu.txt.n");exit(0);while(fread(&tui,sizeof(shu),1,fp)i+;m=i;printf(" 要刪除幾本書:");scanf("%d",&n);getchar();for(i=0;i<n;i+)printf(&q
10、uot; 輸入圖書編號2: ");gets(booknum);for(j=0;j<m;j+)if(strcmp(booknum,tuj.bianhao2)=0)break;if(j<m)for(l=0;l<m;l+)if(strcmp(tuj.bianhao1,tul.bianhao1)=0)tul.zongshu-;tul.shengyu-;for(j;j<m;j+)tuj=tuj+1;elseprintf("輸入有誤重新輸入n");i-;if(fp=fopen("tushu.txt","w")=N
11、ULL)printf("can not open the tushu.txt.n");exit(0);for(i=0;i<m-n;i+)fwrite(&tui,sizeof(shu),1,fp);printf(" 刪除成功! ");修改圖書信息void xiu()/FILE *fp;int i=0,m,n;char booknum20,numchar20;struct tushu tu1000;if(fp=fopen("tushu.txt","r")=NULL)printf("can not
12、 open the borrow.txt.n");exit(0);while(fread(&tui,sizeof(shu),1,fp)i+;m=i;if(fp=fopen("tushu.txt","w")=NULL)printf("can not open the borrow.txt.n");exit(0);printf(" 要修改幾本書:");scanf("%d",&n);getchar();for(i=0;i<n;i+)printf(" 輸入要修改
13、的圖書編號2: ");gets(booknum);for(i=0;i<m;i+)if(strcmp(booknum,tui.bianhao2)=0)break;word 可自由復(fù)制編輯if(i<m)printf(" 輸入修改后的nn");printf(" 輸入編號1:");gets(tui.bianhao1);printf("n");printf(" 編號 2:");gets(tui.bianhao2);printf("n");printf(" 類型 :"
14、;);gets(tui.leixing);printf("n");printf(" 書名 :");gets(tui.shuming);printf("n");printf(" 出版社:");gets(tui.chubanshe);printf("n");word 可自由復(fù)制編輯gets(tui.writer);printf("n");printf(" 總數(shù) :");gets(numchar);printf("n");tui.zongsh
15、u=atol(numchar);printf(" 剩余 :");gets(numchar);printf("n");tui.shengyu=atol(numchar);elseprintf("輸入有誤n");for(i=0;i<m;i+)fwrite(&tui,sizeof(shu),1,fp);fclose(fp);void putin()/錄入新圖書char numchar20;FILE *fp;int i=0,m,n;struct tushu tu1000;if(fp=fopen("tushu.txt&q
16、uot;,"r")=NULL)printf("can not open the borrow.txt.n");exit(0);while(fread(&tui,sizeof(shu),1,fp)i+;m=i;word 可自由復(fù)制編輯if(fp=fopen("tushu.txt","w")=NULL)printf("can not open the borrow.txt.n");exit(0);for(i=0;i<m;i+)fwrite(&tui,sizeof(shu),1,
17、fp);printf(" 要錄入幾本書:");scanf("%d",&n);getchar();for(i=0;i<n;i+)printf("n");printf(" 輸入編號1:");gets(shu.bianhao1);printf("n");word 可自由復(fù)制編輯printf(" 編號 2:");gets(shu.bianhao2);printf("n");printf(" 類型 :");gets(shu.leix
18、ing);printf("n");printf(" 書名 :");gets(shu.shuming);printf("n");printf(" 出版社:");gets(shu.chubanshe);printf("n");printf(" 作者 :");gets(shu.writer);printf("n");printf(" 總數(shù) :");gets(numchar);printf("n");word 可自由復(fù)制編輯
19、shu.zongshu=atol(numchar);printf(" 剩余 :");gets(numchar);printf("n");shu.shengyu=atol(numchar);fwrite(&shu,sizeof(shu),1,fp);fclose(fp);void print()/打印圖書信息表FILE *fp;if(fp=fopen("tushu.txt","r")=NULL)printf("can not open the tushu.txt.n");exit(0);p
20、uts("");puts("");puts("| 編號 1 | 編號 2 | 類型 | 書名 | 作者 | 出版社| 總數(shù) | 剩余 |");fseek(fp,0L,SEEK_SET);while(fread(&shu,sizeof(shu),1,fp)=1)printf(" %-9s%-10s%-10s%-10s%-10s%-10s%-10ld%-10ldn",shu.bianhao1,shu.bianhao2,shu.leixing,shu.shuming,shu.writer,shu.chubansh
21、e,shu.zong shu,shu.shengyu);void returned()/還書FILE *fp;int i=0,m,flag=0,j;word 可自由復(fù)制編輯char booknum20;struct books book11000;if(fp=fopen("borrow.txt","r")=NULL)printf("can not open the borrow.txt.n");exit(0);while(fread(&book1i,sizeof(book),1,fp)i+;m=i;if(fp=fopen(&q
22、uot;borrow.txt","w")=NULL)printf("can not open the borrow.txt.n");exit(0);printf(" 輸入要還的圖書編號2: ");word 可自由復(fù)制編輯gets(booknum);for(j=0;j<m;j+)if(strcmp(booknum,book1j.bianhao2)=0)flag=1;break;if(flag)flag=0;printf("輸入還書月份:");scanf("%ld",&boo
23、k1i.returnedmonth);printf("輸入還書日期:");scanf("%ld",&book1i.returnedday);getchar();for(j=0;j<m;j+)fwrite(&book1i,sizeof(book),1,fp);elseprintf(" 輸入有誤n");fclose(fp);void books()/創(chuàng)建圖書文件FILE *fp;char numchar50,ch='y'if(fp=fopen("tushu.txt","w
24、t")=NULL)printf("can not open the tushu.txt.n");exit(0);while(ch='y'|ch='Y')word 可自由復(fù)制編輯printf("n");printf(" 輸入編號1:");gets(shu.bianhao1);printf("n");printf(" 編號 2:");gets(shu.bianhao2);printf("n");printf(" 類型 :&quo
25、t;);gets(shu.leixing);printf("n");printf(" 書名 :");gets(shu.shuming);printf("n");printf(" 出版社:");gets(shu.chubanshe);printf("n");printf(" 作者 :");gets(shu.writer);printf(" 總數(shù) :");gets(numchar);printf("n");shu.zongshu=atol(
26、numchar);printf(" 剩余 :");gets(numchar);printf("n");shu.shengyu=atol(numchar);fwrite(&shu,sizeof(shu),1,fp);doprintf("have another book record(y/n)?:");gets(numchar);ch=numchar0;while(!(ch='y'|ch='n'|ch='Y'|ch='N');fclose(fp);word 可自由復(fù)
27、制編輯void borrowed()/借書struct tushu tu1000;struct books book11000;FILE *fp,*fq;char numchar50;int i=0,j,m1,m2,n,flag=0,x;printf(" 借幾本書:");scanf("%d",&x);getchar();if(fq=fopen("tushu.txt","r")=NULL)printf("can not open the tushu.txt.n");exit(0);whil
28、e(fread(&tui,sizeof(shu),1,fq)i+;m1=i;if(fp=fopen("borrow.txt","r")=NULL)printf("can not open the borrow.txt.n");exit(0);while(fread(&book1i,sizeof(book),1,fp)i+;m2=i;for(i=0;i<x;i+)printf("n");printf(" 輸入編號2:");word 可自由復(fù)制編輯book.nian=atol(
29、numchar);for(j=0;j<m1;j+)if(strcmp(numchar,tuj.bianhao2)=0)n=j;flag=1;break;if(flag)printf("n");printf(" 輸入正確nn");flag=0;strcpy(book.bianhao2,numchar);printf(" 輸入編號1"); gets(book.bianhao1); printf("n");printf(" 借書年份:"); gets(numchar); printf("
30、;n");printf(" 借 書 月 份 :"); gets(numchar); printf("n");book.borrowmonth=atol(numchar);printf(" 借 書 日 期 :");gets(numchar);printf("n");book.borrowday=atol(numchar);printf(" 還 書 月 份 :");gets(numchar);printf("n");book.returnedmonth=atol(num
31、char);printf(" 還書日期:"); gets(numchar); printf("n");book.returnedday=atol(numchar);printf(" 期 限 :"); gets(numchar); printf("n");book.limittime=atol(numchar);printf(" 學(xué) 生 學(xué) 號 :"); gets(book.student);printf("n");if(fp=fopen("borrow.txt&qu
32、ot;,"w")=NULL)printf("can not open the borrow.txt.n");exit(0);fwrite(&book,sizeof(book),1,fp);word 可自由復(fù)制編輯for(j=0;j<m2;j+)fwrite(&book1j,sizeof(book),1,fp);for(j=0;j<m1;j+)if(strcmp(tun.bianhao1,tuj.bianhao1)=0) tuj.shengyu-;if(fq=fopen("tushu.txt","w
33、")=NULL)printf("can not open the tushu.txt.n");exit(0);for(j=0;j<m1;j+)fwrite(&tuj,sizeof(shu),1,fq);word 可自由復(fù)制編輯elseprintf(" 輸入錯誤n");i-;fclose(fq);fclose(fp);void main()int flag=1;char a20;puts(" ");puts(" ");puts(" ");puts(" ");word 可自由復(fù)制編輯puts("");puts("");puts("歡迎使用圖書信息管理系統(tǒng)");puts("");puts("");puts("");puts("puts("puts(&qu
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年居間合同的法律規(guī)定
- 房地產(chǎn)企業(yè)勞動合同格式模板
- 創(chuàng)業(yè)公司法律咨詢顧問合同
- 模板公司集體合同樣本
- 2024年婚慶服務(wù)標準合同
- 房屋認購協(xié)議書中的物業(yè)服務(wù)條款
- 彩繪加盟合作協(xié)議書范本
- 國際貨物買賣信貸貸款契約
- 建筑安裝工程分包協(xié)議書樣本
- 農(nóng)村離婚協(xié)議書撰寫指南
- 2024醫(yī)療機構(gòu)重大事故隱患判定清單(試行)學(xué)習(xí)課件
- 汽車修理工崗前培訓(xùn)
- 蘋果和牛頓的故事.ppt
- 收益法酒店評估(共51頁).doc
- 【實用版】一年級上冊一年級語文期中復(fù)習(xí)ppt課件
- 非物質(zhì)文化遺產(chǎn)對經(jīng)濟發(fā)展的影響
- 屬鼠的人住幾樓最吉利_屬豬的人適合住幾樓
- 高教版趙耐青衛(wèi)生統(tǒng)計學(xué)習(xí)題答案
- 對山西煤礦企業(yè)托管經(jīng)營的思考要點
- 珠寶店培訓(xùn)第四講:服務(wù)禮儀
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院醫(yī)療垃圾處置協(xié)議書
評論
0/150
提交評論