资源描述:
《西文图书室管理系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、四文图书室管理系统该系统存储以下信息:对于同一作者同一书名的书,存储书名、书目编号、作者名、库存册数(不包括已借出的)和己借出册数;对于每一木书还要存储一个登陆号(这是区别每一本书的唯一标志)、当前借阅该书的读者姓名与借书证号以及借阅口期。系统功能要求如下:①创建存储系统。②增加新书。③删除无使用价值的I口书。④处理借书。要求读者提供书目号与登陆号,一位读者限借2册。(应检查库中有无读者要求借阅的图书,检查该读者已借阅图书的数量)。⑤处理还书。⑥查询某登陆号的书被谁所借。[提示]创建书信息类,包括书名、书目编号、作者名、登陆号、当前借阅该书的读者姓
2、名与借书证号、借阅口期,还定义两个静态数据成员库存册数(不包括己借出的)、已借出册数,用于记录同一作者同一书名的书的借阅情况,应派生自CObject类,并实现序列化操作;在文档类中添加表示库存书和已借出书的链表和数组(可用MFC的群类),在文档类Serialize函数中实现序列化;通过菜单打开对话框,在对话框中实现增加新书、借书、还书和查询功能并及时更新文档(用多个对话框);视图类显示查询结果;库存书和己借出书的信息保存到文件中并可读出。#include#include#include#inc
3、lude#include#defineSTACK_INIT_SIZE10#defineOK1#defineTRUE1#defineFALSE0#defineERROR0structstudent/*定义学牛类型,用于存放借出的书籍*7intcarnum;charlendbook[10];}student[1000];structemploy广定义职工类型*/intemploynum;charemployname[15];intemployage;charemploysex[2];charemployleve[1
4、0];longintemploytage;}employ[50];structbook广定义书的类型*7{intbooknum;charbookname[10];charbookcreat[10];intturefalse;广用于借书和还书模块判断一本书是否借出的条件*/}book[1000];structcar广借书卡的数据类型*/{intcmrnurn;charstudentname[10];intstudentclass;}car[100];huanbook()/*还书函数"7{FILE*fp,*fp2;/*定义两个文件指针,fp2用于修改数
5、据时设立临时文件用,防止数据遭破坏*/inti,n;intcmrnurn;charlendbook[10];printf(”请你输入你的卡号“);scanf(”%d”,&carnum);fp=fopen("car.txt",Hrn);广读取卡号记录*7for(i=0;fread(&car[i],sizeof(structcar),1,fp)!=O;i++)/*for循环判断卡号是否存在*/{if(car[i].carnum==carnum)/*卡号存在,进入下一循环*7{n=i;fclose(fp);printf(n请输入你要还的书的名字"
6、);scanf(n%sn,lendbook);fp=fopen(,,record.txt,,,,,rM);for(i=0;fread(&student[i],sizeof(structstudent),1,fp)!=O;i++)/*判断是否借阅了输入的书*/if(strcmp(student[i].lendbook,lendbook)==0)/*借阅了该书,进入下一循环,否则出错显示*/{fclose(fp);fp=fopen(,'record.txt,',',rH);fp亠fopen(”bookl.txt”,”w”);for(i=0;fread(
7、&student[i],sizeof(structstudent),1,fp)!=O;i++){if(strcmp(student[i]」endbook,lendbook)==0){continue;/*删除还掉的书的借书记录}fwrite(&student[i],sizeof(structstudent),1,fp2);广写入原来没还的书的记录*/}fclose(fp);fclose(fp2);fp=fopen(Record.txt",Mw"):fp缶fopen(”bookl.txt”,”广);for(i=0;fread(&student[i],
8、sizeof(structstudent),1,fp2)!=0;i++){fwrite(&student[i],sizeo