无链表版图书管理系统

上传人:kms****20 文档编号:37574211 上传时间:2018-04-18 格式:DOC 页数:21 大小:60KB
返回 下载 相关 举报
无链表版图书管理系统_第1页
第1页 / 共21页
无链表版图书管理系统_第2页
第2页 / 共21页
无链表版图书管理系统_第3页
第3页 / 共21页
无链表版图书管理系统_第4页
第4页 / 共21页
无链表版图书管理系统_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《无链表版图书管理系统》由会员分享,可在线阅读,更多相关《无链表版图书管理系统(21页珍藏版)》请在金锄头文库上搜索。

1、无链表版图书管理系统无链表版图书管理系统#include#include#include#include#include#define STACK_INIT_SIZE 10#define OK 1 /*定义确定为 1,否定为 0*/#define TRUE 1#define FALSE 0#define ERROR 0struct student /*定义 student 结构,储存学生所借出的书籍信息*/int carnum;char lendbook10; /*卡号,借阅图书的书名;外借书本上限为 1000*/student1000;struct book /*定义书的类型*/int bo

2、oknum;char bookname10;char bookcreat10;int turefalse; /*该变量为判断书籍是否借出*/book1000;struct car /*定义借书卡的数据类型,卡号学生姓名与班级*/int carnum;char studentname10;int studentclass;car100;main() /*主菜单开始*/char ch1,ch2,ch3,ch4,ch5;dosystem(“cls“);/*清屏*/printf(“*Welcome to*n“); /*主菜单*/printf(“*Main Menu*n“);printf(“ 1:n“)

3、; /*查询图书*/printf(“ 2:n“); /*借阅图书*/printf(“ 3:n“); /*管理系统*/printf(“ 4:n“); /*还书 */printf(“ 0:n“);printf(“请输入:0-4(按回车键结束)n“);scanf(“%s“,switch(ch1)/*选择菜单,并调用各个函数*/case 1:chabook();break;/*调用查询书籍函数*/case 2:lendbook();break;/*调用借阅书籍函数*/case 3:dosystem(“cls“);printf(“* Welcome to Manager menu*n“); /*管理菜单

4、*/printf(“ 1:n“); /*添加图书*/printf(“ 2:n“); /*删除图书*/printf(“ 3:n“); /*修改图书资料*/printf(“ 4:n“); /*书籍统计*/printf(“ 5:n“);printf(“ 0:n“);printf(“请输入:0-5(按回车键结束)n“); scanf(“%s“,switch(ch2)case 1:addbook();break;/*调用添加书籍函数*/case 2:delbook();break;/*调用删除书籍函数*/case 3:changebook();break;/*调用修改书籍函数*/case 4:bookc

5、ount();getch();break;/*调用书籍统计函数*/case 5:dosystem(“cls“);printf(“*jie shu ka guan li system*n“); /*借书卡管理菜单*/printf(“ 1:n“); /*申请新卡*/printf(“ 2:n“); /*删除卡号*/printf(“ 3:n“); /*借书统计*/printf(“ 4:n“); /*卡号统计*/printf(“ 0:n“);printf(“请输入:0-4(按回车键结束)n“); /*请输入 0-4,其它错误*/scanf(“%s“,switch(ch4)case 1:addcar();

6、break;/*调用添加新卡信息函数*/case 2:delcar();break;/*调用删除卡信息函数*/case 3:lendcount();break;/*调用卡号借书统计函数*/case 4:carcount();break;/*调用卡号统计函数*/case 0:break;default:printf(“错误,请输入正确数字,按回车键结束n“);getch();break;while(ch4!=0);break;/*直到输入正确数字才进行下一步*/case 0:break;default:printf(“错误,请输入正确数字,按回车键结束n“);getch();break;whil

7、e(ch2!=0);break;case 4:huanbook();break;/*调用还书函数*/case 0:break;default:printf(“错误,请输入正确数字,按回车键结束n“);getch();break;while(ch1!=0);chabook() /*查询图书*/char ch5;doprintf(“*Welcome to book Search System *n“); /*欢迎进入图书查询系统*/printf(“ 1:n“); /*按书名查找*/printf(“ 0:n“); /*输入 0 返回*/scanf(“%s“,switch(ch5)case 1:fin

8、dbook();getch();break;case 0:break;default:printf(“错误,请输入正确数字n“);getch();break;/*直到输入正确数字才进行下一步*/while(ch5!=0);findbook() /*查找图书*/FILE *fp;char bookname10;int ture,i;fp=fopen(“book.txt“,“r“);printf(“请输入你要查找的书名(按回车键结束):n“); /*请输入你要查找的书名*/scanf(“%s“,bookname);for(i=0;fread(i+)/*fread()从一个流中读数据,参 数:1.用

9、于接收数据的地址2.单个元素的大小 :单位是字节而不是位,例如读取一个 int 型数据就是 4 个字节3.元素个数4.提供数据的文件指针*/if(strcmp(bookname,booki.bookname)=0)/*strcmp()比较两个数据是否相同,相同为 1*/if(booki.turefalse=1)printf(“这本书的详细信息是:n Numtbooknametzuo zhen 此书现在无人借阅n“,booki.booknum,booki.bookname,booki.bookcreat); /*这本书的详细资料是此书现在无人借阅*/else printf(“这本书已有人借出n“

10、);fclose(fp);return; /*这本书已有人借出*/fclose(fp);return;printf(“对不起,没有你要查询的书籍n“); /*没有你要查询的书籍*/fclose(fp);return;lendbook() /*借阅图书*/FILE *fp,*fp2;int i,n;int carnum;printf(“请输入你的卡号(按回车键结束)n“); /*请输入你的卡号*/scanf(“%d“,fp=fopen(“car.txt“,“r“);for(i=0;fread(i+)if(cari.carnum=carnum)n=i;fclose(fp);printf(“请输入你

11、要借阅的书的名字(按回车键结束)n“); /*请输入你要借阅的书的名字*/scanf(“%s“,studentn.lendbook);fp=fopen(“book.txt“,“r“);for(i=0;fread(i+)if(strcmp(booki.bookname,studentn.lendbook)=0)if(booki.turefalse=0) printf(“对不起该书已被借出!n“);fclose(fp);getch();return; /*对不起该书已被借出*/else fclose(fp);fp=fopen(“record.txt“,“a+“);studentn.carnum=c

12、arnum;fwrite(fclose(fp);fp=fopen(“book.txt“,“r“);fp2=fopen(“bookl.txt“,“w“);for(i=0;fread(i+)if(strcmp(booki.bookname,studentn.lendbook)=0)booki.turefalse=0;fwrite(continue;fwrite(fclose(fp);fclose(fp2);fp=fopen(“book.txt“,“w“);fp2=fopen(“bookl.txt“,“r“);for(i=0;fread(i+)fwrite(fclose(fp);fclose(fp2

13、);fopen(“bookl.txt“,“w“);fclose(fp2);printf(“借书完毕,按任意键返回n“); /*借书完毕,按任意键返回*/getch();return;printf(“对不起,没有这本书 n“); /*对不起,没有这本书*/fclose(fp);getch();return;printf(“无此卡号,请申请新卡n“); /*无此卡号,请申请新卡*/fclose(fp);getch();huanbook() /*还书函数*/FILE *fp,*fp2; /*定义两个文件指针,fp2 用于修改数据时设立临时文件用,防止数据遭破坏*/int i,n;int carnum;char lendbook10;printf(“请输入你的卡号(按回车键结束)n“); /*请输入你的卡号*/scanf(“%d“,fp=fopen(“car.txt“,“r“); /*读取卡号记录*/for(i=0;fread(i+) /*用 For 循环

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号