BJFU—214基于链式存储结构的图书信息表的创建和输出

#include<stdio.h>
#include<stdlib.h>
#define MAX 100

typedef struct bNode
{
double no;
char name[MAX];
double price;
struct bNode * next;
}bNode,*bLnode;

bLnode createData(bLnode B);
void traverse(bLnode B);

int main()
{
bLnode book;
book = createData(book);
traverse(book);
return 0;
}
bLnode createData(bLnode B)
{
B = (bLnode)malloc(sizeof(bNode));
B->next = NULL;
bLnode Ptai = B;

int count = 0;
while(1)
{
bLnode pnew = (bLnode)malloc(sizeof(bNode));
scanf("%lf",&pnew->no);
scanf("%s",&pnew->name);
scanf("%lf",&pnew->price);

if(pnew->no==0&&pnew->name[0]=='0'&&pnew->price==0)
break;
Ptai->next = pnew;
Ptai = pnew;
Ptai->next = NULL;
count++;
}
printf("%d\n",count);
return B;
}
void traverse(bLnode B)
{
bLnode p = B;
while(p->next!=NULL)
{
printf("%.0f ",p->next->no);
printf("%s ",p->next->name);
printf("%.2f",p->next->price);
printf("\n");

p = p->next;
}
}

posted @ 2019-10-04 17:20  wwww2  阅读(1266)  评论(0编辑  收藏  举报