




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、圖書信息管理系統(tǒng)設計一、【要求】圖書信息包括:登錄號、書名、作者名、分類號、出版單位、出版時間、價格等。設計一圖書信息 管理系統(tǒng),使之能提供以下功能:(1) 系統(tǒng)以菜單方式工作(2) 圖書信息錄入功能(3) 圖書信息瀏覽功能(4) 圖書信息查詢功能(5) 圖書信息的刪除與修改功能二、【各功能模塊】1、菜單模塊建立menu()函數(shù)將主函數(shù)功能提取出來,主函數(shù) main調用menu()函數(shù)方便簡捷。void main()menu();void menu()int a;doprintf(" * 趙毅*n");printf("n");printf("*
2、 中國地質大學*n");printf("n");printf("nnnnntttt 圖書信息管理系統(tǒng)ttttn");printf("tt*n");printf("ttt1 圖書信息錄入n")printf("ttt2 圖書信息瀏覽n")printf("ttt3 圖書信息查詢n")printf("ttt4 圖書信息刪除n")printf("ttt5 圖書信息修改n")printf("ttt6 圖書信息追加n")
3、printf("ttt0退出圖書信息系統(tǒng)n");printf("tt*n");printf("ttplease choose: ");scanf("%d",&a);switch(a)case 1:input();break;case 2:list();break;case 3:search();break;case 4:del();break;case 5:revise();break;case 6:append();break;case 0:exit(0);default:printf("n 序
4、號不對 n");while(a!=0);【定義圖書信息結構體】#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>void menu();#define N 3typedef struct systemlong num;char name20;char writer10;char sort10;char publisher20;long time;float price;BOOK;注:定義的BOOK吉構體N為限定的錄入圖書個數(shù)(可依據(jù)不同要求變化范圍
5、)long num為定義的登錄號(長整形變量)char name20為定義的書名的數(shù)組char writer10為定義的作者的數(shù)組char sort10定義的分類號數(shù)組char publisher20定義的出版單位數(shù)組long time 定義的出版時間長整形變量float price價格為浮點型變量。2、【數(shù)據(jù)存儲】整個程序沒有利用保存save函數(shù),而是利用txt.txt tab.txt兩個文件錄入存取數(shù)據(jù)信息,并通過文件的讀取、寫入進行圖書信息的修改/刪除等功能。(fopen fwrite fread寫入及讀取數(shù)據(jù)進行存儲)。3【圖書信息錄入】開始把信息存入txt.txt文件關閉錄入信息的文
6、件結束圖書錄入流程圖【程序】void input() /* 定義錄入函數(shù)*/int i;BOOK a;FILE *fp;if(fp=fopen("txt.txt","w")=NULL)printf("error!n");exit(0);for(i=1;i<=N;i+)printf("t請輸入您所需書籍的登陸號:");scanf("%ld",&a.num);printf("t請輸入書名:");scanf("%s",);printf(
7、"t請輸入作者名:");scanf("%s",a.writer);printf("t請輸入分類號:");scanf("%s",a.sort);printf("t請輸入出版單位:");scanf("%s",a.publisher);printf("t請輸入出版時間:");scanf("%ld",&a.time);printf("t請輸入該書的價格:");scanf("%f",&a.p
8、rice);fwrite(&a,sizeof(BOOK),1,fp);fclose(fp);4【圖書信息瀏覽】該模塊的功能是顯示所有錄入的圖書信息,流程圖如下:圖書瀏覽流程void list() /*定義瀏覽函數(shù)*/BOOK a;FILE *fp;if(fp=fopen("txt.txt","r")=NULL) printf("error!n");exit(0);登陸號t書名t作者名t分類號t出版單位tprintf("nnnnnnnnn出版時間t價格nn");while(fread(&a,sizeo
9、f(BOOK),1,fp)!=0)printf("t%ldt%st%st%st%st%ldt%3.2fn"anum,,a.writer, a.sort,a.publisher,a.time,a.price);fclose(fp);printf("nt press any key to continue.");getch();«5»【圖書信息查詢】需求分析用戶需要查找的圖書,調用函數(shù):1、按書名查找 search_by_name2、按作者名查找 search_by_write ,兩種方式進行查詢。輸入查詢方式,進入功能選項,
10、1、首先打開源文件txt.txt ,則按照輸入書名進行 for循環(huán)查找,若查到則顯示圖書信息。若無, 則顯示“file open error! "。按任意鍵結束。2、與1、流程相同,按照作者名查詢。查詢功能流程圖【程序】void search。/*定義查詢函數(shù)*/int a;printf("皿 printf(",*n").開始查詢n");printf("ttt1 printf("ttt2 printf("ttt0exit'n");printf("tt*按書名查詢n");按作者名
11、查詢n");*n");printf("皿請選擇你想要的查詢方式:");scanf("%d",&a);switch(a)case 1:search_by_name();break;case 2:search_by_writer();break;case 0:return; void search_by_name() /* 定義按書名查詢 */ FILE *fp;int i;BOOK bN;char s220;fp=fopen("txt.txt","r");if(fp=NULL)printf
12、("file open error!n");exit(0);for(i=0;i<N&&fp!=NULL;i+)/shanchufread(&bi,sizeof(BOOK),1,fp);printf(" 請輸入要查詢的書名 : ");scanf("%s",s2);for(i=0;i<N;i+) if(strcmp(s2,)=0)printf(" 書號 書名 作者 種類 出版商 出版日期 價格 n");printf("t%ldt%st%st%st%st%ldt
13、%3.2fn",bi.num,, bi.writer,bi.sort,bi.publisher,bi.time,bi.price);fclose(fp);void search_by_writer() /* 定義按作者名查詢 */int i;FILE *fp;BOOK bN;char s320;fp=fopen("txt.txt","r");if(fp=NULL)printf("file open error!n");exit(0);for(i=0;i<N;i+)fread(&bi,sizeof(
14、BOOK),1,fp);printf(" 請輸入要查詢的書的作者 : ");scanf("%20s",s3);for(i=0;i<N;i+)if(strcmp(s3,bi.writer)=0)printf(" 書號書名作者種類出版商出版日期價格n");printf("t%ldt%st%st%st%st%ldt%3.2fn",&bi.num,, bi.writer,&bi.sort,bi.publisher,&bi.time,&bi.price);fclose(fp
15、);6【圖書信息刪除】需求分析該模塊功能是,先輸入需要刪除的圖登陸號,打開存儲文件for循環(huán)查找該圖書信息,然后利用bk=bk+1語句進行刪除,即將要刪除的一列用后一列進行替換完成刪除功能,最后將改后的 信息在寫入結構體存入文件,關閉文件夾。圖書信息刪除流程【程序】void del() /* 定義刪除函數(shù)*/FILE *fp;long booknum; /*按登陸號查詢*/int i=0,k;BOOK bN;if(fp=fopen("txt.txt","r")=NULL)printf("error!n");getch();exit(0
16、);for(i=0;i<N;i+)fread(&bi,sizeof(BOOK),1,fp);fclose(fp);printf("n Please type in the number of the book you want to delete:");scanf("%ld",&booknum);for(i=0;i<N;i+)if(booknum=bi.num) break;if(i<N)for(k=i;k<(N-1);k+)bk=bk+1;else printf("n cannot found!n&qu
17、ot;);fp=fopen("txt.txt","w");if(fp=NULL) printf("n error!n");return; for(i=0;i<N-1;i+)fwrite(&bi,sizeof(BOOK),1,fp);fclose(fp);getch(); 7 【圖書信息修改】 需求分析 該模塊實現(xiàn)按照用戶需求, 將需要修改的圖書名輸入 , 進行 for 循環(huán)查找是否有此書,若無,則顯示未找到,退出,若有,則顯示輸入新的圖書信息,開始輸入修改的信息,進行for 循環(huán)開始錄入,替換原文件信息,結束顯示“修改成
18、功” ?!境绦颉縱oid revise() /* 定義修改函數(shù)*/int i,j,k;char s120;BOOK bN;FILE *fp,*fq;if(fq=fopen("tab.txt","w")=NULL)printf("error!"); exit(0);if(fp=fopen("txt.txt","r")=NULL)printf("error!"); exit(0);for(i=0;!feof(fp)&&i<N;i+)fread(&bi
19、,sizeof(BOOK),1,fp);fclose(fp);printf("tt 歡迎進入修改界面n");printf("nnntt 請輸入所要修改的圖書名: n");scanf("%s",s1);for(j=0;j<i;j+)if(strcmp(,s1)=0) k=j;break;if (j>i|j=i)printf(" 未找到! ");getch(); exit(0);printf("tt 請輸入新登錄號 圖書名 作者 分類號 出版單位 出版時間 價格 n");s
20、canf("%ld%s%s%s%s%ld%f",&bk.num,,bk.writer,bk.sort,bk.publisher ,&bk.time,&bk.price);for(i=0;i<(j+1);i+)fwrite(&bi,sizeof(BOOK),1,fq);fclose(fq);printf(" 修改成功! ");if(fq=fopen("txt.txt","w")=NULL)printf("error!"); exit(0);for
21、(i=0;!feof(fq)&&i<N;i+)fwrite(&bi,sizeof(BOOK),1,fq);fclose(fq);getch();«8»【圖書信息追加】需求分析該模塊功能是用戶需要增加新的圖書信息,打開源存儲文件,按照需要追加的個數(shù) n,進彳T for循環(huán),開始錄入追加的信息,流程如下:【程序】void append() /* 定義追加函數(shù)*/int i,n;BOOK a;FILE *fp;if(fp=fopen("txt.txt","a")尸NULL)printf("error!
22、n");exit(0);printf("nnt請輸入追加圖書的個數(shù):");scanf("%d",&n);for(i=0;i<n;i+)printf ("t請輸入追加圖書的登錄號:");scanf("%ld",&a.num);printf("t請輸入追加圖書的圖書名:");scanf("%20s",);printf("t請輸入追加圖書的作者名:");scanf("%10s",a.writer);
23、printf("t請輸入追加圖書的分類號:");scanf("%10s",a.sort);printf("t請輸入追加圖書的出版單位:");scanf("%20s",a.publisher);printf("t請輸入追加圖書的出版時間:");scanf("%d",&a.time);printf("t請輸入追加圖書的單價:");scanf("%f",&a.price);fwrite(&a,sizeof(BOOK),
24、1,fp);fclose(fp);【上機操作】1、錄入函數(shù)2、編譯連接、運行3、結果下面是各功能模塊的界面圖:(1) 主菜單MMMMM中國地質大學QHWWW圖書信息管理系統(tǒng)一人覽詢除改加息 一薪查刪修遁信 -自心自心自j.息自心自心 一信信自信信信卻C 八 E【 口一 C E一 E-二 二 二二 二書書書書書書出R圖圖圖圖12 3 4 5 6 0二 二 二 二 二 X 二 二 二 二 二pleaise cJwose(2) 添加模塊【錄入模塊】加的心籍號 號 號 陸 陸 陸0 3 :3:3榔:3:3位間價 ea需:1名口富時的需:2名口多時的需:3名口墓時的 您書3出出該您書*出出該您書E出出該 入A-入入入入入入入入入入A入入A-入入入入入 + r +- r +X- - 1r +_+X- - -+ r +4TI4-TT 4T4-hTI +/ r r-IP-TT-+Ur r + 4"T r +-¥T -+ i *+ r:1的:1:1篝:1:1位間價節(jié):2:2篝:2:2位間價書【瀏覽模塊】價格出版時間出版單位分類號作者名登陸號書名10.0020.0030.00to continue
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能金融科技應用開發(fā)合同
- 中心社區(qū)房屋買賣代理合同
- 電子設備租賃服務合同
- 第3單元第9課《按圖索驥-制作熱點鏈接》-教學設計2023-2024學年清華大學版(2012)初中信息技術八年級下冊
- Unit3 Could you please clean the room Section A (3a) 教學設計 2024-2025學年人教版八年級英語上冊
- 第17課 第二次世界大戰(zhàn)與戰(zhàn)后國際秩序的形成 教學設計-2023-2024學年高一統(tǒng)編版2019必修中外歷史綱要下冊
- 第六單元課外古詩詞誦讀《如夢令(常記溪亭日暮)》教學設計-2024-2025學年統(tǒng)編版語文八年級上冊
- 認識倍數(shù) 教學設計-2024-2025學年冀教版數(shù)學四年級上冊
- 第6單元 單元分析2024-2025學年四年級語文上冊教學設計(統(tǒng)編版)
- Unit 1 Lesson 4 Againplease?。ń虒W設計)-2024-2025學年魯科版(五四學制)(三起)英語五年級上冊
- 2024年湖南公務員考試申論試題(省市卷)
- 2025年春新人教版化學九年級下冊課件 第九單元 溶液 1-課題1 溶液及其應用 第1課時 溶液的形成
- 2024-2025學年高中物理第十二章機械波4波的衍射和干涉課時作業(yè)含解析新人教版選修3-4
- 安全管理人員七大職責
- 2025節(jié)后復工安全工作重點(培訓課件)
- 員工之愛崗敬業(yè)培訓課件1
- 植入式靜脈給藥裝置護理技術課件
- GB/T 24091-2024適應氣候變化脆弱性、影響和風險評估指南
- 《宗教與文化》課件
- 醫(yī)療機構依法執(zhí)業(yè)自查管理辦法
- 傳染病監(jiān)測預警與應急指揮信息平臺建設需求
評論
0/150
提交評論