#include<stdio.h>
#include<string.h>
struct book{
int num;
char name[21];
char zuozhe[13];
float danjia;
char zhuangtai[5];
char people[9];
char sex[3];
char banji[8];
int xuehao;
} tushu[300];
struct student{
char pe[9];
char se[3];
char banji[8];
int xu;
int jie;
int jieshu[5];
} stu[100];
int i,j,k,s=0,sum=0;
void output(struct book tushu)
{printf("%6d",tushu.num);
printf("%12s",tushu.name);
printf("%8s",tushu.zuozhe);
printf("%10.2f",tushu.danjia);
printf("%6s",tushu.zhuangtai);
if(strcmp(tushu.zhuangtai,"已借")==0){
printf("%8s",tushu.people);
printf("%5s",tushu.sex);
printf("%10s",tushu.banji);
printf("%4d",tushu.xuehao);}
}
int main()
{int xz1,xz2,xz3,xz4,xz5,xz6,xz7,xz8,xz9,xz10;
do{printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" 图书管理系统\n");
printf(" 1.新进图书信息输入\n");
printf(" 2.查询图书\n");
printf(" 3.删除图书信息\n");
printf(" 4.学生注册\n");
printf(" 5.查询会员信息\n");
printf(" 6.办理借书手续\n");
printf(" 7.办理还书手续\n");
printf(" 8.退出\n");
printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");
printf(" 请输入选择:");
scanf("%d",&xz1);
if(xz1==1){do{i=sum+1;
printf("请输入图书编号:");scanf("%d",&tushu[i].num);
printf("请输入图书名称:");scanf("%s",tushu[i].name);
printf("请输入图书作者:");scanf("%s",tushu[i].zuozhe);
printf("请输入图书单价:");scanf("%f",&tushu[i].danjia);
strcpy(tushu[i].zhuangtai,"未借");
sum++;
printf("————————1.继续输入 2.返回————————请输入选择:");
scanf("%d",&xz2);
}while(xz2==1);
}
if(xz1==2){do{printf(" 1.按图书编号查询\n");
printf(" 2.按图书名称查询\n");
printf(" 3.按图书作者查询\n");
printf(" 4.返回\n");
printf(" 请输入选择:");
scanf("%d",&xz3);if(xz3==4) break;
if(xz3==1){
printf("请输入要查找的图书编号:");
int num1;k=0;
scanf("%d",&num1);
for(i=1;i<=sum;i++) if(num1==tushu[i].num){k=1;break;}
if(k==0) printf(" ————————无此图书!————————\n");
else{printf(" 编号 名称 作者 单价 状态 姓名 性别 班级 学号\n");
output(tushu[i]);printf("\n");}
}
if(xz3==2){
printf("请输入要查找的图书名称:");
char name1[21];k=0;
scanf("%s",name1);
for(i=1;i<=sum;i++) if(name1[1]==tushu[i].name[1]){k=1;break;}
if(k==0) printf(" ————————无此图书!————————\n");
else{printf(" 编号 名称 作者 单价 状态 姓名 性别 班级 学号\n");
output(tushu[i]);printf("\n");}
}
if(xz3==3){
printf("请输入要查找的图书作者:");
char zuozhe1[13];k=0;
scanf("%s",zuozhe1);
for(i=1;i<=sum;i++) if(zuozhe1[1]==tushu[i].zuozhe[1]){k=1;break;}
if(k==0) printf(" ————————无此图书!————————\n");
else{printf(" 编号 名称 作者 单价 状态 姓名 性别 班级 学号\n");
output(tushu[i]);printf("\n");}
}
printf("————————1.继续查找 2.返回————————请输入选择:");
scanf("%d",&xz4);
}while(xz4==1);
}
if(xz1==3){do{printf(" 1.指定图书编号删除\n");
printf(" 2.指定图书名称删除\n");
printf(" 3.指定图书作者删除\n");
printf(" 4.返回\n");
printf(" 请输入选择:");
scanf("%d",&xz5);if(xz5==4) break;
if(xz5==1){
printf("请输入要删除的图书编号:");
int num1;scanf("%d",&num1);
for(i=1;i<=sum;i++)
if(num1==tushu[i].num){
for(j=i;j<=sum;j++)
tushu[j]=tushu[j+1];
printf(" ————————已成功删除————————\n");
sum=sum-1;
}
}
if(xz5==2){
printf("请输入要删除的图书名称");
char name1[21];
scanf("%s",name1);
for(i=1;i<=sum;i++)
if(strcmp(name1,tushu[i].name)==0){
for(j=i;j<=sum;j++)
tushu[j]=tushu[j+1];
printf(" ————————已成功删除————————\n");
sum=sum-1;
}
}
if(xz5==3){
printf("请输入要删除的图书作者:");
char zuozhe1[13];
scanf("%s",zuozhe1);
for(i=1;i<=sum;i++)
if(strcmp(zuozhe1,tushu[i].zuozhe)==0){
for(j=i;j<=sum;j++)
tushu[j]=tushu[j+1];
printf(" ————————已成功删除————————\n");
sum=sum-1;
}
}
printf("————————1.继续删除 2.返回————————请输入选择:");
scanf("%d",&xz6);
}while(xz6==1);
}
if(xz1==4){do{i=s+1;
printf("请输入姓名:");scanf("%s",stu[i].pe);
printf("请输入性别:");scanf("%s",stu[i].se);
printf("请输入班级:");scanf("%s",stu[i].banji);
printf("请输入学号:");scanf("%d",&stu[i].xu);
stu[i].jie=0;
s=s+1;
printf("————————1.继续输入 2.返回————————请输入选择:");
scanf("%d",&xz7);
}while(xz7==1);
}
if(xz1==5){do{char people1[9];k=0;
printf("请输入会员姓名:");scanf("%s",people1);
for(i=1;i<=s;i++) if(strcmp(people1,stu[i].pe)==0){k=1;break;}
if(k==0) printf(" ————————无此会员!————————\n");
else{printf("%s ",stu[i].pe);
printf("%s ",stu[i].se);
printf("%s ",stu[i].banji);
printf("%d ",stu[i].xu);
int kk=stu[i].jie;
for(j=1;j<=kk;j++) printf("%d",stu[i].jieshu[j]);
printf("\n");
}
printf("————————1.继续查找 2.返回————————请输入选择:");
scanf("%d",&xz8);
}while(xz8==1);
}
if(xz1==6){char people1[9];k=0;
printf("请输入借书人姓名:");scanf("%s",people1);
for(i=1;i<=s;i++) if(strcmp(people1,stu[i].pe)==0){k=1;break;}
if(k==0) printf(" ————————非注册会员不能借书!————————\n");
else{printf(" 1.输入要借的图书编号\n");
printf(" 2.输入要借的图书名称\n");
printf(" 3.返回\n");
printf(" 请输入选择:");
scanf("%d",&xz9);
if(xz9==1){int num1;k=0;
printf("请输入图书编号:");scanf("%d",&num1);
for(j=1;j<=sum;j++) if(num1==tushu[j].num){k=1;break;}
if(k==0) printf(" ————————未找到该图书!————————\n");
else{k=stu[i].jie+1;
stu[i].jieshu[k]=tushu[j].num;
stu[i].jie++;
strcpy(tushu[j].people,stu[i].pe);
strcpy(tushu[j].sex,stu[i].se);
strcpy(tushu[j].banji,stu[i].banji);
tushu[j].xuehao=stu[i].xu;
strcpy(tushu[j].zhuangtai,"已借");
printf(" ————————操作成功!————————\n");}
}
if(xz9==2){char name1[21];k=0;
printf("请输入图书名称:");scanf("%s",&name1);
for(j=1;j<=sum;j++)
if(strcmp(name1,tushu[j].name)==0){k=1;break;}
if(k==0) printf(" ————————未找到该图书!————————\n");
else{k=stu[i].jie+1;
stu[i].jieshu[k]=tushu[j].num;
stu[i].jie++;
strcpy(tushu[j].people,stu[i].pe);
strcpy(tushu[j].sex,stu[i].se);
strcpy(tushu[j].banji,stu[i].banji);
tushu[j].xuehao=stu[i].xu;
strcpy(tushu[j].zhuangtai,"已借");
printf(" ————————操作成功!————————\n");}
}
}
}
if(xz1==7){printf(" 1.输入要还的图书编号\n");
printf(" 2.输入要还的图书名称\n");
printf(" 3.返回\n");
printf(" 请输入选择:");
scanf("%d",&xz10);
if(xz10==1){int num1;k=0;char people2[9];
printf("请输入图书编号:");scanf("%d",&num1);
for(i=1;i<=sum;i++) if(num1==tushu[i].num){k=1;break;}
if(k==0) printf(" ————————未找到该图书!————————\n");
else{strcpy(people2,tushu[i].people);
for(j=1;j<=s;j++)
if(strcmp(people2,stu[j].pe)==0){
strcpy(tushu[i].zhuangtai,"未借");
int kk=stu[j].jie;
stu[j].jie--;
printf(" ————————操作成功!————————\n");
break;}
}
}
if(xz10==2){char name1[21];k=0;char people2[9];
printf("请输入图书名称:");scanf("%s",name1);
for(i=1;i<=sum;i++) if(strcmp(name1,tushu[i].name)==0){k=1;break;}
if(k==0) printf(" ————————未找到该图书!————————\n");
else{strcpy(people2,tushu[i].people);
for(j=1;j<=s;j++)
if(strcmp(people2,stu[j].pe)==0){
strcpy(tushu[i].zhuangtai,"未借");
int kk=stu[j].jie;
stu[j].jie--;
printf(" ————————操作成功!————————\n");
break;}
}
}
}
}while(xz1!=8);
}