C語言圖書管理系統(tǒng)源代碼

上傳人:沈*** 文檔編號(hào):41234885 上傳時(shí)間:2021-11-19 格式:DOC 頁數(shù):82 大?。?16KB
收藏 版權(quán)申訴 舉報(bào) 下載
C語言圖書管理系統(tǒng)源代碼_第1頁
第1頁 / 共82頁
C語言圖書管理系統(tǒng)源代碼_第2頁
第2頁 / 共82頁
C語言圖書管理系統(tǒng)源代碼_第3頁
第3頁 / 共82頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《C語言圖書管理系統(tǒng)源代碼》由會(huì)員分享,可在線閱讀,更多相關(guān)《C語言圖書管理系統(tǒng)源代碼(82頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、#include#include#includestruct tushu /*圖書結(jié)構(gòu)體*/char num10; /*編號(hào)*/char name20; /*書名*/char writer20; /*作者*/char press20; /*出版社*/char kind20; /*類別*/ double time; /*時(shí)間*/double price; /*價(jià)格*/struct tushu *next;struct stu /*學(xué)生結(jié)構(gòu)體*/int snum; /*學(xué)號(hào)*/char mima10; /*密碼*/ struct stu *next;FILE *fp; /*圖書文件*/FILE *

2、fp1; /*管理員信息文件*/ FILE *fp2; /*學(xué)生信息文件*/void menu(); /*管理員主菜單(管理員進(jìn)入對(duì)圖書及學(xué)生信息進(jìn)行管理操作)*/void xmenu(); /*學(xué)生主菜單(學(xué)生進(jìn)入可對(duì)圖書,密碼進(jìn)行操作)*/void gfind(); /*管理員查詢(管理員可按一定的方式查詢圖書)*/void xfind(); /*學(xué)生查詢(學(xué)生可按一定的方式查詢圖書)*/void secret(); /*管理員權(quán)限(管理員登陸所用,輸入錯(cuò)誤次數(shù)過多自動(dòng)退出)*/void sort(); /*排序(管理員可按一定的方式對(duì)圖書進(jìn)行排序,排序完之后可選擇文件進(jìn)行保存)*/voi

3、d fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head); /*保存(可覆蓋保存如修改,刪除,排序后用)*/void hfprint(struct tushu *head); /*還書保存(還書成功后自動(dòng)保存到文件)*/void jfprint_(struct tushu *head); /*借書保存(借書成功之后自動(dòng)從圖書館刪除)*/struct tushu * Input(); /*圖書添加(可進(jìn)行圖書的添加)*/struct tushu * create(); /*從文件創(chuàng)建鏈表(

4、從文件中讀出信息,建立單鏈表)*/void gBrowse(struct tushu *head); /*管理員瀏覽(對(duì)圖書進(jìn)行遍歷)*/void xBrowse(struct tushu *head); /*學(xué)生瀏覽(學(xué)生對(duì)圖書進(jìn)行遍歷)*/void count(struct tushu *head); /*統(tǒng)計(jì)數(shù)量(管理員可對(duì)圖書進(jìn)行統(tǒng)計(jì))*/void Findofname(struct tushu *head); /*按書名查找*/void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *h

5、ead); /*按類別查找*/void xFindofname(struct tushu *head); /*學(xué)生按書名查找*/void xFindofwriter(struct tushu *head); /*學(xué)生按作者查找*/void xFindofkind(struct tushu *head); /*學(xué)生按類別查找*/void Sort_time(struct tushu * head); /*按時(shí)間排序(管理員按時(shí)間對(duì)圖書進(jìn)行排序,排序完之后可選擇文件進(jìn)行保存)*/void Sort_price(struct tushu * head); /*按價(jià)格排序*/void Sort_num

6、(struct tushu * head); /*按編號(hào)排序*/void Delete(struct tushu * head,char m15);/*按編號(hào)刪除(管理員可按編號(hào)刪除圖書)*/void Revise(struct tushu *head); /*修改(管理員可對(duì)圖書進(jìn)行修改,并選擇是否保存)*/void borrow(struct tushu *head); /*借書*/void huanshu(); /*還書(學(xué)生借完書之后進(jìn)行還書,若沒有圖書則不能借)*/void gxinxi(); /*管理員信息(有管理員的賬號(hào)及密碼,可進(jìn)行修改)*/void xmima(struct

7、stu *head1); /*學(xué)生密碼修改(學(xué)生可對(duì)自己的密碼進(jìn)行修改)*/struct stu * xcreate(); /*從文件創(chuàng)建學(xué)生信息(從文件讀出學(xué)生信息,建立學(xué)生鏈表)*/void xsecret(struct stu *head1); /*學(xué)生權(quán)限(學(xué)生登陸所用)*/void menu() /*管理員主菜單(管理員進(jìn)入對(duì)圖書及學(xué)生信息進(jìn)行管理操作)*/int choice,n=0;struct tushu *head;struct stu *head1,*p;char m15;there:printf( n); printf( socat 圖書管理系統(tǒng) n);printf( n

8、);printf( 0退出系統(tǒng) n); printf( n);printf( 1幫助 n);printf( n);printf( 2瀏覽圖書 n);printf( n);printf( 3統(tǒng)計(jì)圖書數(shù)目 n);printf( n);printf( 4查詢 n);printf( n);printf( 5添加 n);printf( n);printf( 6排序 n);printf( n);printf( 7修改 n);printf( n);printf( 8刪除 n);printf( n);printf( 9修改賬號(hào)及密碼 n);printf( n);printf( 10學(xué)生信息 n);printf

9、( n);printf( 請(qǐng)選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) /help();printf(沒有內(nèi)容!n);system(pause);system(cls);menu();else if(choice=2)system(cls);if(head=NULL)printf(沒有圖書,請(qǐng)先添加圖書!n);system(pause);system(cls);menu();gBrowse(head);else if(choice=3)system(cls);count(head);else if(choice

10、=4)system(cls);if(head=NULL)printf(沒有圖書,請(qǐng)先添加圖書!n);system(pause);system(cls);menu();gfind();else if(choice=5)Input();else if(choice=6)system(cls);if(head=NULL)printf(沒有圖書,請(qǐng)先添加圖書!n);system(pause);system(cls);menu();sort(head);else if(choice=7)system(cls);if(head=NULL)printf(沒有圖書,請(qǐng)先添加圖書!n);system(pause

11、);system(cls);menu();Revise(head) ;else if(choice=8)if(head=NULL)printf(沒有圖書,請(qǐng)先添加圖書!n);system(pause);system(cls);menu();printf( 請(qǐng)輸入想要?jiǎng)h除的圖書編號(hào):); scanf(%s,m);Delete(head,m);else if(choice=9)gxinxi();else if(choice=10)system(cls);head1=xcreate();if(head1=NULL)printf(沒有學(xué)生信息,請(qǐng)到xuesheng_list.txt添加!n);syst

12、em(pause);system(cls);menu();for(p=head1;p!=NULL;p=p-next)printf(學(xué)生學(xué)號(hào) 密碼n);printf(%d %sn,p-snum,p-mima);system(pause);system(cls);menu();else if(choice=0)system(cls);printf(nnnn);printf( 感謝使用圖書管理系統(tǒng) nnn);exit(0);elsesystem(cls);printf(nnnn 輸入錯(cuò)誤,請(qǐng)重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf(

13、 nnn 你錯(cuò)誤次數(shù)太多,自動(dòng)退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);system(pause);exit(0);goto there;void xmenu()/*學(xué)生主菜單(學(xué)生進(jìn)入可對(duì)圖書,密碼進(jìn)行操作)*/ struct tushu *head;struct stu *head1;int choice,n=0;there:printf( n); printf( socat 圖書借閱系統(tǒng) n);printf( n);printf( 0退出系統(tǒng) n); printf( n);printf( 1幫助 n);printf( n);printf( 2瀏覽圖書 n);pri

14、ntf( n);printf( 3查詢 n);printf( n);printf( 4借書 n);printf( n);printf( 5還書 n);printf( n);printf( 6修改密碼 n);printf( n);printf( 請(qǐng)選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) /xhelp();printf(沒有內(nèi)容!n);system(pause);system(cls);xmenu();else if(choice=2)system(cls);if(head=NULL)printf(沒有圖書!n

15、);system(pause);system(cls);xmenu();xBrowse(head);else if(choice=3)if(head=NULL)printf(沒有圖書!n);system(pause);system(cls);xmenu();xfind();else if(choice=4)if(head=NULL)printf(沒有圖書!n);system(pause);system(cls);xmenu();borrow(head);else if(choice=5)huanshu(head);else if(choice=6)system(cls);head1=xcrea

16、te();if(head1=NULL)printf(學(xué)生信息被清空!n);system(pause);system(cls);xmenu();xmima(head1); ;else if(choice=0)system(cls);printf(nnnn);printf( 感謝使用圖書管理系統(tǒng) nnn);exit(0);elsesystem(cls);printf(nnnn 輸入錯(cuò)誤,請(qǐng)重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯(cuò)誤次數(shù)太多,自動(dòng)退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);sys

17、tem(pause);exit(0);goto there;void gfind()/*管理員查詢(管理員可按一定的方式查詢圖書)*/int choice,n=0;struct tushu *head;there:system(cls);printf( n);printf( socat 圖書借閱系統(tǒng) n);printf( n);printf( 0返回 n);printf( n);printf( 1按書名查找 n);printf( n);printf( 2按作者查找 n);printf( n);printf( 3按類別查找 n);printf( n);printf( n);printf( n);

18、printf( 請(qǐng)選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls);Findofname(head);else if(choice=2)system(cls);Findofwriter(head);else if(choice=3)system(cls);Findofkind(head);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 輸入錯(cuò)誤,請(qǐng)重新輸入! nnn );system(pause);system(cl

19、s);n+;if(n=3)printf( nnn 你錯(cuò)誤次數(shù)太多,自動(dòng)退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);system(pause);exit(0);goto there;void xfind() /*學(xué)生查詢(學(xué)生可按一定的方式查詢圖書)*/struct tushu *head;int choice,n=0;there:system(cls);printf( n); printf( socat 圖書借閱系統(tǒng) n);printf( n);printf( 0返回 n); printf( n);printf( 1按書名查找 n);printf( n);printf(

20、2按作者查找 n);printf( n);printf( 3按類別查找 n);printf( n);printf( n);printf( n);printf( 請(qǐng)選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls);xFindofname(head);else if(choice=2)system(cls);xFindofwriter(head);else if(choice=3)system(cls);xFindofkind(head);else if(choice=0)system(cls);x

21、menu();elsesystem(cls);printf(nnnn 輸入錯(cuò)誤,請(qǐng)重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯(cuò)誤次數(shù)太多,自動(dòng)退出! nnn);printf( 感謝使用圖書借閱系統(tǒng) nnn);system(pause);exit(0);goto there;void sort()struct tushu *head;int choice,n=0;there:system(cls);printf( n); printf( socat 圖書借閱系統(tǒng) n);printf( n); printf( 0返回

22、n); printf( n); printf( 1按時(shí)間排序 n); printf( n); printf( 2按價(jià)格排序 n); printf( n); printf( 3按編號(hào)排序 n); printf( n); printf( n); printf( n); printf( 請(qǐng)選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1)system(cls); Sort_time(head);else if(choice=2)system(cls);Sort_price(head);else if(choice=3)sys

23、tem(cls);Sort_num(head);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 輸入錯(cuò)誤,請(qǐng)重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯(cuò)誤次數(shù)太多,自動(dòng)退出! nnn);printf( 感謝使用圖書借閱系統(tǒng) nnn); system(pause); exit(0);goto there;struct tushu *Input() struct tushu *p1,*p2,*head,*ptr; char num;int

24、x,i=0;system(cls);p1=(struct tushu *)malloc(sizeof(struct tushu); head=p1;p1-price=-1;while(i!=1)printf(請(qǐng)輸入編號(hào),以#結(jié)束n);scanf(%s,p1-num);if(strcmp(p1-num,#)=0)i=1;while(i!=1)printf(請(qǐng)依次輸入書名 作者 出版社 類別 出版時(shí)間 價(jià)格n);scanf(%s%s%s%s%lf%lf, p1-name,p1-writer,p1-press,p1-kind,&p1-time,&p1-price);p2=p1;p1=(struct

25、tushu *)malloc(sizeof(struct tushu); p2-next=p1;break;if(p1-price!=-1)p2-next=NULL;elsehead=NULL;system(cls);printf(nnnttt圖書信息輸入結(jié)束!nnn);system(pause); system(cls);printf(nnnttt是否保存圖書信息?(1.是/2.否):);scanf(%d,&x); if(x=1) fprint(head);else system(cls);printf(nnnttt 文件沒有被保存!nnnn);system(pause);system(cl

26、s);menu(); void fprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=NULL) printf(File open error!n); exit(0); if(head=NULL)printf(沒有圖書保存!n);system(pause);system(cls);menu();for(p1=head;p1!=NULL;p1=p1-next) /*遍歷*/fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1

27、-press,p1-kind,p1-time,p1-price );/*將圖書信息寫入文件*/ fclose(fp);system(cls);printf(n 圖書信息已成功保存到文件tushu_list.txt 中!n); system(pause); system(cls); getchar(); menu();void fprint_(struct tushu *head) struct tushu *p1;char a20;printf(請(qǐng)輸入你保存的文件!n);scanf(%s,a);if(fp=fopen(a,w)=NULL)printf(File open error!n); e

28、xit(0); if(head=NULL) system(cls); printf(沒有圖書!n); system(pause); system(cls); menu(); for(p1=head;p1!=NULL;p1=p1-next) fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price );/*將圖書信息寫入文件*/ fclose(fp); system(cls); printf(n 圖書信息已成功保存到文件 %s 中!n,a); system(pa

29、use); system(cls); menu();void hfprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=NULL) printf(File open error!n); exit(0); if(head=NULL)printf(沒有還書!n);xmenu();for(p1=head;p1!=NULL;p1=p1-next) /*遍歷*/fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-press,p1-k

30、ind,p1-time,p1-price );/*將圖書信息寫入文件*/ fclose(fp);xmenu();void jfprint_(struct tushu *head) struct tushu *p1;if(fp=fopen(tushu_list.txt,w)=NULL)printf(File open error!n); exit(0);if(head=NULL)xmenu();for(p1=head;p1!=NULL;p1=p1-next)fprintf(fp,%st%st%st%st%st%.0lft%lfn, p1-num,p1-name,p1-writer,p1-pres

31、s,p1-kind,p1-time,p1-price );/*將圖書信息寫入文件*/fclose(fp);system(cls);getchar(); xmenu();struct tushu * create()struct tushu *head=NULL, *p,*p1,*p2;if(fp=fopen(tushu_list.txt,r)=NULL)/*先安全打開目錄文件*/ printf(File open error!n);exit(0); while(!feof(fp)/*讀取并創(chuàng)建鏈表*/ p=(struct tushu *)malloc(sizeof(struct tushu);

32、 p-price=-1;fscanf(fp,%s%s%s%s%s%lf%lf, p-num,p-name,p-writer,p-press,p-kind,&p-time,&p-price); if(p-price=-1)free(p);break;if(head=NULL) head=p;p1=p;p1-next=NULL; elsep1-next=p;p2=p1;p1=p;p1-next=NULL; fclose(fp);return head; void gBrowse(struct tushu *head) struct tushu *p1; for(p1=head;p1!=NULL;p

33、1=p1-next) printf(編號(hào) 書名 作者 出版社 類別 出版時(shí)間 價(jià)格n); printf( %st%st%st%st%st%.0lft%.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price); system(pause); system(cls); menu(); void xBrowse(struct tushu *head) struct tushu *p1; for(p1=head;p1!=NULL;p1=p1-next) printf(編號(hào) 書名 作者 出版社 類別 出版時(shí)間 價(jià)格n); pri

34、ntf( %st%st%st%st%st%.0lft%.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price); system(pause); system(cls); xmenu(); void count(struct tushu *head) /*統(tǒng)計(jì)圖書數(shù)目*/ int n=0; struct tushu *p1; for(p1=head;p1!=NULL;p1=p1-next) n+; printf(n 此系統(tǒng)統(tǒng)計(jì)在內(nèi)的圖書共有 %d 冊(cè)。n,n);/*計(jì)算并輸 出圖書數(shù)目*/ system(pause);

35、system(cls); menu();void Findofname(struct tushu *head) /*按書名查詢圖書*/ int i=0,n;char b20;struct tushu *p;p=head;printf(n 請(qǐng)輸入要查詢的圖書名稱:);scanf(%s,b);while(p!=NULL)if(strcmp(p-name,b)=0) printf(n 編號(hào) 書名 作者 出版社 類別 出版時(shí)間 價(jià)格n); printf(%st%st%st%st%st%.0lft%.2lf n, p-num,p-name,p-writer,p-press,p-kind,p-time,p

36、-price);i+;p=p-next;if(i=0) system(cls);printf(n 對(duì)不起!沒有找到名為%s的圖書!n,b); system(pause);printf(nnnttt是否繼續(xù)查找圖書信息?(1.是/其他.返回):);scanf(%d,&n); if(n=1) gfind();elsesystem(cls);menu(); void Findofwriter(struct tushu *head) int i=0,n; char b20; struct tushu *p; p=head; printf(n 請(qǐng)輸入要查詢的圖書作者姓名:); scanf(%s,b); while(p!=NULL) if(strcmp(p-writer,b)=0) printf(n 編號(hào) 書名 作者 出版社 類別 出版時(shí)間 價(jià)格n); printf(%st%st%st%st%st%.0lft%.2lf n, p-num,p-name,p-writer,p-press,p-kind,p-time,p-price); i+; p=p-next

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!