You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

347 lines
7.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#include<dos.h>
#include<conio.h>
#define N 100
void ss();
void tushuluru();
void tushuchaxun();
void zuozhemingchaxun();
void tushuliulan();
void shumingchaxun();
struct xinxi
{
char name[100];
char author[100];
char publisher[100];
int year,yue,ri;
int price,amount;
int kuchun;
} tushuxinxu[N] ;
char mima[1000];
void goto_xy(int x, int y) //定位光标位置到指定坐标
{
HANDLE hOut;
hOut = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos = { x,y };
SetConsoleCursorPosition(hOut, pos);
}
void color(short x) //自定义函根据参数改变颜色
{
SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), x); //只有一个参数,改变字体颜色
}
void tushuluru()
{
int uu,j;
void ss();
j=0;
printf("请输入你要插入的图书信息\n");
printf("在录入图书年月日信息时:请这样输入日 月 年\n");
printf("名称\t作者\t日-月-年\t价格\t数量\t库存\t出版社\n");
FILE*fp;
out:
fp=fopen("a.txt","a+");
scanf("%s%s%d%d%d%d%d%d%s",tushuxinxu[j].name,tushuxinxu[j].author,&tushuxinxu[j].year,&tushuxinxu[j].yue,&tushuxinxu[j].ri,&tushuxinxu[j].price,&tushuxinxu[j].amount,&tushuxinxu[j].kuchun,tushuxinxu[j].publisher);
fprintf(fp,"%s\t%s\t%d-%d-%d\t%d\t%d\t%d\t%s\n",tushuxinxu[j].name,tushuxinxu[j].author,tushuxinxu[j].year,tushuxinxu[j].yue,tushuxinxu[j].ri,tushuxinxu[j].price,tushuxinxu[j].amount,tushuxinxu[j].kuchun,tushuxinxu[j].publisher);
rewind(fp);
Sleep(1200);
printf("录入成功\n");
fclose(fp);
printf("你是否还要录入信息\n");
printf("如果是请输入1否则输入2\n");
scanf("%d",&uu);
if(uu==1)
{
goto out;
j++;
}
else
{
system("cls");
ss();
}
}
void ss()//图书管理系统界面
{
int x,y;
printf("****************图书管理系统界面***************\n");
printf(" 1:图书信息录入\n");
printf(" 2:图书信息浏览\n");
printf(" 3:图书查询\n");
printf(" 4:图书信息的删除与修改\n");
printf("**************************************************\n");
printf("请输入你要选择的菜单\n");
printf("\n");
printf("你选择的是:");
while(1)
{
scanf("%d",&x);
fflush(stdin);
if(x>4||x<1)
{
printf("输入错误,请重新输入:");
continue;
}
break;
} //进入图书管理系统进行操作
if(x==1)
{
system("cls");
tushuluru();
}
if(x==2)
{
printf("请稍等......\n");
Sleep(500);
printf("恭喜你查询成功\n");
Sleep(1200);
system("cls");
tushuliulan();
}
if(x==3)
{
printf("请稍等......\n");
Sleep(500);
printf("恭喜你进入成功\n");
Sleep(1200);
system("cls");
tushuchaxun();
}
}
void tushuchaxun()
{
int i,j;
char an[100];
printf("1:按书名查询\n");
printf("2:按作者名查询\n");
printf("请输入你想选择的序号:");
out :
scanf("%d",&i);
fflush(stdin);
if(i==1)
{
printf("请稍等.....");
Sleep(1200);
system("cls");
shumingchaxun();
}
else if(i==2)
{
printf("请稍等.....");
Sleep(1200);
system("cls");
zuozhemingchaxun();
}
else
{
printf("输入错误,请重新输入\n");
goto out;
}
}
void menu()
{
int x,i,d;
d=1;
system("color 2");
printf("**************图书管理系统登录界面***************\n");
printf(" 请输入六位数密码:");//登录系统密码
while(1)
{
for(i=0; i<=5; i++)
{
mima[i]=getch();
if(mima[i]=='\r')
{
break;
}
printf("*");
}
mima[i]='\0';
if(strcmp(mima,"111222")==0)
{
printf("\n");
printf(" 登录成功\n");
printf(" 请稍后.........");
Sleep(2500);
break;
}
else
{
printf("\n");
printf(" 密码错误,请重新输入\n");
goto_xy(5,d+=2);
}
}
printf("***************************************************");
system("cls");
ss();
}
void tushuliulan()
{
int i;
char ch;
printf("当前你将看到你录入的所有图书信息\n");
printf("名称\t作者\t日-月-年\t价格\t数量\t库存\t出版社\n");
FILE*fp=fopen("a.txt","r");
while(!feof(fp))
{
ch=fgetc(fp);
printf("%c",ch);
}
printf("\n");
printf("\n");
printf("\n");
printf("************************************\n");
printf("你是否想返回上一级\n");
printf("1:如果想请输入1\n");
printf("2:如果你不想请不要输入\n");
printf("你想输入的数字是:");
ii:
scanf("%d",&i);
fflush(stdin);
if(i==1)
{
system("cls");
ss();
}
else
{
printf("输入错误,请重新输入\n");
goto ii;
}
}
void shumingchaxun()
{
int h,j,z,count;
j=0;
h=0;
count=0;
char an[100];
FILE*fp;
fp=fopen("a.txt","r");
while(fscanf(fp,"%s%s%d%d%d%d%d%d%s",tushuxinxu[j].name,tushuxinxu[j].author,&tushuxinxu[j].year,&tushuxinxu[j].yue,&tushuxinxu[j].ri,&tushuxinxu[j].price,&tushuxinxu[j].amount,&tushuxinxu[j].kuchun,tushuxinxu[j].publisher)!=EOF)
{
j++;
}
printf("请输入你想输入的书名:\n");
xx:
scanf("%s",an);
printf("名称\t作者\t日-月-年\t价格\t数量\t库存\t出版社\n");
for(h=0; h<j; h++)
{
if(strcmp(an,tushuxinxu[h].name)==0)
{
count++;
printf("%s\t%s\t%d%d%d\t%d\t%d\t%d\t%s\n",tushuxinxu[h].name,tushuxinxu[h].author,tushuxinxu[h].year,tushuxinxu[h].yue,tushuxinxu[h].ri,tushuxinxu[h].price,tushuxinxu[h].amount,tushuxinxu[h].kuchun,tushuxinxu[h].publisher);
}
else
{
continue;
}
}
if(count==0)
{
printf("该图书没有库存.....");
}
printf("\n");
printf("你是否要重新查询\n");
printf("如果是请输入:1否则输入:2返回上一级\n");
printf("你想输入的数字是:");
scanf("%d",&z);
if(z==1)
{
goto xx;
}
else if(z==2)
{
system("cls");
ss();
}
else
{
printf("\n");
printf("输入错误,请重新输入\n");
goto xx;
}
}
void zuozhemingchaxun()
{
int h,j,z,count;
j=0;
h=0;
count=0;
char an[100];
FILE*fp;
fp=fopen("a.txt","r");
while(fscanf(fp,"%s%s%d%d%d%d%d%d%s",tushuxinxu[j].name,tushuxinxu[j].author,&tushuxinxu[j].year,&tushuxinxu[j].yue,&tushuxinxu[j].ri,&tushuxinxu[j].price,&tushuxinxu[j].amount,&tushuxinxu[j].kuchun,tushuxinxu[j].publisher)!=EOF)
{
j++;
}
printf("请输入你想输入的作者名:\n");
xx:
scanf("%s",an);
printf("名称\t作者\t日-月-年\t价格\t数量\t库存\t出版社\n");
for(h=0; h<j; h++)
{
if(strcmp(an,tushuxinxu[h].author)==0)
{
count++;
printf("%s\t%s\t%d%d%d\t%d\t%d\t%d\t%s\n",tushuxinxu[h].name,tushuxinxu[h].author,tushuxinxu[h].year,tushuxinxu[h].yue,tushuxinxu[h].ri,tushuxinxu[h].price,tushuxinxu[h].amount,tushuxinxu[h].kuchun,tushuxinxu[h].publisher);
}
else
{
continue;
}
}
if(count==0)
{
printf("该图书没有库存.....");
}
printf("\n");
printf("你是否要重新查询\n");
printf("如果是请输入:1否则输入:2返回上一级\n");
printf("你想输入的数字是:");
scanf("%d",&z);
if(z==1)
{
goto xx;
}
else if(z==2)
{
system("cls");
ss();
}
else
{
printf("\n");
printf("输入错误,请重新输入\n");
goto xx;
}
}
int main()
{
menu();
}