#include<stdio.h>
#include<string.h>
#include<iostream>
void welcome()
{
system("color F8");
printf("┴┬┴┬/ ̄\_/ ̄\ \n");
printf("\n");
printf("┬┴┬┴▏  ▏▔▔▔▔\");printf("           〓━〓━〓━〓━〓 〓━〓━〓━〓━〓━〓\n");
printf("\n");
printf("┴┬┴/\ /      ﹨");printf("         〓   欢迎使用图书管理系统(QIN 1.0版)   〓\n");
printf("\n");
printf("┬┴∕       /   )");printf("       〓━〓━〓━〓 〓━〓━〓━〓━〓━〓━〓\n");
printf("\n");
printf("┴┬▏        ●  ▏\n");
printf("\n");
printf("┬┴(              ▔█◤\n ");
printf("\n");
printf("┴◢██◣       \__/");printf("                       制造者:朱博俊\n");
printf("\n");
printf("┬█████◣       /");printf("\t                                _╱╲↗ \n");
printf("\n");
printf("┴█████████████◣");printf("\t                                _╱╲↗ \n");
printf("\n");
printf("◢██████████████▆▄\n");
printf("\n");
printf("◢██████████████▆▄\n");
printf("\n");
printf("█◤◢██◣◥█████████◤\\n");
printf("\n");
printf("按回车继续……");
    fflush(stdin);
getchar();
}
struct node{
int day,t,time,flag;
char book[20];
char auther[20];
        char danwei[20];
        double money;
}a[10000];/*day借阅日期,time是出版日期,t是库存,book是数组,danwei是出版单位,money是单价*/
int main()
{   
int i,k=0,n,m,flag,tt,p,time,x;/*time是临时变量,m是借阅数量*/
char ch,str[20],str1[20],str2[20];/*str1,2,3分别代表书名,作者名,出版单位*/
double money;
welcome();
while(1){
flag=0;/*控制有无库存*/
printf("1.采编入库\n");
printf("2.借阅\n");
printf("3.归还\n");
printf("4.清除库存\n");
printf("5.查询功能\n");
printf("0.结束\n");
      ch=getchar();
   system("cls");
  if(ch=='0')break;/*结束功能*/
  if(ch=='1'){/*采编入库功能*/
printf("输入书名,作者名,采编数量,出版单位,出版时间,单价:\n");
scanf("%s",str);
scanf("%s",str1);
scanf("%d",&n);
            scanf("%s",str2);
            scanf("%d",&time);            
scanf("%s",&money);
for(i=0;i<k;i++)
                if(strcmp(str,a[i].book)==0||strcmp(str1,a[i].auther)==0){
          a[i].t+=n;flag=1;break;
}/*如果有库存,则库存加1*/
if(flag==0){
a[k].t=n;
         a[k].day=0;
 strcpy(a[k].danwei,str2);
strcpy(a[k].book,str);
strcpy(a[k].auther,str1);
         k++;
}/*如果没有库存,新建一个库存*/
printf("入库成功\n");
getchar();
}
if(ch=='2'){/*借阅功能*/
printf("输入书名,出借日期和借阅数量:\n");
scanf("%s",str);
scanf("%d",&m);
scanf("%d",&n);
for(i=0;i<k;i++)
if(strcmp(str,a[i].book)==0){
if(a[i].t<n)/*当库存不足时*/
printf("库存不足\n");
else{
a[i].t-=n;
a[i].day=m;
printf("成功借阅,请与30天之内归还。\n");
}/*成功借出时库存减一*/
break;
}
getchar();
}
if(ch=='3'){/*归还书本*/
printf("输入书名,归还日期和归还数量:\n");
scanf("%s",str);
scanf("%d",&m);
scanf("%d",&n);
for(i=0;i<k;i++)
if(strcmp(str,a[i].book)==0){
if(a[i].day==0)/*判断该书有无借出记录*/
printf("该书无出借记录\n");
else{
a[i].t+=n;
if(n-a[i].day>30)
printf("借阅超过30天,需要罚款\n");
a[i].day=0;/*清除借阅时间*/
printf("还书成功\n");
}
break;
}
getchar();
}
if(ch=='4'){/*清除库存功能*/
printf("输入书名:\n");
scanf("%s",str);
flag=0;
for(i=0;i<k;i++)
{
if(strcmp(str,a[i].book)==0)
{
p=i;
for(i=p;i<k-1;i++)
{
a[i]=a[i+1];
}
k--;
    flag=1;
        break;
}
else
{
continue;
}
}
if(flag==0)
{
printf("查无此书\n");
}
else
{
printf("清除成功\n");
}
system("pause"); }
if(ch=='5'){/*查询功能*/
printf("选择查询方式:1按书名查询,2按作者名查询\n");
scanf("%d",&x);
if(x==1){
tt=0;
printf ("输入书名:\n");
scanf("%s",str);
for(i=0;i<k;i++){
if(strcmp(str,a[i].book)==0){
tt=1;
    break;
}
}
if(tt)
    printf("%s %s 余量%d\n",a[i].book,a[i].auther,a[i].t);
else printf("查无此书\n");
getchar();
}
if(x==2){
tt=0;
                printf ("输入作者名:\n");
scanf("%s",str1);
for(i=0;i<k;i++)
if(strcmp(str1,a[i].auther)==0){
tt=1;
break;
}
if(tt)
    printf("%s %s 余量%d\n",a[i].book,a[i].auther,a[i].t);
else printf("查无此书\n");
getchar();
}
}

}
}