求大佬帮忙啊,咸鱼求教,谢谢
#include
#include
#define MAXSIZE 100
typedef struct{
char num[20];
char name[50];
char price[10];
}Book;
Book e;
typedef struct{
Book *elem;
int length;
}SqList;
SqList L;
int StatusInitList (SqList &L)
{
L.elem=new Book[MAXSIZE];
if(!L.elem)
printf("创建失败");
L.elem=0;
if(L.elem==0)
printf("创建成功");
}
int StatusGetelem(SqList L,int i,Book &e)
{
if(iL.length)
printf("输入错误");
e=L.elem[i-1];
return i;
}
int LocateELem(SqList L,Book e)
{
int i;
for(i=0;i if(L.elem[i]==e)
printf("%s\t%s\t%.d\t",L.elem[i].name,L.elem[i].num,L.elem[i].price );
return 0;
}
int StatusListInsert(SqList &L,int i,Book e)
{
int j;
if((iL.length+1))
return 0;
if(L.length==MAXSIZE)
return 0;
for (j=L.length-1;j>=i-1;j--)
L.elem[j+1]=L.elem[j];
L.elem[i-1]=e;
++L.length;
return 0;
}
int StatusListDelete (SqList &L,int i)
{
int j;
if((iL.length))
return 0;
for (j=i;j<=L.length-1;j++)
L.elem[j-1]=L.elem[j];
--L.length;
return 1;
}
void printfbook()
{
int i;
printf("1.num\t2.书名\t3.价格");
for (i=0;i<=L.length-1;i++)
printf("%s\t%s\t%s\n",L.elem[i].num,L.elem[i].name,L.elem[i].price);
}
int main()
{
int i,n;
printf("1.建立顺序表\n2.查找\n3.插入\n4.删除\n5.输出\n6.其他退出:\n");
do{
scanf("%d",&n);
switch(n){
case 1:
StatusInitList(L);
break;
case 2:
printf("输入位置:");
scanf("%d",&i);
StatusGetelem(L,i,e);
LocateELem(L,e);
break;
case 3:
printf("输入位置:");
scanf("%d",&i);
StatusGetelem(L,i,e);
StatusListInsert(L,i,e);
break;
case 4:
printf("输入位置:");
scanf("%d",&i);
StatusGetelem(L,i,e);
StatusListDelete(L,i);
break;
case 5:
printfbook();
break;
default:
exit(0);
}
}while(n!=0);
return 0;
}
代码不全,有问题,把代码放到代码框中上传