




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、- - 1.題目小型圖書信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)2.功能(1)每一條記錄包括一本圖書的書名、 isbn 、作者、出版社、定價(jià)、出版日期和數(shù)量。(2)輸入功能:可以一次完成無數(shù)條記錄的輸入。(3)顯示功能:完成全部圖書信息的顯示。(4)查找功能:完成按書名查找圖書信息,并顯示。(5)排序功能:按圖書價(jià)格進(jìn)行排序。(6)插入功能:按圖書價(jià)格高低插入一條圖書信息。(7)保存功能:將圖書信息保存在任何自定義的文件中,如保存在:c:book。(8)讀取功能:將保存在文件中的圖書信息讀取出來。(9)有一個(gè)清晰美觀界面來調(diào)用各個(gè)功能3.要求(1)整個(gè)系統(tǒng)均用c語言實(shí)現(xiàn);(2)利用指針、鏈表來實(shí)現(xiàn)學(xué)生成績(jī)的數(shù)
2、據(jù)結(jié)構(gòu)設(shè)計(jì);(3)系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入,保存、讀取基本功能;(4)系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn);(5)可以將圖書信息保存在文件中。(6)可以將圖書信息從文件中讀取出來。4.源程序#include #include #include #include #include #define ll sizeof(book_type) int maininterface(); void infor_input(); void refer(); void refer_1(); void refer_2(); void modify(); void delete(); void
3、 findbook(); void findbook1(); void findbook2(); void devise(); - - void main() int a=0; do a=maininterface(); switch(a) case 1:system(cls);infor_input();break; case 2:system(cls);refer();break; case 3:system(cls);modify();break; case 4:system(cls);delete();break; case 5:exit(0); default:system(cls)
4、;printf(nnnnttt無此操作,請(qǐng)按任意鍵返回:n);getch();system(cls); while(a!=6); int maininterface() int n; printf(nnntt-小型圖書登記管理系統(tǒng)-n); printf(ntttt1:n); printf(ntttt2:n); printf(ntttt3:n); printf(ntttt4:n); printf(ntttt5:n); printf(nttt請(qǐng)輸入 1-5,其他輸入非法!n); scanf(%d,&n); return n; typedef struct int month; int da
5、y; int year; dates; dates day; typedef struct books char bookname50; char isbn50; - - char author50; char publisher50; float money; dates day; int count; struct books *next; book_type; book_type ts; struct books *head = null; void infor_input() file *fp; int n=0; book_type ts; printf(-圖書資料基本信息錄入-n);
6、 do printf( 請(qǐng)輸入書名 n); scanf(%s,ts.bookname); printf( 請(qǐng)輸入 isbnn); scanf(%s,ts.isbn); printf( 請(qǐng)輸入作者 n); scanf(%s,ts.author); printf( 請(qǐng)輸入出版社 n); scanf(%s,ts.publisher); printf( 請(qǐng)輸入定價(jià) n); scanf(%f,&ts.money); printf( 請(qǐng)輸入出版日期n); scanf(%d/%d/%d,&ts.day.month,&ts.day.day,&ts.day.year); prin
7、tf( 請(qǐng)輸入數(shù)量 n); scanf(%d,&ts.count); printf(nttt請(qǐng)選擇 (1:確定 t2:取消 t0:重新輸入 ):); scanf(%d,&n); while(n=0); if(n=1) if(fp=fopen(book.txt,a)=null) /* 若book.txt 文件不存在,則以創(chuàng)建方式打開文件*/ fp=fopen(book.txt,w+); fwrite(&ts,ll,1,fp); /* 將輸入的圖書信息寫入磁盤文件- - book.txt */ fclose(fp); system(cls); printf( 輸入成功 !n
8、); printf( 請(qǐng)選擇 (1:返回主界面 t2:輸入另一本圖書信息t0:退出系統(tǒng) ):n); scanf(%d,&n); switch(n) case 1:system(cls);break; case 2:system(cls);infor_input();break; case 0:break; default:printf( 無此操作 ,按任意鍵返回n);getch();system(cls);break; void refer() int n; printf(1:n); printf(2:n); printf(3:n); printf(4:n); printf(5:n);
9、 printf(0:n); printf( 請(qǐng)輸入 0-5,其他輸入非法!n); scanf(%d,&n); switch(n) case 1:system(cls);findbook();break; case 2:system(cls);findbook1();break; case 3:system(cls);findbook2();break; case 4:system(cls);refer_1();break; case 5:system(cls);refer_2();break; case 0:system(cls);break; default:printf( 無此操作
10、 n);break; struct books *read_1() file *fp; struct books *p1,*p2,*head; fp=fopen(book.txt,r); - - head=p1=(book_type *)malloc(ll); fread(p1,ll,1,fp); while(feof(fp)=0) p2=(book_type *)malloc(ll); fread(p2,ll,1,fp); p1-next=p2; p1=p2; p1-next=null; fclose(fp); return head; void refer_1() struct books
11、 *head,*p,*d; struct books *read_1(); int total=0; head=read_1(); for(p=head;p-next!=null;d=p,p=p-next,free(d) total=total+p-count; printf( 書籍總數(shù) :%dn,total); printf( 按任意鍵返回);getch();system(cls); void refer_2() int num=0; struct books *head,*p1,*p2; struct books *read_1(); float total=0,average=0; he
12、ad=read_1(); for(p1=head;p1-next!=null;p2=p1,p1=p1-next,free(p2) num=num+p1-count; - - total=total+p1-money*p1-count; average=total/num; printf( 書籍總金額 :%.2fn,total); printf( 書籍平均價(jià)格 :%.2fn,average); printf( 按任意鍵返回);getch();system(cls); void findbook() file *fp; char isbn50; int i; fp=fopen(book.txt,r
13、); printf( 請(qǐng)輸入書的isbn 號(hào)n); scanf(%s,isbn); for(i=0;fread(&ts,ll,1,fp)!=0;i+) if(strcmp(isbn,ts.isbn)=0) printf( 這 本 書的 詳細(xì)資料為 : %s %s %s %s %f %d/%d/%d %dn 按任 意鍵 返回n,ts.bookname,ts.isbn,ts.author,ts.publisher,ts.money,ts.day.month,ts.day.day,ts.day.year,ts.count); printf( 沒有你所需要的書籍); fclose(fp); v
14、oid findbook1() file *fp; char publisher50; int i; fp=fopen(book.txt,r); printf( 請(qǐng)輸入書的publishern); scanf(%s,publisher); for(i=0;fread(&ts,ll,1,fp)!=0;i+) if(strcmp(publisher,ts.publisher)=0) printf( 這 本 書的 詳細(xì)資料為 : %s %s %s %s %f %d/%d/%d %dn 按任 意鍵 返回n,ts.bookname,ts.isbn,ts.author,ts.publisher,t
15、s.money,ts.day.month,ts.day.day,ts.day.year,ts.count); printf( 沒有你所需要的書籍); fclose(fp); void findbook2() - - file *fp; char bookname50; int i; fp=fopen(book.txt,r); printf( 請(qǐng)輸入書的booknamen); scanf(%s,bookname); for(i=0;fread(&ts,ll,1,fp)!=0;i+) if(strcmp(bookname,ts.bookname)=0) printf( 這 本 書的 詳細(xì)資
16、料為 : %s %s %s %s %f %d/%d/%d %dn 按任 意鍵 返回n,ts.bookname,ts.isbn,ts.author,ts.publisher,ts.money,ts.day.month,ts.day.day,ts.day.year,ts.count); printf( 沒有你所需要的書籍); fclose(fp); void delete() struct books *p1, *p2; char isbn50; int e=0; if(head = null) printf( 無書籍記錄 ); return; printf( 請(qǐng)輸入您要?jiǎng)h除的書籍的isbn:n)
17、; scanf(%s,isbn); p1 = head; while(isbn != p1-isbn & p1-next != null) p2 = p1; p1 = p1-next; if(isbn = p1-isbn) if(p1 = head) head = p1-next; else p2-next = p1-next; free(p1); - - e-; else printf( 沒有該書籍記錄,請(qǐng)核對(duì)!n); void modify() struct books *p1, *p2; char isbn50; if(head = null) printf( 無書籍記錄!n);
18、 return; printf( 請(qǐng)輸入您要修改的書籍的isbnn :); scanf(%s,isbn); p1 = head; while(isbn != p1-isbn & p1-next != null) p2 = p1; p1 = p1-next; if(isbn = p1-isbn) devise(p1); else printf( 沒有該學(xué)生記錄,請(qǐng)核對(duì)!n); void devise(struct books *p) int choice; choice = -1; do printf( 請(qǐng)選擇您要修改的書籍的信息內(nèi)容:n); printf(+-+n); printf(|
19、 書名請(qǐng)按1 |n); printf(| isbn 請(qǐng)按2 |n); printf(| 作者請(qǐng)按3 |n); - - printf(| 出版社請(qǐng)按4 |n); printf(| 定價(jià)請(qǐng)按5 |n); printf(| 出版日期請(qǐng)按6 |n); printf(| 數(shù)量請(qǐng)按7 |n); printf(| 取消請(qǐng)按0 |n); printf(+-+n); printf( 請(qǐng)輸入您的選擇:); scanf(%d, &choice); switch(choice) case 0: return; case 1: printf( 請(qǐng)輸入新書名:); scanf(%s, p-bookname); break; case 2: printf( 請(qǐng)輸入新isbn:); scanf(%s, &p-isbn); break; case 3: printf( 請(qǐng)輸入新作者:); scanf(%s, p-author); break; case 4: printf( 請(qǐng)輸入新出版社:); scanf(%s, p-publisher)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 圍堰施工課題申報(bào)書
- 軟件測(cè)試申報(bào)書課題
- 課題申報(bào)書方案構(gòu)建模板
- 合伙企業(yè)人合同范本
- 單位買電合同范本
- 合同范本分包合同
- 課題申報(bào)書課題類型
- 特殊學(xué)生教育課題申報(bào)書
- 和單位購(gòu)銷采購(gòu)合同范本
- 品牌門窗店銷售合同范本
- 全省檢察機(jī)關(guān)公訴業(yè)務(wù)知識(shí)考試試卷
- 10KV開關(guān)柜教學(xué)講解課件
- 損傷疼痛病(軟組織損傷)中醫(yī)臨床路徑
- 航模隊(duì)第一講-飛機(jī)基本原理和彈射機(jī)制作
- 花城版三年級(jí)下冊(cè)音樂教學(xué)計(jì)劃
- 全國(guó)計(jì)算機(jī)等級(jí)證書樣本
- 說明書-prsPRS-7177電能質(zhì)量監(jiān)測(cè)裝置
- 知名房地產(chǎn)抖音代運(yùn)營(yíng)方案
- ISO 9001:2015新版質(zhì)量管理體系詳解與案例文件匯編
- 人教版八年級(jí)下冊(cè)英語全冊(cè)教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 五年級(jí)下冊(cè)數(shù)學(xué)課件 第1課時(shí) 因數(shù)和倍數(shù) 蘇教版(共25張PPT)
評(píng)論
0/150
提交評(píng)論