菜鸟写的程序 帮忙看看
#include <stdio.h>
#include<string.h>
#include<iostream.h>
typedef struct Lab
{
char name[10],kind[10],people[10];
int num;
struct Lab *next;
}Lab,*Labb;
void InitLab(Labb &l)
{
l = new Lab;
l->next = NULL;
}
void creatlab(Labb &l,int n)
{
Lab *p,*s;
s=l;
int i,d;
char a,b,c;
for(i=1;i<=n;i++)
{cin>>a;cin>>b;cin>>c;cin>>d;
p=new Lab;
p->name[10]=a;
p->kind[10]=b;
p->people[10]=c;
p->num=d;
l->next=p;
l=p;
}
l=s;
}
void Printlab(Labb l ) {
Labb s;
s=l->next;
cout<<"The laborary is:"<<endl;
while(s)
{
cout<<s->name<<" ";
cout<<s->kind<<" ";
cout<<s->people<<" ";
cout<<s->num<<" ";
s=s->next;
}
cout<<endl;
}
void main()
{
Labb La;
int n;
InitLab(La);
printf("请输入n");
cin>>n;
creatlab(La, n);
Printlab(La );
}
[解决办法]
void creatlab(Labb &l,int n)
{
Lab *p,*s;
s=l;
int i,d;
char a,b,c;
for(i=1;i<=n;i++)
{
cin>>a;cin>>b;cin>>c;cin>>d;
p=new Lab;
p->name[10]=a;
p->kind[10]=b;
p->people[10]=c;
p->num=d;
p->next = NULL; //加上这句试下,你链表最后没有个空的,在printlab()中就死循环吧
l->next=p;
l=p;
}
l=s;
}