链表做电话信息

来源:百度知道 编辑:UC知道 时间:2024/05/29 17:51:58
不怎么会,编译的时候错误好多,帮帮我吧!
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<malloc.h>
#define NULL 0
#define ERROR 0

//学生信息结构体

struct STU{
char name[20];
char phone[20];
}ElemType;

//定义节点
typedef struct Lnode
{ struct STU data;
struct Lnode *next;
}Lnode,*Phonelist;

//建立链表
void CreatList(Phonelist &s1)
{int n,i;
struct Lnode *s,*r;
s1=(Phonelist)malloc(sizeof(Lnode));
r=s1;
printf("请输入要录入电话号码的学生人数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{s=(Phonelist)malloc(sizeof(Lnode));
printf("请输入第%d个学生姓名",i);
scanf("%s",s->data.name);
printf("请输入第%d个学生电话",i);
scanf("%s",s->data.phone);
r->next=s;
r=s;
}
r->next=NULL;
}

//打印
int ListTraverse(Phonelist

大部分修改的地方加了注释。个别没加的自己比较吧,太多了。
#include<stdio.h>
#include<malloc.h>
#include<string.h>
#include<malloc.h>
#define NULL 0
#define ERROR 0
#define OK 1 //add
typedef int Status;//add

//学生信息结构体

typedef struct STU{ //add typedef
char name[20];
char phone[20];
}ElemType;

//定义节点
typedef struct Lnode
{ struct STU data;
struct Lnode *next;
}Lnode,*Phonelist;

//建立链表
void CreatList(Phonelist &s1)
{int n,i;
struct Lnode *s,*r;
s1=(Phonelist)malloc(sizeof(Lnode));
r=s1;
printf("请输入要录入电话号码的学生人数:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{s=(Phonelist)malloc(sizeof(Lnode));
printf("请输入第%d个学生姓名",i);
scanf("%s",s->data.name);
printf("请输入第%d个学生电话",i);
scanf("%s",s->data.phone);
r->next=s;
r