《C语言图书管理系统源代码》由会员分享,可在线阅读,更多相关《C语言图书管理系统源代码(82页珍藏版)》请在金锄头文库上搜索。
1、#include#include#includestruct tushu /*图书结构体*/char num10; /*编号*/char name20; /*书名*/char writer20; /*作者*/char press20; /*出版社*/char kind20; /*类别*/ double time; /*时间*/double price; /*价格*/struct tushu *next;struct stu /*学生结构体*/int snum; /*学号*/char mima10; /*密码*/struct stu *next;FILE *fp; /*图书文件*/FILE *f
2、p1; /*管理员信息文件*/ FILE *fp2; /*学生信息文件*/void menu(); /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/void xmenu(); /*学生主菜单(学生进入可对图书,密码进行操作)*/void gfind(); /*管理员查询(管理员可按一定的方式查询图书)*/void xfind(); /*学生查询(学生可按一定的方式查询图书)*/void secret(); /*管理员权限(管理员登陆所用,输入错误次数过多自动退出)*/void sort(); /*排序(管理员可按一定的方式对图书进行排序,排序完之后可选择文件进行保存)*/void
3、 fprint(struct tushu *head); /*保存(可追加的保存,如添加可用)*/void fprint_(struct tushu *head); /*保存(可覆盖保存如修改,删除,排序后用)*/void hfprint(struct tushu *head); /*还书保存 (还书成功后自动保存到文件)*/void jfprint_(struct tushu *head); /*借书保存 (借书成功之后自动从图书馆删除)*/struct tushu * Input(); /*图书添加(可进行图书的添加)*/struct tushu * create(); /*从文件创建链表
4、(从文件中读出信息,建立单链表)*/void gBrowse(struct tushu *head); /*管理员浏览(对图书进行遍历)*/void xBrowse(struct tushu *head); /*学生浏览(学生对图书进行遍历)*/void count(struct tushu *head); /*统计数量(管理员可对图书进行统计)*/void Findofname(struct tushu *head); /*按书名查找*/void Findofwriter(struct tushu *head); /*按作者查找*/void Findofkind(struct tushu *
5、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_nu
6、m(struct tushu * head); /*按编号排序*/void Delete(struct tushu * head,char m15);/*按编号删除(管理员可按编号删除图书)*/void Revise(struct tushu *head); /*修改 (管理员可对图书进行修改,并选择是否保存)*/void borrow(struct tushu *head); /*借书*/void huanshu(); /*还书(学生借完书之后进行还书,若没有图书则不能借)*/void gxinxi(); /*管理员信息(有管理员的账号及密码,可进行修改)*/void xmima(struc
7、t stu *head1); /*学生密码修改(学生可对自己的密码进行修改)*/struct stu * xcreate(); /*从文件创建学生信息(从文件读出学生信息,建立学生链表)*/void xsecret(struct stu *head1); /*学生权限(学生登陆所用)*/void menu() /*管理员主菜单(管理员进入对图书及学生信息进行管理操作)*/int choice,n=0;struct tushu *head;struct stu *head1,*p;char m15;there:printf( n); printf( socat 图书管理系统 n);printf(
8、 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( 7修改 n);printf( n);printf( 8删除 n);printf( n);printf( 9修改账号及密码 n);printf( n);printf( 10学生信息 n);prin
9、tf( n);printf( 请选择:);fflush(stdin);head=create();scanf(%d,if(choice=1) /help();printf(没有内容! n);system(pause);system(cls);menu();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)sys
10、tem(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);m