图书借阅管理系统(有登录系统,但无登录界面)

寒假用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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值