《最新C语言图书管理系统源代码.docx》由会员分享,可在线阅读,更多相关《最新C语言图书管理系统源代码.docx(217页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言图书管理系统源代码C语言图书管理系统源代码/*需要在源代码相同目录下创建四个txt文件:tushu_list.txt,jieshu_list.txt,xuesheng_list.txt,guanliyuan.txt*/#include#include #includestruct tushu /*图书结构体*/char num11; /*编号*/char nam
2、e31; /*书名*/char writer21; /*作者*/char press21; /*出版社*/char kind21; /*类别*/ double time; /*时间*/double price; /*价格*/struct tushu *next;struct stu /*学生结构体*/int snum; /*学号*/char mima11; /*密码*/ struct stu *next;struct jieshu /*借书信息结构体*/ int xuehao; /*学生学号*/ char num11; /*编号*/char name31; /*书名*/char writer2
3、1; /*作者*/char press21; /*出版社*/char kind21; /*类别*/ double time; /*时间*/double price; /*价格*/struct jieshu *next; ;int denglu=-1;/*已登录学生学号*/ FILE *fp; /*图书文件*/FILE *fp1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/FILE *fp3; /*借书信息文件*/ int main();/*主函数声明*/ struct tushu * create(); /*从文件创建图书链表(从文件中读出图书信息,建立单链表)*/st
4、ruct stu * xcreate(); /*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/struct jieshu * jcreate();/从文件创建借书信息链表struct jieshu * borrowcreate(struct tushu *k,struct jieshu *h);/直接创建借书信息链表 struct tushu * Input(); /*图书添加(可进行图书的添加)*/void menu(); /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu(); /*学生主菜单(学生进入可对图书,密码进行操作)*/void gfi
5、nd(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind(); /*学生查询(学生可按一定的方式查询图书)*/void secret(); /*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort(struct tushu *head); /*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void jsprint(struct jieshu *h); /将借书信息添加到借书文件 void jfprint_(st
6、ruct tushu *head); /*借书保存(借书成功之后自动从图书馆删除)*/void fprint_(struct tushu *head); /*保存(可覆盖保存如修改,删除,排序后用)*/void gBrowse(struct tushu *head); /*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head); /*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书
7、名查找*/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); /*按时间排序(管理员按时间对
8、图书进行排序,排序完之后可选择文件进行保存)*/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 t
9、ushu *head); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struct stu *head1); /*学生密码修改(学生可对自己的密码进行修改)*/void xsecret(struct stu *head1); /*学生权限(学生登陆所用)*/void jsdelete(struct jieshu *h);/学生还书时删除借书记录 void putin(jieshu *h); /将还书信息加入图书文件 /*-*/void menu()/*管理员主菜单(管理员进入
10、对图书及学生信息进行管理操作)*/int choice,n=0;struct tushu *head;struct stu *head1,*p;char m15;there:printf( n); printf( 图书管理系统 n);printf( n);printf( 0退出系统 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);prin
11、tf( 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(hea
12、d=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(没有图书
13、,请先添加图书!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
14、);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(cl
15、s);printf(nnnn);printf( 感谢使用图书管理系统 nnnnn);exit(0);elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);system(pause);exit(0);goto there;/-void xmenu()/*学生主菜单(学生进入可对图书,密码进行操作)*/ struct tushu *head;struct stu *head1;in
16、t choice,n=0;there:printf( n); printf( 图书借阅系统 n);printf( n);printf( 0退出系统 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(
17、%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(choic
18、e=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( 感谢使用图书管理系统 nnn
19、);exit(0);elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);system(pause);exit(0);goto there;/-void gfind()/*管理员查询(管理员可按一定的方式查询图书)*/int choice,n=0;struct tushu *head;there:system(cls);printf( n);printf( 图书借阅系统 n);
20、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
21、);Findofkind(head);else if(choice=0)system(cls);menu();elsesystem(cls);printf(nnnn 输入错误,请重新输入! nnn );system(pause);system(cls);n+;if(n=3)printf( nnn 你错误次数太多,自动退出! nnn);printf( 感谢使用图书管理系统 nnn);system(pause);exit(0);goto there;/-void xfind() /*学生查询(学生可按一定的方式查询图书)*/struct tushu *head;int choice,n=0;the
22、re:system(cls);printf( n); printf( 图书借阅系统 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)
23、;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 你错误次数太多,自动退出! nnn);printf( 感谢使用图书借阅系统 nnn);system(pause);exit(0);goto there;/-void sort(struct tushu
24、*head)struct tushu *head2;int choice,n=0;there:system(cls);printf( n); printf( 图书借阅系统 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