




已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
/*需要在源代碼相同目錄下創(chuàng)建四個txt文件:tushu_list.txt,jieshu_list.txt,xuesheng_list.txt,guanliyuan.txt*/#include#include #includestruct tushu /*圖書結(jié)構(gòu)體*/char num11; /*編號*/char name31; /*書名*/char writer21; /*作者*/char press21; /*出版社*/char kind21; /*類別*/ double time; /*時間*/double price; /*價格*/struct tushu *next;struct stu /*學生結(jié)構(gòu)體*/int snum; /*學號*/char mima11; /*密碼*/ struct stu *next;struct jieshu /*借書信息結(jié)構(gòu)體*/ int xuehao; /*學生學號*/ char num11; /*編號*/char name31; /*書名*/char writer21; /*作者*/char press21; /*出版社*/char kind21; /*類別*/ double time; /*時間*/double price; /*價格*/struct jieshu *next; ;int denglu=-1;/*已登錄學生學號*/ FILE *fp; /*圖書文件*/FILE *fp1; /*管理員信息文件*/ FILE *fp2; /*學生信息文件*/FILE *fp3; /*借書信息文件*/ int main();/*主函數(shù)聲明*/ struct tushu * create(); /*從文件創(chuàng)建圖書鏈表(從文件中讀出圖書信息,建立單鏈表)*/struct stu * xcreate(); /*從文件創(chuàng)建學生信息(從文件讀出學生信息,建立學生鏈表)*/struct jieshu * jcreate();/從文件創(chuàng)建借書信息鏈表struct jieshu * borrowcreate(struct tushu *k,struct jieshu *h);/直接創(chuàng)建借書信息鏈表 struct tushu * Input(); /*圖書添加(可進行圖書的添加)*/void menu(); /*管理員主菜單(管理員進入對圖書及學生信息進行管理操作)*/void xmenu(); /*學生主菜單(學生進入可對圖書,密碼進行操作)*/void gfind(); /*管理員查詢(管理員可按一定的方式查詢圖書)*/void xfind(); /*學生查詢(學生可按一定的方式查詢圖書)*/void secret(); /*管理員權(quán)限(管理員登陸所用,輸入錯誤次數(shù)過多自動退出)*/void sort(struct tushu *head); /*排序(管理員可按一定的方式對圖書進行排序,排序完之后可選擇文件進行保存)*/void fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void jsprint(struct jieshu *h); /將借書信息添加到借書文件 void jfprint_(struct tushu *head); /*借書保存(借書成功之后自動從圖書館刪除)*/void fprint_(struct tushu *head); /*保存(可覆蓋保存如修改,刪除,排序后用)*/void gBrowse(struct tushu *head); /*管理員瀏覽(對圖書進行遍歷)*/void xBrowse(struct tushu *head); /*學生瀏覽(學生對圖書進行遍歷)*/void count(struct tushu *head); /*統(tǒng)計數(shù)量(管理員可對圖書進行統(tǒng)計)*/void Findofname(struct tushu *head); /*按書名查找*/void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *head); /*按類別查找*/void xFindofname(struct tushu *head); /*學生按書名查找*/void xFindofwriter(struct tushu *head); /*學生按作者查找*/void xFindofkind(struct tushu *head); /*學生按類別查找*/void Sort_time(struct tushu * head); /*按時間排序(管理員按時間對圖書進行排序,排序完之后可選擇文件進行保存)*/void Sort_price(struct tushu * head); /*按價格排序*/void Sort_num(struct tushu * head); /*按編號排序*/void Delete(struct tushu * head,char m15);/*按編號刪除(管理員可按編號刪除圖書)*/void Revise(struct tushu *head); /*修改(管理員可對圖書進行修改,并選擇是否保存)*/void borrow(struct tushu *head); /*借書*/void huanshu(struct tushu *head); /*還書(學生借完書之后進行還書,若沒有圖書則不能借)*/void gxinxi(); /*管理員信息(有管理員的賬號及密碼,可進行修改)*/void xmima(struct stu *head1); /*學生密碼修改(學生可對自己的密碼進行修改)*/void xsecret(struct stu *head1); /*學生權(quán)限(學生登陸所用)*/void jsdelete(struct jieshu *h);/學生還書時刪除借書記錄 void putin(jieshu *h); /將還書信息加入圖書文件 /*-*/void menu()/*管理員主菜單(管理員進入對圖書及學生信息進行管理操作)*/int choice,n=0;struct tushu *head;struct stu *head1,*p;char m15;there:printf( n); printf( 圖書管理系統(tǒng) n);printf( n);printf( 0退出系統(tǒng) n); printf( n);printf( 1返回主菜單 n);printf( n);printf( 2瀏覽圖書 n);printf( n);printf( 3統(tǒng)計圖書數(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修改賬號及密碼 n);printf( n);printf( 10學生信息 n);printf( n);printf( 請選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) system(cls);printf(nnntt您已退出登錄!nnnn);system(pause);main();else if(choice=2)system(cls);if(head=NULL)printf(沒有圖書,請先添加圖書!n);system(pause);system(cls);menu();gBrowse(head);else if(choice=3)system(cls);count(head);else if(choice=4)system(cls);if(head=NULL)printf(沒有圖書,請先添加圖書!n);system(pause);system(cls);menu();gfind();else if(choice=5)Input();else if(choice=6)system(cls);if(head=NULL)printf(沒有圖書,請先添加圖書!n);system(pause);system(cls);menu();sort(head);else if(choice=7)system(cls);if(head=NULL)printf(沒有圖書,請先添加圖書!n);system(pause);system(cls);menu();Revise(head) ;else if(choice=8)if(head=NULL)printf(沒有圖書,請先添加圖書!n);system(pause);system(cls);menu();printf( 請輸入想要刪除的圖書編號:); scanf(%s,m);Delete(head,m);else if(choice=9)gxinxi();else if(choice=10)system(cls);head1=xcreate();if(head1=NULL)printf(沒有學生信息,請到xuesheng_list.txt添加!n);system(pause);system(cls);menu();printf(學生學號 密碼n);for(p=head1;p!=NULL;p=p-next)printf(%-10d %-10sn,p-snum,p-mima);system(pause);system(cls);menu();else if(choice=0)system(cls);printf(nnnn);printf( 感謝使用圖書管理系統(tǒng) nnnnn);exit(0);elsesystem(cls);printf(nnnn 輸入錯誤,請重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯誤次數(shù)太多,自動退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);system(pause);exit(0);goto there;/-void xmenu()/*學生主菜單(學生進入可對圖書,密碼進行操作)*/ struct tushu *head;struct stu *head1;int choice,n=0;there:printf( n); printf( 圖書借閱系統(tǒng) n);printf( n);printf( 0退出系統(tǒng) n); printf( n);printf( 1返回主菜單 n);printf( n);printf( 2瀏覽圖書 n);printf( n);printf( 3查詢 n);printf( n);printf( 4借書 n);printf( n);printf( 5還書 n);printf( n);printf( 6修改密碼 n);printf( n);printf( 請選擇:);fflush(stdin);head=create();scanf(%d,&choice);if(choice=1) denglu=-1; system(cls);printf(nnntt您已退出登錄!nnnn);system(pause);main();else if(choice=2)system(cls);if(head=NULL) printf(沒有圖書!n);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=xcreate();if(head1=NULL)printf(學生信息被清空!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 輸入錯誤,請重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯誤次數(shù)太多,自動退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);system(pause);exit(0);goto there;/-void gfind()/*管理員查詢(管理員可按一定的方式查詢圖書)*/int choice,n=0;struct tushu *head;there:system(cls);printf( n);printf( 圖書借閱系統(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( 請選擇:);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 輸入錯誤,請重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯誤次數(shù)太多,自動退出! nnn);printf( 感謝使用圖書管理系統(tǒng) nnn);system(pause);exit(0);goto there;/-void xfind() /*學生查詢(學生可按一定的方式查詢圖書)*/struct tushu *head;int choice,n=0;there:system(cls);printf( n); printf( 圖書借閱系統(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( 請選擇:);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);xmenu();elsesystem(cls);printf(nnnn 輸入錯誤,請重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯誤次數(shù)太多,自動退出! nnn);printf( 感謝使用圖書借閱系統(tǒng) nnn);system(pause);exit(0);goto there;/-void sort(struct tushu *head)struct tushu *head2;int choice,n=0;there:system(cls);printf( n); printf( 圖書借閱系統(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( 請選擇:);fflush(stdin);head2=create();scanf(%d,&choice);if(choice=1)system(cls); Sort_time(head2);else if(choice=2)system(cls);Sort_price(head2);else if(choice=3)system(cls);Sort_num(head2);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 輸入錯誤,請重新輸入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你錯誤次數(shù)太多,自動退出! nnn);printf( 感謝使用圖書借閱系統(tǒng) nnn); system(pause); exit(0);goto there;/-struct tushu *Input() struct tushu *p1,*p2,*head,*ptr; char num;int x,i=0;system(cls);p1=(struct tushu *)malloc(sizeof(struct tushu); head=p1;p1-price=-1;while(i!=1)printf(請輸入編號。若要結(jié)束圖書信息錄入,請輸入#。n);scanf(%s,p1-num);if(strcmp(p1-num,#)=0)i=1;while(i!=1)printf(請依次輸入書名 作者 出版社 類別 出版年份 價格:n);scanf(%s%s%s%s%lf%lf, p1-name,p1-writer,p1-press,p1-kind,&p1-time,&p1-price);p2=p1;p1=(struct 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(cls);menu(); /-void fprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=NULL) printf(File open error!n);system(pause); exit(0); if(head=NULL)printf(沒有圖書保存!n);system(pause);system(cls);menu();for(p1=head;p1!=NULL;p1=p1-next) /*遍歷*/fprintf(fp,%-10s %-30s %-20s %-20s %-20s %.0lf %.2lfn, p1-num,p1-name,p1-writer,p1-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 a31;printf(請輸入你保存的文件!n);scanf(%s,a);if(fp=fopen(a,w)=NULL)printf(File open error!n);system(pause); exit(0); if(head=NULL) system(cls); printf(沒有圖書!n); system(pause); system(cls); menu(); for(p1=head;p1!=NULL;p1=p1-next) fprintf(fp,%-10s %-30s %-20s %-20s %-20s %.0lf %.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price );/*將圖書信息寫入文件*/ fclose(fp); system(cls); printf(n 圖書信息已成功保存到文件 %s 中!n,a); system(pause); system(cls); menu();/-void hfprint(struct tushu *head) struct tushu *p1; if(fp=fopen(tushu_list.txt,a)=NULL) printf(File open error!n);system(pause); exit(0); if(head=NULL)printf(沒有還書!n);xmenu();for(p1=head;p1!=NULL;p1=p1-next) /*遍歷*/fprintf(fp,%-10s %-30s %-20s %-20s %-20s %.0lf %.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,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);system(pause); exit(0);if(head=NULL)xmenu();for(p1=head;p1!=NULL;p1=p1-next)fprintf(fp,%-10s %-30s %-20s %-20s %-20s %.0lf %.2lfn, p1-num,p1-name,p1-writer,p1-press,p1-kind,p1-time,p1-price );/*將圖書信息寫入文件*/fclose(fp);system(cls);getchar(); xmenu();/-void jspri
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 算法與數(shù)據(jù)結(jié)構(gòu)研究進展試題及答案
- 網(wǎng)絡管理員考題解析與試題及答案
- 計算機技術(shù)發(fā)展趨勢分析試題及答案
- 熱點法律問題與法學概論試題及答案結(jié)合
- 行政法學習成效評估的方法探討:試題及答案
- 2025年法學概論考試的軟技能要求及試題及答案
- 財務健康度評估試題及答案
- 技術(shù)員考試試題及答案比較
- 軟件重構(gòu)與優(yōu)化技術(shù)研究試題及答案
- 四川省成都市西川中學2025屆八下數(shù)學期末統(tǒng)考模擬試題含解析
- 外貿(mào)PI 簡單模板
- 境外直接投資外匯登記業(yè)務申請表
- 十二木卡姆課件
- 全面輪機英語專業(yè)詞匯
- 安徽工貿(mào)職業(yè)技術(shù)學院輔導員考試題庫
- 廣東省珠海市電工等級低壓電工作業(yè)
- 【國開】2023年春《互換性與技術(shù)測量》形考任務一二三四參考答案
- 徠卡v lux4中文說明書大約工作時間和可拍攝圖像數(shù)量
- 英語演講知到章節(jié)答案智慧樹2023年哈爾濱工程大學
- 危險化學品(柴油)儲運安全管理考試試題及答案
- 2023年下半年軟件設計師上午真題及參考答案
評論
0/150
提交評論