#include
#include
#include
#include
#define Maxsize 200
typedef struct
{
char ISBN[20];
char name[20];
char author[20];
char price[20];
}ElemType;
typedef struct
{
ElemType data[Maxsize],data1[Maxsize];
int length;
}SeqList;
SeqList L;
void InitList(SeqList *L)
{
L=(SeqList)malloc(sizeof(SeqList));
L->length=0;
}
int ListEmpty(SeqList *L)
{
return(L->length==0);
}
void AddBook(SeqList *L) //添加图书
{
printf("请输入图书信息\n");
printf("书号:\t书名:\t作者:\t价格:\n");
scanf("%s %s %s %s",L->data[L->length].ISBN,L->data[L->length].name,L->data[L->length].author,L->data[L->length].price);
printf("\n");
L->length++;
printf("添加图书成功!\n");
}
void Search(SeqList *L) //查询
{
char isbn[20];
int i=0;
printf("请输入要查找的书号:");
scanf("%s",isbn);
while(ilength&&L->data[i].ISBN!=isbn)
{
i++;
}
if(i>=L->length)
{
printf("图书馆没有此书!\n");
}
else
{
printf("书号\t书名\t作者\t价格\n");
scanf("%s %s %s %s",L->data[i].ISBN,L->data[i].name,L->data[i].author,L->data[i].price);
printf("\n");
}
}
void Revise(SeqList *L) //修改图书信息
{ char isbn[20];
int i=0,v=0;
printf("请输入要修改图书的书号:");
scanf("%s",&isbn);
printf("要修改的图书信息如下:");
while(ilength&&L->data[i].ISBN!=isbn)
{
i++;
}
if(i>=L->length)
{
printf("图书馆没有此书!\n");
}
else
{
printf("书号\t书名\t作者\t价格\n");
scanf("%s %s %s %s",L->data[i].ISBN,L->data[i].name,L->data[i].author,L->data[i].price);
printf("\n");
printf("请输入修改后的图书信息:");
printf("书号\t书名\t作者\t价格\n");
scanf("%s %s %s %s",L->data[i].ISBN,L->data[i].name,L->data[i].author,L->data[i].price);
for(v=0;vlength;v++)
{
if(L->data[v].ISBN==L->data[i].ISBN)
L->length--;
}
printf("\n");
printf("修改图书信息成功!\n");
}
}
void Delete(SeqList *L) //删除图书
{
char isbn[20];
int i=0;
printf("请输入要删除图书的书号:");
scanf("%s",&isbn);
while(ilength&&L->data[i].ISBN!=isbn)
{
i++;
}
if(i>=L->length)
{
printf("图书馆没有此书!\n");
}
else
{
int j;
printf("ISBN:%s的图书%s已成功删除\n",L->data[i].ISBN,L->data[i].name);
for(j=i;jlength-1;j++)
L->data[j]=L->data[j+1];
L->length--;
}
}
void Display(SeqList *L)
{
int i;
for(i=0;ilength;i++)
{
printf("书号\t书名\t作者\t价格\n");
printf("%s %s %s %s",L->data[i].ISBN,L->data[i].name,L->data[i].author,L->data[i].price);
}
}
int main()
{ int a;
InitList(L);
printf("----请输入数字查询----\n");
printf("----1.添加图书----\n");
printf("----2.查询图书----\n");
printf("----3.修改图书----\n");
printf("----4.删除图书----\n");
printf("----5.显示图书----\n");
printf("----6.退出----\n");
scanf("%d",&a);
switch(a)
{
case 1:AddBook(L);break;
case 2:Search(L);break;
case 3:Revise(L);break;
case 4:Delete(L);break;
case 5:Display(L);break;
case 6:printf("您已成功退出!");return 0;break;
default:printf("输入错误!");
}
return 0;
}