#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <conio.h>
struct node
{
char name[10];
float price;
char pub[15];
struct node *link;
};
int m;
/*******************************************************/
/* 函数功能:创建结点,输入结点数据 */
/* 输入参数:链表头指针 */
/* 函数输出:链表头指针 */
/*******************************************************/
struct node *add(struct node *head )
{
int i;
float jg;
struct node *p, *pnew;
m=1;
pnew=(struct node *)malloc(sizeof(struct node)); /* 创建空间 */
window(3,3,40,20);
gotoxy(1,m++);
cprintf("Please input book name,price,publisher");
gotoxy(1,m++);
cprintf("name:");scanf("%s",pnew->name);
gotoxy(1,m++);
cprintf("price:");scanf("%f",&jg);pnew->price=jg;
gotoxy(1,m++);
cprintf("pub:");scanf("%s",pnew->pub);
pnew->link=NULL;
if (head==NULL)
return (pnew);
p=head;
while (p->link!=NULL) /* 找到尾结点 */
p=p->link;
p->link=pnew;
return (head);
}
/*******************************************************/
/* 函数功能:链表输出 */
/* 输入参数:链表头指针 */
/* 函数输出:无 */
/*******************************************************/
void print(struct node *head)
{
int m=1,n=1;
struct node *p;
p=head;
window(3,3,40,20);
gotoxy(1,m++);
clrscr();
cprintf("name price publisher\n");
while (p!=NULL)
{
gotoxy(1,m++);
cprintf(" %s %-5.2f %-s\n",p->name,p->price,p->pub);
p=p->link;
}
gotoxy(3,m++);
cprintf("\n Press any keys!");
getch();
}
/*******************************************************/
/* 函数功能:链表存储 */
/* 输入参数:链表头指针