#include "record.h"
//按书名查找图书
void find_name(BOOK *head)
{
BOOK *p;
char name[20];
int a=0;
printf("请输入你要查找的图书书名:\n");
gets(name);
p=head;
while(p!=NULL)
{
if(strcmp(p->BookName,name)==0){
a=1;
break;
}
p=p->next;
}
if(a==0){
printf("你查找的图书不存在!");
return;
}
else{
printf(" 你要查找的图书信息如下\n");
printf("\t================================================================================\n");
printf("主编\t出版社\t出版年\t版次\tISBN书号\t书名\t定价\t拥有本数\t借出本数\t现余本数\t\n");
while(p!=NULL){
if(strcmp(p->BookName,name)==0){
printf("%s\t%s\t%s\t%s\t%s\t%s\t%d\t%d\t%d\t%d\n",p->Editor,p->Publisher,p->PublishYear,p->Edit,p->ISBNnum,p->BookName,p->Price,p->OwnNum,p->LoanNum,p->LeftNum);
}
p=p->next;
}
printf("\t================================================================================\n");
}
return;
}
//修改图书信息
BOOK *modify(BOOK *top)
{
char str[5];
char temp[5];
int cn=0;
char input[30],choose[2];
int flage=1;
BOOK *p;
p=top->next;
if(count==0)
{
printf("没有可供修改的记录");
return(top);
}
else
{
find_name(p);
printf("确定要修改这本书的信息:\n");
gets(temp);
if(temp[0]=='y'||temp[0]=='Y')
{
printf("需要修改的类型:\n");
printf("1.主编\n");
printf("2.出版社\n");
printf("3.出版年\n");
printf("4.版次\n");
printf("5.ISBN书号\n");
printf("6.定价\n");
printf("7.拥有本数\n");
printf("8.借出本数\n");
printf("9.现余本数\n");
}
gets(choose);
while(1)
{
cn = atoi(choose);
if(cn<1|| cn>9 )
{
printf("\n输入错误,重选1-9:");
gets(choose);
}
else break;
}
switch(cn){
case 1:
printf("需要修改的主编:");
break;
case 2:
printf("需要修改的出版社:");
break;
case 3:
printf("需要修改的出版年:");
break;
case 4:
printf("需要修改的版次:");
break;
case 5:
printf("需要修改的ISBN书号:");
break;
case 6:
printf("需要修改的定价:");
break;
case 7:
printf("需要修改的拥有本数");
break;
case 8:
printf("需要修改的借出本数:");
break;
case 9:
printf("需要修改的现余本数:");
break;
}
gets(input);
while(p!=NULL)
{
if((cn==1&&strcmp(input,p->Editor)==0)
||(cn==2&&strcmp(input,p->Publisher)==0)
||(cn==3&&strcmp(input,p->PublishYear)==0)
||(cn==4&&strcmp(input,p->Edit)==0)
||(cn==5&&strcmp(input,p->ISBNnum)==0)
||(cn==6&&(int)input==p->Price)
||(cn==7&&(int)input==p->OwnNum)
||(cn==8&&(int)input==p->LoanNum)
||(cn==9&&(int)input==p->LeftNum)){
switch(cn){
case 1:
printf("请重新输入主编:");
scanf("%s",&p->Editor);
if(strcmp(p->Editor,"0")==0)
break;
case 2:
printf("请重新输入出版社:");
scanf("%s",&p->Publisher);
if(strcmp(p->Publisher,"0")==0)
break;
case 3:
printf("请重新输入出版年");
scanf("%s",&p->PublishYear);
if(strcmp(p->PublishYear,"0")==0)
break;
case 4:
printf("请重新输入版次");
scanf("%s",&p->Edit);
if(strcmp(p->Edit,"0")==0)
break;
case 5:
printf("请重新输入ISBN书号");
scanf("%s",&p->ISBNnum);
if(strcmp(p->ISBNnum,"0")==0)
break;
case 6:
printf("请重新输入定价");
scanf("%d",&p->Price);
case 7:
printf("请重新输入拥有本数");
scanf("%d",&p->OwnNum);
case 8:
printf("请重新输入借出本数");
scanf("%d",&p->LoanNum);
case 9:
printf("请重新输入现余本数");
scanf("%d",&p->LeftNum);
default:
break;
}
printf("修改成功!");
flage=0;
break;
p=p->next;
}
if(flage!=0)
{
printf("没有找到该书籍\n");
flage=1;
break;
}
continue;
}
display(p);
}
}