圖書管理系統(tǒng)程序代碼_第1頁
圖書管理系統(tǒng)程序代碼_第2頁
圖書管理系統(tǒng)程序代碼_第3頁
圖書管理系統(tǒng)程序代碼_第4頁
圖書管理系統(tǒng)程序代碼_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、#include #include #include #define SIZE (struct booklist *)malloc(sizeof(struct booklist)/ 建立已借閱圖書信息結(jié)構(gòu)體struct borrowchar borbook_num10;char borbook_name22;char return_time15;char stu_num15;char stu_name15;struct borrow *next;/ 建立預(yù)借圖書信息結(jié)構(gòu)體struct prebor_stuchar prebook_num10;char prestu_num15;struct p

2、rebor_stu *next;/ 建立圖書結(jié)構(gòu)體struct booklistchar num10;char name22;char zuozhe15;char leibie10;char pub_time10;char price10;char condition10;struct booklist *next;struct booklist *create(void);/*創(chuàng)建圖書信息鏈表*/struct borrow *borrow_creat(struct booklist *head); /創(chuàng)建已借閱圖書信息鏈表intpre_creat(structbooklist*head);/

3、學(xué)生登錄系統(tǒng)預(yù)借圖書并將信息存入文件prebor_stulist.txtstruct prebor_stu *prebor_creat(void);/ 創(chuàng)建預(yù)借閱圖書信息鏈表void printf1_(struct booklist *);/ 輸出單個(gè)基本圖書的數(shù)據(jù)void store(struct booklist *head);/* 保存鏈表中的圖書信息到文件booklist.txt*/void printfb1_(struct borrow *);/輸出單個(gè)借出圖書的部分?jǐn)?shù)據(jù)void printfb_(struct borrow *p); / 輸出單個(gè)借出圖書的數(shù)據(jù)void printf

4、p1_(struct prebor_stu *);/ 輸出單個(gè)被預(yù)借出圖書的部分?jǐn)?shù)據(jù)void printfp_(struct prebor_stu *);/ 輸出單個(gè)被預(yù)借出圖書的數(shù)據(jù)void printf_(struct booklist *,struct borrow*,struct prebor_stu *); /*2-輸出鏈表中的圖書信息*/struct booklist *load(void);/5-從文件讀入圖書信息struct booklist *num_paixu(struct booklist *);/4-按編號排序struct booklist *price_paixu(s

5、truct booklist *);/3-按價(jià)格順序排序int kcnum(struct booklist *head);/6- 統(tǒng)計(jì)庫存數(shù)void chaxun1_(struct booklist *,struct borrow *,struct prebor_stu *);/7- 查詢圖書的編號圖書的信息 ,并輸出void chaxun2_(struct booklist*,struct prebor_stu *,structborrow*);/7-按作者查詢信息并輸出void chaxun3_(struct booklist *,struct prebor_stu *,struct bo

6、rrow*); /7-查詢某類別圖書信息并自動輸出void chaxun4_(struct borrow*,prebor_stu *,struct booklist *);/7- 按學(xué)號查詢借閱信息struct booklist *shanchu(struct booklist *,struct borrow*,struct prebor_stu *); /9- 刪除數(shù)據(jù)struct borrow *shanchu2_(struct borrow *,struct borrow *);/刪除一個(gè)struct borrow 結(jié)構(gòu)體的數(shù)據(jù)struct prebor_stu *shanchu3_(s

7、truct prebor_stu *,struct prebor_stu*);/ 刪 除 一 個(gè) structprebor_stu 結(jié)構(gòu)體的數(shù)據(jù)void xiugai(struct booklist *,struct borrow*,struct prebor_stu *); /10- 修改數(shù)據(jù)void borstore(struct borrow*borrow_head); / 保存已借閱圖書信息到文件borrowlist.txt/ 重新保存修改后的預(yù)借閱信息到文件prebor_stulist.txt(全部覆蓋)void prestore(struct prebor_stu *pre_hea

8、d);struct borrow *borload(void); /從文件提取信息創(chuàng)建已借閱圖書源信息鏈表struct booklist *charu(struct booklist *head,struct borrow *borrow_head); /8- 將圖書的數(shù)據(jù)到順序排放的鏈表中,且插入后也是順序排放的struct booklist *scanf1_(void); /輸入單個(gè)圖書源數(shù)據(jù)void exchange(struct booklist *,struct booklist *) ;/交換兩個(gè)結(jié)構(gòu)體內(nèi)的內(nèi)容struct borrow *tianjia1_(struct borr

9、ow *borrow_head,struct booklist *p); / 添加一個(gè) struct borrow 結(jié)構(gòu)體的數(shù)據(jù)int main(void)int n, n1, x , k = 0, flag, flag1, x1;char ch;struct booklist *head = NULL; /圖書信息鏈表頭指針struct borrow*borrow_head = NULL ;/ 已借閱圖書信息鏈表頭指針struct prebor_stu *pre_head = NULL ; /預(yù)借圖書信息鏈表頭指針flag1 = 0; x = x1 = 1;while(x)system(cl

10、s);printf(*n);printf(*歡迎使用君寧圖書管理系統(tǒng) num, num);strcpy(p - name, name);strcpy(p - zuozhe, zuozhe);strcpy(p - leibie, leibie);strcpy(p - pub_time, pub_time);strcpy(p - price, price);strcpy(p - condition, condition);p - next = NULL;if(head = NULL)head = p;elsetail - next = p;tail = p;printf( 請輸入圖書編號:);ge

11、ts(num);printf( 圖書源信息已建立鏈條!n);return head;/ 創(chuàng)建已借閱圖書源信息鏈表struct borrow *borrow_creat(struct booklist *head)struct booklist *p;struct borrow*borrow_head , *p1, *tail;borrow_head = p1 = tail = NULL;for(p = head; p != NULL; p = p - next)p1 = (struct borrow *)malloc(sizeof(struct borrow);if(strcmp(p - co

12、ndition, 借出 ) = 0)printf( 創(chuàng)建借出信息 :n);strcpy(p1 - borbook_num ,p - num);strcpy(p1 - borbook_name ,p - name);getchar();printf( 借閱編號為 %s 的圖書的借閱信息:n,p - num);printf( 請輸入應(yīng)歸還時(shí)間:);gets(p1 - return_time);printf( 請輸入學(xué)生學(xué)號:);gets(p1 - stu_num);printf( 請輸入學(xué)生姓名:);gets(p1 - stu_name);printf(n);p1 - next = NULL;if

13、(borrow_head = NULL)borrow_head = p1;elsetail - next = p1;tail = p1;printf( 成功創(chuàng)建已借出信息鏈表!nn);getchar();return borrow_head;/ 保存已借閱圖書信息到文件 void borstore(struct borrow borrowlist.txt*borrow_head)FILE *fp;struct borrow *p;if(fp = fopen(borrowlist.txt,w) = NULL)printf(File open error! n);exit(0);p = borro

14、w_head;while(p != NULL)fprintf(fp,%16s%26s%16s%16s%16sn,p - borbook_num, p - borbook_name, p - return_time,p - stu_num, p - stu_name);p = p - next;fclose(fp);printf( 文件成功保存到borrowlist.txt中 !n);getchar();/ 從文件提取信息創(chuàng)建已借閱圖書源信息鏈表struct borrow *borload(void)struct borrow *p, *tail, *head;FILE *fp;head = p

15、 = tail = NULL;if(fp = fopen(borrowlist.txt,r) = NULL)printf( 文件borrowlist.txt打開失敗 !n);getchar();exit(0);while(!feof(fp)p = (struct borrow *)malloc(sizeof(struct borrow);fscanf(fp,%16s%26s%16s%16s%16sn,p - borbook_num, p - borbook_name, p - return_time,p - stu_num, p - stu_name);if(head = NULL)head

16、= p;elsetail - next = p;tail = p;tail - next = NULL;fclose(fp);printf( 已成功從文件 borrowlist.txt 提取信息創(chuàng)建已借閱圖書源信息 !n); return head;/ 錄入預(yù)借圖書信息并將信息存入文件prebor_stulist.txtint pre_creat(struct booklist *head)struct booklist*b;struct prebor_stu *p;char a10, c15;int n, x = 1, flag = 1;FILE *fp;b = head;p= (struc

17、t prebor_stu *)malloc(sizeof(struct prebor_stu);printf( 進(jìn)入預(yù)借圖書 !(按回車鍵繼續(xù)、 、 )n);getchar();while(x)printf( 請輸入要預(yù)借閱的圖書編號:);gets(a);while(strcmp(b - num ,a) != 0) & b - next != NULL)b = b - next;if(strcmp(b - num ,a) != 0)printf( 沒有找到編號為%s 的圖書 !n, a);printf( 輸入 -0 結(jié)束錄入 !(輸入其他數(shù)字繼續(xù)錄入 .)nn); printf( 請選擇功能

18、:);scanf(%d, &n);getchar();if(n = 0)x = 0;getchar();elseprintf( 請輸入學(xué)號 :);gets(c);strcpy(p - prebook_num, a);strcpy(p - prestu_num, c);if(fp = fopen(prebor_stulist.txt,a+) = NULL)printf(File open error! n);exit(0);fprintf(fp,%16s%16sn,p - prebook_num, p - prestu_num); fclose(fp);flag = 2;printf( 輸入 -

19、0 結(jié)束錄入 !(輸入其他數(shù)字繼續(xù)錄入 .)nn); printf( 請選擇功能 :);scanf(%d, &n);getchar();if(n = 0)x = 0;getchar();return flag;/ 重新保存修改后的預(yù)借閱信息到文件prebor_stulist.txt(全部覆蓋)void prestore(struct prebor_stu *pre_head)struct prebor_stu *p;FILE *fp;p = pre_head;if(fp = fopen(prebor_stulist.txt,w) = NULL)printf(File open error! n

20、);exit(0);while(p != NULL)fprintf(fp,%16s%16sn,p - prebook_num, p - prestu_num); p = p - next;fclose(fp);printf( 文件成功保存到prebor_stulist.txt 中 !n);getchar();/ 從文件prebor_stulist.txt 創(chuàng)建預(yù)借閱圖書信息鏈表struct prebor_stu *prebor_creat(void)struct prebor_stu *p, *tail, *head;FILE *fp;head = p = tail = NULL;if(fp

21、= fopen(prebor_stulist.txt,r) = NULL)printf( 文件prebor_stulist.txt 打開失敗 !n);getchar();while(!feof(fp)p = (struct prebor_stu *)malloc(sizeof(struct prebor_stu);fscanf(fp,%16s%16sn,p - prebook_num, p - prestu_num); if(head = NULL)head = p;elsetail - next = p;tail = p;tail - next = NULL;fclose(fp);print

22、f( 已從文件prebor_stulist.txt 成功讀取并建立預(yù)借閱圖書信息!n);getchar();return head;/*2- 保存鏈表中的圖書信息到文件booklist.txt*/void store(struct booklist *head)FILE *fp;struct booklist *p;if(fp = fopen(booklist.txt,w) = NULL)printf(File open error! n);exit(0);p = head;while(p != NULL)fprintf(fp,%16s%26s%16s%16s%16s%16s%16sn,p -

23、 num, p - name, p - zuozhe, p- leibie,p - pub_time, p - price, p - condition);p = p - next;fclose(fp);printf( 文件成功保存到booklist.txt 中 !n);getchar();/ 輸入單個(gè)圖書源數(shù)據(jù)struct booklist *scanf1_(void)struct booklist *p;p = SIZE;printf( 請輸入圖書編號:);gets(p - num);printf( 請輸入書名 :);gets(p - name);printf( 請輸入作者 :);gets

24、(p - zuozhe);printf( 請輸入類別 :);gets(p - leibie);printf( 請輸入出版時(shí)間:);gets(p - pub_time);printf( 請輸入價(jià)格 :);gets(p - price);printf( 請輸入借閱情況:);gets(p - condition);return p;/ 輸出單個(gè)圖書的數(shù)據(jù)void printf1_(struct booklist *p)printf( 編號 :);puts(p - num);printf( 書名 :);puts(p - name);printf( 作者 :);puts(p - zuozhe);prin

25、tf( 類別 :);puts(p - leibie);printf( 出版時(shí)間 :);puts(p - pub_time);printf( 價(jià)格 :);puts(p - price);printf( 借閱情況 :);puts(p - condition);/ 輸出單個(gè)借出圖書的部分?jǐn)?shù)據(jù)void printfb1_(struct borrow *p)printf( 應(yīng)歸還時(shí)間 :);puts(p - return_time);printf( 借閱學(xué)生學(xué)號 :);puts(p - stu_num);printf( 借閱學(xué)生姓名 :);puts(p - stu_name);/ 輸出單個(gè)借出圖書的數(shù)據(jù)

26、void printfb_(struct borrow *p)printf( 圖書編號 :);puts(p - borbook_num);printf( 書名 :);puts(p - borbook_name);printf( 應(yīng)歸還時(shí)間 :);puts(p - return_time);printf( 借閱學(xué)生學(xué)號 :);puts(p - stu_num);printf( 借閱學(xué)生姓名 :);puts(p - stu_name);/ 輸出單個(gè)被預(yù)借出圖書的部分?jǐn)?shù)據(jù)void printfp1_(struct prebor_stu *p)printf( 預(yù)借圖書的學(xué)生學(xué)號:);puts(p -

27、prestu_num);/ 輸出單個(gè)被預(yù)借出圖書的數(shù)據(jù)void printfp_(struct prebor_stu *p)printf( 圖書編號 :);puts(p - prebook_num);printf( 預(yù)借閱圖書的學(xué)生學(xué)號:);puts(p - prestu_num);/*3- 輸出鏈表中的圖書信息*/void printf_(struct booklist *head, struct borrow *borrow_head,struct prebor_stu *pre_head)struct booklist *p;struct borrow *b;struct prebor_

28、stu *pre;int x = 1, n;p = head; b = borrow_head; pre = pre_head;while(x = 1)system(cls);printf(*歡迎使用君寧圖書信息輸出系統(tǒng)*n);printf(*0-退出*n);printf(*1-輸出圖書源信息*n);printf(*2-輸出借出圖書信息*n);printf(*3-輸出預(yù)借借圖書信息*n);printf(*祝您使用愉快*n);printf( 請選擇功能 :);scanf(%d, &n);getchar();switch(n)case 0:x = 0;break;case 1:if(head !=

29、 NULL)printf( 圖書源信息如下:n);doprintf1_(p);printf(nn);p =p - next;while(p != NULL);getchar();break;case 2:if(borrow_head = NULL)printf( 沒有借出圖書信息(按回車鍵繼續(xù)、 、)!n);getchar();break;elseprintf( 借出圖書信息如下:n);doprintfb_(b);printf(nn);b =b - next;while(b != NULL);printf( 按回車鍵繼續(xù)、 、 n);getchar();break;case 3:if(pre_head = NULL)printf( 沒有預(yù)借圖書信息(按回車鍵繼續(xù)、 、)!n);getchar();getchar();break;elseprintf( 預(yù)借借圖書信息如下:n)

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論