满意答案
#include
#include
#include
#define SIZE sizeof(NODE)
typedef struct node
{
char name[20];
char phone_num[20];
char add[50];
struct node *next;
}NODE;
NODE * creat_list()
{
NODE * h,* p1,*p2;
int i=1;
h=(NODE*)malloc(SIZE);
printf("请输入姓名:");
scanf("%s",h->name);
printf("\n请输入电话号码:");
scanf("%s",h->phone_num);
printf("\n请输入地址:");
scanf("%s",h->add);
p1=p2=h;
while(1)
{
printf("是否继续添加?输入1继续,0 结束");
scanf("%d",i);
if(0==i) break;
p1 =(NODE*)malloc(SIZE);
printf("\n请输入姓名:");
scanf("%s",p1->name);
printf("\n请输入电话号码:");
scanf("%s",p1->phone_num);
printf("\n请输入地址:");
scanf("%s",p1->add);
p2->next=p1;
p2=p2->next;
}
p2->next=0;
return h;
}
void display(NODE * h)
{
NODE * p;
p=h;
while(p!=0)
{
printf("\n姓名:%s",p->name);
printf("\n电话:%s",p->phone_num);
printf("\n地址:%s",p->add);
p=p->next;
}
}
void search_num(NODE * h,char number[])
{
NODE * p;
while(p!=0)
{
if(strcmp(number,p->phone_num)==0)
{
printf("\n姓名:%s",p->name);
printf("\n电话:%s",p->phone_num);
printf("\n地址:%s",p->add);
return ;
}
p=p->next;
}
printf("没有所要找的号码");
}
void search_nam(NODE * h,char nam[])
{
NODE * p;
while(p!=0)
{
if(strcmp(nam,p->name)==0)
{
printf("\n姓名:%s",p->name);
printf("\n电话:%s",p->phone_num);
printf("\n地址:%s",p->add);
return ;
}
p=p->next;
}
printf("没有所要找的姓名");
}
void insert(NODE * h)
{
NODE * p1;
p1 =(NODE*)malloc(SIZE);
printf("\n请输入姓名:");
scanf("%s",p1->name);
printf("\n请输入电话号码:");
scanf("%s",p1->phone_num);
printf("\n请输入地址:");
scanf("%s",p1->add);
p1->next=h;
h=p1;
}
void del(NODE * h)
{
char nam[20];
NODE * p,*temp;
p=temp=h;
printf("请输入所要删除人的姓名");
scanf("%s",nam);
while(strcmp(nam,p->name)==0)
{
temp=p;
p=p->next;
}
if(p==h)
{
h=h->next;
}
else
{
temp->next=p->next;
}
free(p);
}
00分享举报