寒假用C语言做的图书借阅管理系统,该有的功能应该都有了,登录系统也有,参考(90条消息) C语言之图书管理系统(功能齐全!!!)_theory and practice的博客-CSDN博客_c语言图书管理系统写的,原文代码感觉有些功能有点问题,bug有点多,自己完善了一下,也修改了很多,
代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <conio.h>
time_t time(time_t *seconds);
FILE *fp, *fps, *G;
int i, xuan;
int a, y; //记录管理员和学生登录状态,1为已登录,0为未登录
typedef struct book
{
char name[20];
char shunum[20];
char writer[20];
int date;
char press[20];
float price;
char leibie[20];
int kucun;
int jiechu;
} bo;
typedef struct student
{
char name[20]; //名字
char xuenum[20]; //学号
char sex[10]; //性别
char danwei[20]; //单位
char zhiye[20]; //职业
char dizhi[20]; //地址
char password[20]; //密码
int jie; //借书为1,未借为0
char shu[20]; //借的书名
char shunum[20]; //书的编号
int date; //借书日期
} st;
typedef struct admin
{
char id[20];
char password[20];
} ad;
st xuesheng;
void mima(char *s) //输入密码函数
{
char ch;
int i = 0;
while ((ch = getch()) != '\r')
{
if (ch != 8) //不是回撤就录入
{
s[i++] = ch;
putchar('*'); //并且输出*号
}
else
{
putchar('\b'); //这里是删除一个,我们通过输出回撤符 /b,回撤一格,
putchar(' '); //再显示空格符把刚才的*给盖住,
putchar('\b'); //然后再 回撤一格等待录入。
i--;
}
}
s[i] = '\0';
}
void daojishi(int m) //倒计时
{
time_t shijian = 0;
time_t last;
time_t start;
int x, t;
// printf("请输入时间\n");
// scanf("%d",&x);
t = x = m;
last = time(&start);
printf("%d秒后打开菜单\n", x--);
while (time(&shijian) - start != t)
{
if ((time(&shijian) - last) > 0 && ((int)(time(&shijian) - (int)last) % 1 == 0))
{
system("cls");
printf("%d秒后打开菜单\n", x--);
last = shijian;
}
}
system("cls");
}
void menu() // 菜单
{
printf("\n\n#########################################################\n\n");
printf(" 1-----图书浏览\n\n");
printf(" 2-----图书查询\n\n");
printf(" 3-----借阅图书\n\n");
printf(" 4-----借阅查询\n\n");
printf(" 5-----归还图书\n\n");
printf(" 6-----图书录入\n\n");
printf(" 7-----删除图书\n\n");
printf("\n\n#########################################################\n\n");
if (a == 1)
printf("您已登录管理员账号,之后相关管理员权限将不再重复登录!\n");
if (y == 1)
printf("您已登录,之后相关操作不在重复登录!退出登录请重新启动程序\n");
printf("输入其他任意键退出\n\n");
printf("\n\n");
}
int denglu(int m) //登录函数
{
ad adm;
char ch;
char password[20];
char s[20];
char id[20];
int i = 0;
int t = 0;
st stu;
fflush(stdin);
if (m == 0) //管理员注册
{
printf("请输入账号:(数字文字都可以)\n");
gets(id);
printf("请输入密码:(包含字母和数字\n");
mima(s);
printf("\n请再次输入密码:\n");
mima(password);
while (strcmp(password, s) != 0)
{
printf("两次密码不一致,请重新输入\n");
printf("\n请输入密码:(包含字母和数字\n");
mima(s);
printf("\n请再次输入密码:\n");
mima(password);
}
strcpy(adm.id, id);
strcpy(adm.password, password);
fwrite(&adm, sizeof(ad), 1, G);
printf("注册成功!\n");
system("pause");
return 1;
}
if (m == 2) //管理员登录
{
printf("请输入账号:(数字文字都可以)\n");
gets(id);
printf("请输入密码:(包含字母和数字\n");
mima(password);
while (1)
{
rewind(G);
while (!feof(G))
{
fread(&adm, sizeof(ad), 1, G);
if (strcmp(adm.id, id) == 0)
{
int n = 0;
while (strcmp(adm.password, password) != 0)
{
n++;
if (n == 3)
{
printf("密码输入错误三次!正在退出\n");
daojishi(2);
return 0;
}
printf("密码错误\n请重新输入:\n");
mima(password);
}
printf("\n登录成功!\n");
system("pause");
return 1;
};
}
printf("账号错误,请重新输入\n");
printf("\n请输入账号:\n");
gets(id);
printf("\n请输入密码:\n");
mima(password);
}
}
if (m == 1) //学生登录
{
printf("请输入账号:(数字文字都可以)\n");
gets(id);
printf("请输入密码:(包含字母和数字\n");
mima(password);
while (1)
{
rewind(fps);
while (!feof(fps))
{
fread(&stu, sizeof(st), 1, fps);
if (strcmp(stu.xuenum, id) == 0)
{
int n = 0;
while (strcmp(stu.password, password) != 0)
{
n++;
if (n == 3)
{
printf("密码输入错误三次!正在退出\n");
daojishi(2);
return 0;
}
printf("\n密码错误\n请重新输入:\n");
mima(password);
}
fseek(fps, -1 * sizeof(st), 1);
fread(&xuesheng, sizeof(st), 1, fps);
fseek(fps, -1 * sizeof(st), 1);
printf("\n登录成功!\n");
system("pause");
return 1;
};
}
printf("\n账号错误或该账号未注册,请重新输入\n");
printf("\n请输入账号:\n");
gets(id);
printf("\n请输入密码:\n");
mima(password);
}
}
if (m == 3) //学生注册
{
printf("请输入账号:(数字文字都可以)\n");
gets(id);
printf("请输入密码:(包含字母和数字\n");
mima(s);
printf("\n请再次输入密码:\n");
mima(password);
while (strcmp(password, s) != 0)
{
printf("两次密码不一致,请重新输入\n");
printf("\n请输入密码:(包含字母和数字\n");
mima(s);
printf("\n请再次输入密码:\n");
mima(password);
};
printf("\n姓名:");
scanf("%s", stu.name);
printf("性别:");
scanf("%s", stu.sex);
printf("单位:");
scanf("%s", stu.danwei);
printf("职业:");
scanf("%s", stu.zhiye);
printf("地址:");
scanf("%s", stu.dizhi);
stu.jie = 0;
fseek(fps, 0, 2); //或fopen("c:\\shu\\student.txt","a");
strcpy(stu.xuenum, id);
strcpy(stu.password, password);
fwrite(&stu, sizeof(stu), 1, fps);
printf("注册成功!\n");
printf("请重新登录\n");
system("pause");
return 1;
}
fclose(fps); //后面其实没什么用,前面已经return 了;
fclose(G);
G = fopen("c:\\shu\\admin.txt", "r");
fps = fopen("c:\\shu\\student.txt", "r");
}
void put() //录入图书
{
st stu;
ad adm;
char c;
if (a == 0)
{
printf("您需要管理员权限才可操作\n是否继续(y/n)");
getchar();
scanf("%c", &c);
getchar();
if (c == 'y' || c == 'Y')
{
if (denglu(2) == 1)
{
a = 1;
bo boo, booq;
printf("请输入图书名(最多十个字符):");
scanf("%s", boo.name);
do
{
i = 1;
printf("请输入图书编号(最多十个字符):");
scanf("%s", boo.shunum);
fread(&booq, sizeof(bo), 1, fp);
while (!feof(fp))
{
if (strcmp(booq.shunum, boo.shunum) == 0)
{
printf("\n该编号已存在请重新输入\n\n");
i = 0;
break;
}
fread(&booq, sizeof(bo), 1, fp);
}
rewind(fp);
} while (i == 0);
printf("请输入图书作者(最多十个字符):");
scanf("%s", boo.writer);
printf("请输入图书出版日期(例如2001年12月10日出版则输入20011210):");
while (!scanf("%f", &boo.date))
{
printf("输入有误,请重新输入\n");
fflush(stdin);
};
printf("请输入图书价格:");
while (!scanf("%f", &boo.price))
{
printf("输入有误,请重新输入\n");
fflush(stdin); //清除输入缓冲区
};
printf("请输入图书出版社(最多十个字符):");
scanf("%s", boo.press);
printf("请输入图书类别(最多十个字符):");
scanf("%s", boo.leibie);
printf("请输入图书入库数:");
while (!scanf("%d", &boo.kucun))
{
printf("输入有误,请重新输入\n");
fflush(stdin);
};
boo.jiechu = 0;
getchar();
fseek(fp, 0, 2);
fwrite(&boo, sizeof(bo), 1, fp);
printf("\n录入成功!回到主菜单");
fclose(fp);
system("pause");
}
}
else
printf("您已取消!正在返回菜单");
system("pause");
return;
}
else
{
bo boo, booq;
printf("请输入图书名(最多十个字符):");
scanf("%s", boo.name);
do
{
i = 1;
printf("请输入图书编号(最多十个字符):");
scanf("%s", boo.shunum);
fread(&booq, sizeof(bo), 1, fp);
while (!feof(fp))
{
if (strcmp(booq.shunum, boo.shunum) == 0)
{
printf("\n该编号已存在请重新输入\n\n");
i = 0;
break;
}
fread(&booq, sizeof(bo), 1, fp);
}
rewind(fp);
} while (i == 0);
printf("请输入图书作者(最多十个字符):");
scanf("%s", boo.writer);
printf("请输入图书出版日期(例如2001年12月10日出版则输入20011210):");
while (!scanf("%f", &boo.date))
{
printf("输入有误,请重新输入\n");
fflush(stdin);
};
printf("请输入图书价格:");
while (!scanf("%f", &boo.price))
{
printf("输入有误,请重新输入\n");
fflush(stdin); //清除输入缓冲区
};
printf("请输入图书出版社(最多十个字符):");
scanf("%s", boo.press);
printf("请输入图书类别(最多十个字符):");
scanf("%s", boo.leibie);
printf("请输入图书入库数:");
while (!scanf("%d", &boo.kucun))
{
printf("输入有误,请重新输入\n");
fflush(stdin);
};
boo.jiechu = 0;
getchar();
fseek(fp, 0, 2);
fwrite(&boo, sizeof(bo), 1, fp);
printf("\n录入成功!回到主菜单");
fclose(fp);
system("pause");
}
}
void browse() //浏览图书
{
int k;
bo boo;
printf("书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
fread(&boo, sizeof(bo), 1, fp);
while (feof(fp) == 0)
{
printf("%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n", boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
fread(&boo, sizeof(bo), 1, fp);
}
printf("\n浏览图书完毕!");
system("pause");
}
int sou(char *p, char *p1) //精确搜索(对比两个字符串)
{
int flag = 1;
if (strcmp(p, p1) == 0)
flag = 0;
else
flag = 1;
return flag;
}
int find() //查询图书
{
char ming[20];
int flag = 1;
int xu = 1;
struct book boo;
printf(" 1-按图书编号精确查询\n\n");
printf(" 2-按图书名精确查询\n\n");
printf(" 3-按作者名精确查询\n\n");
printf(" 4-按出版社精确查询\n\n选择:");
scanf("%d", &xuan);
if (xuan == 2)
{
printf("请输入图书名(最多十个字符):");
scanf("%s", ming);
while (!feof(fp))
{
if (strcmp(ming, boo.name) == 0)
{
if (flag == 1)
printf("序号 书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-10d%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n",
xu++, boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
flag = 0;
}
fread(&boo, sizeof(struct book), 1, fp);
}
}
else if (xuan == 1)
{
printf("请输入图书编号(最多十个字符):");
scanf("%s", ming);
while (!feof(fp))
{
if (strcmp(ming, boo.shunum) == 0)
{
if (flag == 1)
printf("序号 书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-10d%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n",
xu++, boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
flag = 0;
}
fread(&boo, sizeof(struct book), 1, fp);
}
}
else if (xuan == 3)
{
printf("请输入作者:");
scanf("%s", ming);
while (!feof(fp))
{
if (strcmp(ming, boo.writer) == 0)
{
if (flag == 1)
printf("序号 书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-10d%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n",
xu++, boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
flag = 0;
}
fread(&boo, sizeof(struct book), 1, fp);
}
}
else if (xuan == 4)
{
printf("请输入出版社:");
scanf("%s", ming);
while (!feof(fp))
{
if (strcmp(ming, boo.press) == 0)
{
if (flag == 1)
printf("序号 书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-10d%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n",
xu++, boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
flag = 0;
}
fread(&boo, sizeof(struct book), 1, fp);
}
}
else
{
fclose(fp);
printf("输入错误,正在退出!");
system("pause");
return 0;
}
printf("\n查询图书完毕! ");
fclose(fp);
system("pause");
return 0;
}
void del() //删除图书
{
ad adm;
char c;
if (a == 0)
{
printf("您需要管理员权限才可登录\n是否继续\n(y/n)");
getchar();
scanf("%c", &c);
getchar();
if (c == 'y' || c == 'Y')
{ // fflush(stdin);
if (denglu(2) == 1)
{
a = 1;
FILE *p;
int i = 0;
char num[10];
struct book boo, booq;
int xu;
char xuan;
char shunum[20]; //书的编号
printf("\n删除图书请通过图书编号来完成!\n是否继续(Y/N)\n");
scanf("%c", &xuan);
getchar();
// printf("xuan=%c\n", xuan);
if (xuan == 'Y' || xuan == 'y')
{
browse();
printf("\n请输入你要操作的图书的编号:");
scanf("%s", shunum);
rewind(fp);
fread(&boo, sizeof(bo), 1, fp);
while (!feof(fp)) //循环操作遍历book.txt
{
if (strcmp(boo.shunum, shunum) == 0)
{
i = 1;
if (boo.jiechu != 0)
{
printf("\n这本书已有人借阅,不能操作!\n正在退出 ");
system("pause");
return;
}
else
break;
}
fread(&boo, sizeof(bo), 1, fp);
}
if (i == 1)
printf("\n\n 开始删除图书 \n\n");
else
{
printf("未找到要删除的图书");
return;
};
p = fopen("c:\\shu\\lingshi.txt", "w+");
if (p == NULL)
{
printf("临时文件创建失败!");
return;
};
rewind(fp);
int k;
while (!feof(fp))
{
k = fread(&boo, sizeof(struct book), 1, fp);
if (k != 1)
break;
if (strcmp(boo.shunum, shunum) != 0)
fwrite(&boo, sizeof(struct book), 1, p);
}
fclose(fp);
fp = fopen("c:\\shu\\book.txt", "w+");
if (fp == NULL)
{
printf("文件创建失败!");
return;
};
rewind(p);
while (!feof(p))
{
k = fread(&boo, sizeof(bo), 1, p);
if (k != 1)
break;
fwrite(&boo, sizeof(bo), 1, fp);
}
fclose(p);
printf("操作成功 回到主菜单");
}
else
printf("已取消!正在返回主菜单\n");
system("pause");
}
else
return;
}
printf("您已取消,正在返回主菜单\n");
system("pause");
return;
}
else
{
FILE *p;
int i = 0;
char num[10];
struct book boo, booq;
int xu;
char xuan;
char shunum[20]; //书的编号
printf("\n删除修改图书请通过图书编号来完成!\n是否继续(Y/N)\n");
scanf("%c", &xuan);
getchar();
printf("xuan=%c\n", xuan);
if (xuan == 'Y' || xuan == 'y')
{
browse();
printf("\n请输入你要操作的图书的编号:");
scanf("%s", shunum);
rewind(fp);
fread(&boo, sizeof(bo), 1, fp);
while (!feof(fp)) //循环操作遍历book.txt
{
if (strcmp(boo.shunum, shunum) == 0)
{
i = 1;
if (boo.jiechu != 0)
{
printf("\n这本书已有人借阅,不能操作!\n正在退出 ");
system("pause");
return;
}
else
break;
}
fread(&boo, sizeof(bo), 1, fp);
}
if (i == 1)
printf("\n\n 开始删除图书 \n\n");
else
{
printf("未找到要删除的图书");
return;
};
p = fopen("c:\\shu\\lingshi.txt", "w+");
if (p == NULL)
{
printf("临时文件创建失败!");
return;
};
rewind(fp);
int k;
while (!feof(fp))
{
k = fread(&boo, sizeof(struct book), 1, fp);
if (k != 1)
break;
if (strcmp(boo.shunum, shunum) != 0)
fwrite(&boo, sizeof(struct book), 1, p);
}
fclose(fp);
fp = fopen("c:\\shu\\book.txt", "w+");
if (fp == NULL)
{
printf("文件创建失败!");
return;
};
rewind(p);
while (!feof(p))
{
k = fread(&boo, sizeof(bo), 1, p);
if (k != 1)
break;
fwrite(&boo, sizeof(bo), 1, fp);
}
fclose(p);
printf("操作成功 回到主菜单");
}
else
printf("已取消!正在返回主菜单\n");
system("pause");
}
}
void lend() //借阅图书
{
struct book boo;
FILE *p;
st stu;
int j = 0;
char xuan, shuhao[10], xuehao[10];
printf("\n借阅图书只能通过图书编号完成!\n是否调用图书查询来查询你要操作的图书编号(Y/N)\n");
getchar();
scanf("%c", &xuan);
if (xuan == 'Y' || xuan == 'y')
{
browse();
printf("\n请输入你要借阅的图书的编号:");
scanf("%s", shuhao);
rewind(fp);
fread(&boo, sizeof(struct book), 1, fp);
while (!feof(fp))
{
if (strcmp(shuhao, boo.shunum) == 0)
{
j = 1;
break;
}
fread(&boo, sizeof(struct book), 1, fp);
}
if (j == 0)
{
printf("\n书库没有该图书 正在退出\n");
system("pause");
return;
}
printf("\n你需要借阅的图书是:\n");
printf("书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n", boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
if (boo.kucun == boo.jiechu)
{
printf("\n该册图书已全部借出!正在退出\n");
system("pause");
return;
}
if (y == 0)
{
printf("请先登录学生信息或注册账号\n1.登录\n2.注册\n");
int xuan;
scanf("%d", &xuan);
if (xuan == 1)
{
if (denglu(1) == 1)
y = 1;
}
else
{
if (denglu(3) == 1)
y = 1;
denglu(1);
}
}
// 借书
if (y == 0)
return;
if (xuesheng.jie == 1)
{
printf("你已借过其他书,不能再借书\n");
printf("正在退出!\n");
system("pause");
return;
}
else
{
printf("借书日期:(八位数字)");
while (!scanf("%d", &xuesheng.date))
{
printf("输入有误,请重新输入\n");
fflush(stdin);
};
strcpy(xuesheng.shu, boo.name);
strcpy(xuesheng.shunum, boo.shunum);
xuesheng.jie = 1;
fseek(fps, -1 * sizeof(st), 1);
fwrite(&xuesheng, sizeof(st), 1, fps); //写student.txt
};
boo.jiechu++;
fseek(fp, -1 * sizeof(struct book), 1);
fwrite(&boo, sizeof(struct book), 1, fp); //写book.txt
printf("\n借阅成功!回到主菜单");
}
else
printf("取消借阅 返回菜单");
system("pause");
}
void huan() //归还图书
{
FILE *p;
bo boo;
st stu;
if (y == 0)
{
printf("请先登录!\n");
if (denglu(1) == 1)
y == 1;
}
if (xuesheng.jie == 0)
{
printf("您尚未借过任何书,正在退出!\n");
system("pause");
return;
}
rewind(fp);
while (!feof(fp))
{
fread(&boo, sizeof(bo), 1, fp);
if (strcmp(boo.shunum, xuesheng.shunum) == 0)
{
printf("您借的书相关信息为:\n");
printf("书名 编号 作者 价格 出版社 类别 原始库存 借出\n");
printf("%-20s%-20s%-20s%-20.2f%-20s%-20s%-20d%-20d\n", boo.name, boo.shunum, boo.writer, boo.price, boo.press, boo.leibie, boo.kucun, boo.jiechu);
boo.jiechu--;
break;
}
}
//待定
fseek(fp, -1 * sizeof(bo), 1);
fwrite(&boo, sizeof(bo), 1, fp);
fseek(fps, -1 * sizeof(st), 1);
xuesheng.jie = 0;
fwrite(&xuesheng, sizeof(st), 1, fps);
printf("还书成功!\n");
system("pause");
return;
}
void cha() //借阅查询
{
if (y == 0)
{
printf("请先登录!\n");
if (denglu(1) == 1)
y = 1;
}
if (xuesheng.jie == 1)
{
printf("书名 编号 借阅人 学号\n");
printf("%-20s%-20s%-20s%-20s\n", xuesheng.shu, xuesheng.shunum, xuesheng.name, xuesheng.xuenum);
printf("\n查询完毕!回到主菜单");
}
else
printf("找不到相关信息,您可能并未借书\n");
system("pause");
}
int main()
{
if ((fp = fopen("c:\\shu\\book.txt", "r+")) == NULL)
{
printf("在c盘tushu目录下没有找到储存图书信息的book.txt文件\n请选择 1--导入文件! 2--创建此文件\n");
scanf("%d", &xuan);
switch (xuan)
{
case 2:
if ((fp = fopen("c:\\shu\\book.txt", "w+")) != NULL) //读写打开或建立一个二进制文件,允许读和写
printf("创建成功\n\n");
break;
case 1:
printf("请把名为book.txt的文件复制到c盘tushu文件夹目录下\n\n");
out:
printf("若导入成功");
system("pause");
if ((fp = fopen("c:\\shu\\book.txt", "r+")) != NULL)
printf("你已成功导入文件\n");
else
{
printf("请重新导入!\n");
goto out;
};
}
}
fclose(fp);
if ((fps = fopen("c:\\shu\\student.txt", "r+")) == NULL)
{
printf("在c盘tushu目录下没有找到储存学生信息的student.txt文件\n请选择 1--手动导入! 2--创建此文件\n");
scanf("%d", &xuan);
switch (xuan)
{
case 2:
if ((fps = fopen("c:\\shu\\student.txt", "w+")) != NULL)
printf("创建成功\n\n");
break;
case 1:
printf("请把名为student.txt的文件复制到c盘tushu目录下\n\n");
printf("若导入成功");
while ((fps = fopen("c:\\shu\\student.txt", "r+")) == NULL)
{
system("pause");
if ((fps = fopen("c:\\shu\\student.txt", "r+")) == NULL)
printf("请重新导入!\n");
else
printf("您已成功导入\n");
}
system("pause");
system("cls");
daojishi(5);
}
}
if ((fps = fopen("c:\\shu\\admin.txt", "r+")) == NULL)
{
printf("在c盘目录下没有找到储存管理员信息的admin.txt文件\n");
printf("是否创建一个管理员账号?\n是请按Y或y,其他键取消\n");
char x;
int d;
scanf("%c", &x);
getchar();
if (x == 'Y' || x == 'y')
{
G = fopen("c:\\shu\\admin.txt", "w+");
d = denglu(0);
if (d == 1)
printf("创建成功!");
else
printf("创建失败!");
}
}
fclose(G);
fclose(fps);
menu();
printf("\n 请输入指令:");
scanf("%d", &xuan);
system("cls");
while (xuan == 1 || xuan == 2 || xuan == 3 || xuan == 4 || xuan == 5 || xuan == 6 || xuan == 7)
{
fp = fopen("c:\\shu\\book.txt", "rb+");
fps = fopen("c:\\shu\\student.txt", "rb+");
G = fopen("c:\\shu\\admin.txt", "r");
if (fp == NULL || fps == NULL)
{
printf("文件打开失败!正在退出程序");
return 0;
};
switch (xuan)
{
case 0:
break;
case 1:
browse();
break;
case 2:
find();
break;
case 3:
lend();
break;
case 4:
cha();
break;
case 5:
huan();
break;
case 6:
put();
break;
case 7:
del();
break;
}
fclose(fp);
fclose(fps);
fclose(G);
menu();
printf("\n 指令:");
scanf("%d", &xuan);
}
return 0;
}