小型圖書信息管理系統(tǒng)(C語言)_第1頁(yè)
小型圖書信息管理系統(tǒng)(C語言)_第2頁(yè)
小型圖書信息管理系統(tǒng)(C語言)_第3頁(yè)
小型圖書信息管理系統(tǒng)(C語言)_第4頁(yè)
小型圖書信息管理系統(tǒng)(C語言)_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論