#include <iostream>
using namespace std;
#include <stdio.h>
#include <stdlib.h>
#define MAX 10000
#include<string.h>
#include<conio.h>
//system ("cls");
#include<windows.h>
//Sleep(1000);1000=1分钟
FILE *fp;
FILE *fp1;
//0 销毁;
//1 正常;
//2 借出;
void longinFrame();
void mainFrame();
int readData();
int writeData();
int readData1();
int writeData1();
void Lib_print();
void Lib_manage();
void Lib_manage1();
void Lib_check();
void Lib_LdRp();
void Lib_Ld();
void Lib_Rp();
void Lib_adi();
int size=0;
int size1=0;
typedef struct
{
int book_num;
char book_name[10];
char book_writer[10];
char publish_name[10];
int stock;
int unit_price;
int flag;
char read[10];
} book;
book book_information[MAX];
book book_information1[MAX];
int readData()
{
int i=0;
if((fp=fopen("book.txt","r+"))==NULL)
{
return 0;
}
while(~fscanf(fp,"%d %s %s %s %d %d %d\n",&book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,&book_information[i].stock,&book_information[i].unit_price,&book_information[i].flag))
{
i++;
size++;
}
fclose(fp);
return 0;
}
int readData1()
{
int i=0;
if((fp1=fopen("readbook.txt","r+"))==NULL)
{
return 0;
}
while(fscanf(fp1,"%s %d %s %s %s %d %d %d\n",book_information1[i].read,&book_information1[i].book_num,book_information1[i].book_name,book_information1[i].book_writer,book_information1[i].publish_name,&book_information1[i].stock,&book_information1[i].unit_price,&book_information1[i].flag)!=EOF)
{
i++;
size1++;
}
fclose(fp1);
return 0;
}
int chaxun( char *name1)
{
int i;
for(i=0; i<size; i++)
if(strcmp(book_information[i].book_name,name1)==0)
return i;
}
int chaxun1( int num)
{
int i;
for(i=0; i<size; i++)
{
if(book_information[i].book_num==num)
return i+1;
else if(i==size-1)
return -1;
}
}
void longinFrame()
{
printf("+------------------------------------------------------------+\n");
printf("+ +\n");
printf("+ +\n");
printf("+-------------------------1.进入系统,执行功能+--------------+\n");
printf("+ +\n");
printf("+ +\n");
printf("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n");
int n;
scanf("%d",&n);
if(n==1)
{
system("cls");
mainFrame();
}
else
{
printf("输入错误\n");
Sleep(2000);
system("cls");
longinFrame();
}
}
void Lib_print()
{
int num;
char name[10];
char writer[10];
char Pname[10];
int stock;
int price;
int flag;
printf("请输入图书信息:");
printf("编号 书名 作者 出版社 存量 单价 状态\n");
scanf("%d%s%s%s%d%d%d",&num,name,writer,Pname,&stock,&price,&flag);
book_information[size].book_num=num;
strcpy(book_information[size].book_name,name);
strcpy(book_information[size].book_writer,writer);
strcpy(book_information[size].publish_name,Pname);
book_information[size].stock=stock;
book_information[size].unit_price=price;
book_information[size].flag=flag;
size++;
writeData();
printf("输入成功!\n");
printf("按任意键返回主界面!\n");
getchar();
int i;
for(i=3; i>0; i--)
{
printf("%d秒后返回主页面\n",i);
Sleep(1000);
}
system("cls");
mainFrame();
}
void Lib_manage()
{
printf("****************************\n");
printf("** 1.图书添加 **\n");
printf("** 2.图书修改 **\n");
printf("*****************************\n");
int order;
scanf("%d",&order);
if(order!=1&&order!=2)
{
Sleep(1000);
Lib_manage();
}
else
{
switch(order)
{
case 1:
system("cls");
Lib_print();
break;
case 2:
system("cls");
Lib_manage1();
break;
}
}
}
void Lib_check()
{
printf("+-------------------------------------------------+\n");
printf("***************1.书名查询***********\n");
printf("***************2.书号查询***********\n");
printf("***************3.作者查询***********\n");
printf("***************4.出版社查询***********\n");
printf("+--------------------------------------------------+\n");
int order;
scanf("%d",&order);
if(order!=1&&order!=2&&order!=3&&order!=4)
{
Sleep(1000);
Lib_check();
}
else
{
switch(order)
{
case 1:
{
system("cls");
printf("请输入书名信息:\n");
char name1[10];
int i;
scanf("%s",name1);
i=chaxun(name1);
printf("%d %s %s %s %d %d %d\n",book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,book_information[i].stock,book_information[i].unit_price,book_information[i].flag);
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
break;
}
case 2:
{
int i;
system("cls");
printf("请输入书号信息:\n");
scanf("%d",&i);
printf("%d %s %s %s %d %d %d",book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,book_information[i].stock,book_information[i].unit_price,book_information[i].flag);
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
break;
}
case 3:
{
system("cls");
printf("请输入作者信息:\n");
char name1[10];
int i;
scanf("%s",name1);
i=chaxun(name1);
printf("%d %s %s %s %d %d %d\n",book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,book_information[i].stock,book_information[i].unit_price,book_information[i].flag);
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
break;
}
case 4:
{
system("cls");
printf("请输入出版社信息:\n");
char name1[10];
int i;
scanf("%s",name1);
i=chaxun(name1);
printf("%d %s %s %s %d %d %d\n",book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,book_information[i].stock,book_information[i].unit_price,book_information[i].flag);
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
break;
}
}
}
}
void Lib_LdRp()
{
printf("+-------------------------------------------------+\n");
printf("***************1.借书***********\n");
printf("***************2.还书***********\n");
printf("+--------------------------------------------------+\n");
int order;
scanf("%d",&order);
if(order!=1&&order!=2)
{
Sleep(1000);
Lib_LdRp();
}
else
{
switch(order)
{
case 1:
system("cls");
Lib_Ld();
break;
case 2:
system("cls");
Lib_Rp();
break;
}
}
}
void Lib_manage1()
{
printf("+-------------------------------------------------+\n");
printf("***************1.更改存量***********\n");
printf("***************2.图书销毁***********\n");
printf("+--------------------------------------------------+\n");
int num;
int i;
printf("请输入书号:\n");
scanf("%d",&num);
i=chaxun1(num);
int order;
int stock;
int flag;
if(i>0)
{
printf("请输入所修改的项目:\n");
scanf("%d",&order);
if(order!=1&&order!=2)
{
system("cls");
Sleep(1000);
Lib_manage1();
}
switch(order)
{
case 1:
{
scanf("%d",&stock);
book_information[num-1].stock=stock;
writeData();
system("cls");
mainFrame();
break;
}
case 2:
{
scanf("%d",&flag);
book_information[num-1].flag=flag;
writeData();
system("cls");
mainFrame();
break;
}
}
}
else
{
printf("输入错误:");
Sleep(2000);
system("cls");
Lib_manage1();
}
}
void Lib_Ld()
{
system("cls");
printf("请输入要借书的编号\n");
int num;
char read[10];
scanf("%d",&num);
int i;
i=chaxun1(num);
if(i==-1)
{
Sleep(1000);
Lib_Ld();
}
else
{
if(book_information[i-1].flag==2)
{
printf("此书已被借完\n");
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
}
else if(book_information[i-1].flag==1)
{
book_information[i-1].flag=2;
writeData();
printf("请输入读者姓名:\n");
scanf("%s",read);
strcpy(book_information1[size1].read,read);
book_information1[size1].book_num=i;
strcpy(book_information1[size1].book_name,book_information[i-1].book_name);
strcpy(book_information1[size1].book_writer,book_information[i-1].book_writer);
strcpy(book_information1[size1].publish_name,book_information[i-1].publish_name);
book_information1[size1].stock=book_information[i-1].stock;
book_information1[size1].unit_price= book_information[i-1].unit_price;
book_information1[size1].flag=book_information[i-1].flag;
size1++;
writeData1();
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
}
else
{
printf("该书已经销毁\n");
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
}
}
}
void Lib_Rp()
{
system("cls");
printf("请输入要还书的编号\n");
int num;
scanf("%d",&num);
int i;
i=chaxun1(num);
if(i==-1)
{
Sleep(1000);
Lib_Rp();
}
else
{
book_information[i].flag=1;
writeData();
book_information1[i].flag=1;
writeData1();
printf("按任意键返回\n");
getch();
system("cls");
mainFrame();
}
}
void mainFrame()
{
printf("+-------------------------------------------------+\n");
printf("***************1.图书输入***********\n");
printf("***************2.图书管理***********\n");
printf("***************3.图书查询***********\n");
printf("***************4.图书借还***********\n");
printf("***************5.退出系统***********\n");
printf("+--------------------------------------------------+\n");
int order;
scanf("%d",&order);
if(order!=1&&order!=2&&order!=3&&order!=4&&order!=5)
{
Sleep(1000);
mainFrame();
}
else
{
switch(order)
{
case 1:
system("cls");
Lib_print();
break;
case 2:
system("cls");
Lib_manage();
break;
case 3:
system("cls");
Lib_check();
break;
case 4:
system("cls");
readData1();
Lib_LdRp();
writeData1();
break;
case 5:
break;
}
}
}
int writeData()//写入文件
{
int i;
if((fp=fopen("book.txt","w"))==NULL)
{
return 0;
}
for(i=0; i<size; i++)
{
fprintf(fp,"%d %s %s %s %d %d %d\n",book_information[i].book_num,book_information[i].book_name,book_information[i].book_writer,book_information[i].publish_name,book_information[i].stock,book_information[i].unit_price,book_information[i].flag);
}
fclose(fp);
return 0;
}
int writeData1()//写入文件
{
int i;
if((fp1=fopen("readbook.txt","w"))==NULL)
{
return 0;
}
for(i=0; i<size1; i++)
{
fprintf(fp1,"%s %d %s %s %s %d %d %d\n",book_information1[i].read,book_information1[i].book_num,book_information1[i].book_name,book_information1[i].book_writer,book_information1[i].publish_name,book_information1[i].stock,book_information1[i].unit_price,book_information1[i].flag);
}
fclose(fp1);
return 0;
}
int main()
{
readData();
longinFrame();
writeData();
return 0;
}
图书管理系统
最新推荐文章于 2017-12-01 09:47:13 发布