图书信息管理系统(1)
本系统结构简洁,功能不多,供初学者参考运用! 需求分析 我所设计的系统主要包括学生登陆模块和管理员登陆模块,并设置了简洁的权限处理(只有帐号和密码全都正确时方能进入系统)。但并未尽善尽美,有些地方存在漏洞,主要内容及功能如下: 学生登录模块: 1.图书查询(包括对书名,作者,分类号(即是编号),出版社,出版时间,价格,总库存量及现库存量的查询)。 2.图书排序(可对各个图书信息的项目进行从小到大排序)。 3.阅读全部图书(输出全部图书信息) 4.借书系统(每人只可借一本书) 5.还书系统 6.修改密码(查看密码是否修改胜利时,须要进入查看个人资料,用新密码进入) 7.查看个人资料(图书名与分类号初始为0,意味着尚未借阅任何图书) 管理员登陆系统: 1.图书查询 2.图书排序 3.阅读全部图书 4.添加图书信息(可逐个添加,也可批量添加) 5.删除图书信息(输入时,须要输入图书的分类号) 6.修改图书信息(可修改图书名,作者名等相关图书信息) 头函数名: #include #include #include void welcome();//欢迎用户运用 int denglu1(struct student s[],int i);//学生登陆 int denglu2();//管理员登陆 struct book * creatbook();//创建链表,将文件中的图书信息写入链表 int choice();//选择菜单 int choice1();//学生选择菜单 int choice2();//管理员选择菜单 void pmenu(struct book * head);//学生主功能选择菜单 void menu2(struct book * head);//管理员主功能选择菜单 struct book * addbook(struct book * head);//添加图书信息 int chashu(struct book *head,char m[20]);//查找分类号是否存在 struct book *insert1(struct book * head,struct book *p);//增加接点 void printbook(struct book * head);//图书查找 int putchoice();//选择查找内容 void chaname1(struct book * head);//按书名查找 void chaprice(struct book * head);//按价格查找 void chacnum(struct book * head);//按分类号查找 void chazuozhe(struct book * head);//按作者名查询图书信息 void chatime(struct book * head);//按出版时间查找 void chapress(struct book * head);//按出版社查找 void sortbook(struct book * head);//排序选择 void shuming(struct book * head);//按图书名排 void ptime(struct book * head);//按出版时间排序 void price1(struct book * head);//按图书价格排 void fenleihao(struct book * head);//按图书编号排序 void zuo1(struct book * head);//按作者名排序 void pre1(struct book * head);//按出版社排序 struct book * shanchubook(struct book * head);//删除图书信息 void fprint(struct book * head);//将新链表写入文件中 void xiugai(struct book * head);//修改图书信息 void printbook1(struct book * head);//阅读全部图书信息 int chacun(struct book * head,char m[20]);//查找库存量是否为0 int jige();//求出文件中客户的个数 int xcz(struct book * head,char cnum[20]);//把库内图书的库存量减一 int xcz1(struct book * head,char cnum[20]);//把库内图书的库存量加一 void backbook(struct student s[],int i,struct book * head);//还书函数 void borrowbook(struct student s[],int i,struct book * head);//借书函数 void xmima(struct student s[],int i);//修改密码 void xwj(struct student s[],int i);//将修改后的数组写入文件 void oneself(struct student s[],int i);//查看个人信息 int jie(char cnum[20],int i,struct student s[],char mnum[20]);//查询是否借书 int huan(int i,struct student s[],char mnum[20]);//借书查询是否借书 图书信息结构体: struct book{ char bookname[20];//书名 char ename[20];//作者 char cnum[20];//图书分类号即图书编号,区分其余图书唯一特征 char pubpress[20];//出版社 char pubtime[20];//出版时间 int price;//价格 int zc;//现库存 int xc;//总库存 struct book *next;//用链表建立图书信息 }; int denglu2()//管理员登陆系统 { FILE *fp; struct xinxi{ char mnum[20];//管理员登陆账号 char mima[20];//管理员登录密码 }temp; char mnum[20],mima[20]; int m,n,i; for(i=0;i<3;i++) { printf(“请输入帐号:“); scanf(“%s“,mnum); printf(“请输入密码:“); scanf(“%s“,mima); if((fp=(“2.txt“,“r“))==NULL){ printf(“Can n