首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者写的程序 帮忙看看

2012-04-14 
菜鸟写的程序 帮忙看看#include stdio.h#includestring.h#includeiostream.htypedef struct Lab{cha

菜鸟写的程序 帮忙看看
#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;
}

探讨
void Printlab(Labb l ) 这函数有问题 可就不知道哪不对

热点排行