




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include header.h#include struct.hint printmainui() /主界面,并返回选择,int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *欢迎来到图书管理系统* );printf(n );printf(n );printf(n *1 管理员 );printf(n );printf(n *2 教师 );printf(n );printf(n *3 学生 );printf(n );printf(n *0 退出程序 );printf(n );printf(
2、n );printf(n n); printf( );scanf(%d,&ret);return ret;int printadminui() /管理员界面int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊贵的管理员你好* );printf(n );printf(n );printf(n *1 图书上架 );printf(n );printf(n *2 图书下架 );printf(n );printf(n *3 图书浏览 );printf(n );printf(n *4 用户管理 );
3、printf(n );printf(n *0 上一层 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printuermanageui()int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊贵的管理员你好* );printf(n );printf(n );printf(n *1 教师用户 );printf(n );printf(n *2 学生用户 );printf(n );print
4、f(n *3 浏览全部 );printf(n );printf(n *0 上一层 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printuerfunui()int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊贵的管理员你好* );printf(n );printf(n );printf(n *1 查询 );printf(n );printf(n *2 增加 );printf(n
5、);printf(n *3 删除 );printf(n );printf(n *0 上一层 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printteacherui() /教师界面int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊敬的老师你好* );printf(n );printf(n );printf(n *1 借书 );printf(n );printf(n *2 还书
6、);printf(n );printf(n *3 图书浏览 );printf(n );printf(n *4 续借书籍 );printf(n );printf(n *0 上一层 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printstudentui() /学生界面 int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *亲爱的同学你好* );printf(n );printf(n )
7、;printf(n *1 借书 );printf(n );printf(n *2 还书 );printf(n );printf(n *3 图书浏览 );printf(n );printf(n *4 续借书籍 );printf(n );printf(n *0 上一层 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int login()/登陆return -1;int adminoperation(int choice);/管理员界面的操作声明book* scanbooks(book* books,
8、int *count);/读取书籍信息void printbooks(book* books,int count);/打印书籍信息void printbook(book book);book* uploadbooks();/图书上架void savebook(book book,file* fp);/保存书籍信息void savebooks(book* books,book book ,int lastcount,int updatecount);void saveuser(user user,file* fp);/保存用户信息void saveusers(user* users,user u
9、ser,int lastcount,int updatecount,char* filename);book* downbooks();user* scanuers(user* users,int *count,char* filename);void printusers(user* users,int count);void printuser(user user);void userfunrealized(int choice,char* filename);void uermanagerealized(int choice);void adduser(char* filename);v
10、oid deluser(char * filename);void tip();/提示信息void mainoperation(int choice)/对于主界面的选择操作int choice1= 0;switch(choice)case 1:dochoice1 = printadminui();adminoperation(choice1);while(choice1 != 0);break;case 2:printteacherui();break;case 3:printstudentui();break;case 0:break;default:break;int adminopera
11、tion(int choice)/管理员界面的操作int count = 0;switch(choice)case 1:uploadbooks();system( pause ); break;case 2:downbooks();system( pause ); break;case 3:int count=0;book* books= 0;books = scanbooks(books,&count);printbooks(books,count);system( pause ); break;case 4:int choice1 = 0;dochoice1 = printuermanag
12、eui();uermanagerealized(choice1);while(choice1 != 0);break;case 0:break;default:break;return choice;book* scanbooks(book* books,int* count)int num = 0;/用于存储读取到的书籍种数int i;file *fp;books = 0; fp = fopen(book.txt,r);fscanf(fp,%d,&num);*count = num;if(num 0)books = (book*)malloc(num * sizeof(book);for(i
13、 = 0; i num; i+)booksi.bookid = (char*)malloc(sizeof(char) * 256);booksi.bookname= (char*)malloc(sizeof(char) * 256);booksi.author= (char*)malloc(sizeof(char) * 256);booksi.pubdate= (char*)malloc(sizeof(char) * 256);booksi.price= (char*)malloc(sizeof(char) * 256);booksi.style= (char*)malloc(sizeof(c
14、har) * 256);fscanf(fp,%s,booksi.bookid);/读取数编号fscanf(fp,%s,booksi.bookname);/读取书名fscanf(fp,%s,booksi.author);/读取作者fscanf(fp,%s,booksi.pubdate);/读取出版日期fscanf(fp,%s,booksi.price);/读取金额fscanf(fp,%s,booksi.style);/读取类别fscanf(fp,%d,&(booksi.totalcount);/总入库量fscanf(fp,%d,&(booksi.nowcount);/库存量fscanf(fp,%
15、d,&(booksi.outcount);/借出数量fclose(fp);return books;void printbooks(book* books,int count)int i ;if(count = 0)printf( );printf(图书信息为空!);return ;for(i = 0 ; i count; i+)printf( t第%d款图书 n,i+1);printbook(booksi);void printbook(book book)printf(n ); printf(n 图书编号:%st图书名称:%st作 者:%st ,book.bookid,book.bookn
16、ame,book.author);printf(n 出版日期:%st金 额:%stt类 别:%st ,book.pubdate,book.price,book.style);printf(n 入库总量:%dt现库存量:%dtt借出数量:%dt ,book.totalcount,book.nowcount,book.outcount);printf(n n); book* uploadbooks()book one;book* books =0;char choice = z;int count=0;int i =0;char bookid256;int flag = -1;/是否库存已有该书籍
17、标志,-1无,大于等于0则有增加books = scanbooks(books,&count);/读取原书籍信息system(cls);/以下开始进行添加操作tip();/输出提示信息printf(n请你输入图书编号:);scanf(%s,bookid);for(i = 0; i count;+i)if(strcmp(bookid,booksi.bookid) = 0)flag = i;/存在某种书籍只需要改变数量if(flag != -1)printf(n管理员你好,你正在添加编号为%s的书籍为已有书籍。,bookid);printbook(booksflag);printf(n你确定更新其
18、数量吗?(1-y,0-n);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/更改入库量,现存数量printf(n输入更新数量:);scanf(%d,&one.totalcount);booksflag.totalcount += one.totalcount;booksflag.nowcount += one.totalcount;savebooks(books,one,count,0);printf(n成功添加编号为%s的书籍:%d本n,boo
19、kid,one.totalcount);elseone.bookid = (char*)malloc(sizeof(char) * 256);one.bookname= (char*)malloc(sizeof(char) * 256);one.author= (char*)malloc(sizeof(char) * 256);one.pubdate= (char*)malloc(sizeof(char) * 256);one.price= (char*)malloc(sizeof(char) * 256);one.style= (char*)malloc(sizeof(char) * 256
20、);printf(n管理员你好,你正在添加编号为%s的书籍为新进书籍。你确定归类它吗?(1-y,0-n),bookid);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/录取新书籍信息printf(n图书编号:);scanf(%s,one.bookid);/读取数编号printf(n图书名称:);scanf(%s,one.bookname);/读取书名printf(n作 者:);scanf(%s,one.author);/读取作者printf(n
21、出版日期:);scanf(%s,one.pubdate);/读取出版日期printf(n金 额:);scanf(%s,one.price);/读取金额printf(n类 别:);scanf(%s,one.style);/读取类别printf(n入库总量:);scanf(%d,&one.totalcount);/总入库量printf(n现库存量:);scanf(%d,&one.nowcount);/库存量printf(n借出数量:);scanf(%d,&one.outcount);/借出数量savebooks(books,one,count,1);/写入文件return books;book*
22、downbooks()book one;book* books =0;char choice = z;int count=0;int i =0;char bookid256;int flag = -1;/是否库存已有该书籍标志,-1无,大于等于0则有books = scanbooks(books,&count);/读取原书籍信息system(cls);/以下开始进行添加操作tip();/输出提示信息printf(n请你输入图书编号:);scanf(%s,bookid);for(i = 0; i count;+i)if(strcmp(bookid,booksi.bookid) = 0)flag
23、= i;/存在某种书籍只需要改变数量if(flag != -1)printf(n管理员你好,你正在下架编号为%s的书籍为已有书籍。,bookid);printbook(booksflag);printf(n请核对是否有未归还的书籍,若有建议不要下架。n你确定让其下架吗?(1-y,0-n);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/更改入库量,现存数量booksflag.bookid = bookscount-1.bookid;booksfl
24、ag.bookname = bookscount-1.bookname;booksflag.author = bookscount-1.author;booksflag.nowcount = bookscount-1.nowcount;booksflag.outcount = bookscount-1.outcount;booksflag.price = bookscount-1.price;booksflag.pubdate = bookscount-1.pubdate;booksflag.style = bookscount-1.style;booksflag.totalcount = b
25、ookscount-1.totalcount;savebooks(books,one,count,-1);printf(n成功下架编号为%s的书籍:%d本n,bookid,booksflag.totalcount);elseprintf(n管理员你好,系统中不存在你正在下架编号为%s的书籍。,bookid);return books;void savebooks(book* books,book book ,int lastcount,int updatecount)int i = 0;file* fp = fopen(book.txt,w);fprintf(fp,%dn,lastcount+
26、updatecount);/写入书本种数for(i = 0 ; i lastcount+updatecount;+i)if(i lastcount)savebook(booksi,fp);elsesavebook(book,fp);fclose(fp);void savebook(book book,file* fp)fprintf(fp,%sn,book.bookid);/存储数编号fprintf(fp,%sn,book.bookname);/存储书名fprintf(fp,%sn,book.author);/存储作者fprintf(fp,%sn,book.pubdate);/存储出版日期fp
27、rintf(fp,%sn,book.price);/存储金额fprintf(fp,%sn,book.style);/存储类别fprintf(fp,%dn,(book.totalcount);/存储总入库量fprintf(fp,%dn,(book.nowcount);/存储库存量fprintf(fp,%dn,(book.outcount);/存储借出数量void saveuser(user user,file* fp)/保存用户信息int i = 0;fprintf(fp,n%s,user.userid);fprintf(fp,n%s,user.username);fprintf(fp,n%d,
28、user.borrowcount);for(i = 0; i user.borrowcount;+i)fprintf(fp,n%s,user.borrowbooksi.bookid);void saveusers(user* users,user user ,int lastcount,int updatecount,char* filename)int i = 0;file* fp = fopen(filename,w);fprintf(fp,n%d,lastcount+updatecount);for(i = 0; i lastcount+updatecount;+i)if(i 0)use
29、rs = (user*)malloc(num * sizeof(user);for(i = 0; i 0)usersi.borrowbooks = (borrowbooks*)malloc(sizeof(borrowbooks) * usersi.borrowcount);for(j = 0; j usersi.borrowcount;+j)fscanf(fp,%s,usersi.borrowbooksj.bookid);/读取用户编号fclose(fp);return users;void printusers(user* users,int count)int i = 0;for(i = 0; i count; +i)printf(n编号为%s用户信息:,usersi.userid); pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自考专业(公共关系)模拟试题(考点提分)附答案详解
- 2025钢结构彩钢板制造与安装一体化合同
- 考点攻克人教版8年级数学下册《平行四边形》难点解析练习题(含答案详解)
- 2025年安全知识竞赛题库(含答案)
- 2025年管理类联考综合复试真题(含答案和解析)
- 2025计算机三级高分题库含完整答案详解(名师系列)
- 2025年自考专业(人力资源管理)考前冲刺练习题【黄金题型】附答案详解
- 2025水电维护服务合同
- 历年安全员考及答案2
- 2024-2025学年度机械设备制造修理人员复习提分资料带答案详解(综合卷)
- 2025劳动合同书(示范文本)
- 绳索在消防领域的技术革新-全面剖析
- 慢阻肺护理新进展
- 中秋节知识课件
- 反三违奖惩考核办法
- 人教版(新教材)高中生物选择性必修1课件3:4 3 免疫失调
- 《SLT 582-2025水工金属结构制造安装质量检验检测规程》知识培训
- 医学思政教育案例
- “燕园元培杯”2023-2024学年全国中学生地球科学奥林匹克竞赛决赛试题详解
- 中国血脂管理指南(基层版+2024年)解读
- 分子诊断技术在感染性疾病中的应用-深度研究
评论
0/150
提交评论