回复 7楼 xufen340
#include <iostream.h>
#include <string.h>
#include<stdlib.h>
template<class T>
struct Node
{
T name;
T number;
T chinese;
T math;
T english;
Node<T> *next;
};
template <class T>
class student
{
public:
student();//建立构造函数
private:
Node<T> *first;//单链表的头指针
Node<T> *p,*s;
};
template <class T>
student<T>::student()
{
int n;
//Node *p,*s;
T name1,number1,chinese1,math1,english1;
cout<<"请输入总人数";
cin>>n;
p=NULL;
for(int i=1;i<=n;i++)
{
s=new Node<T>;
cout<<"请输入姓名";
//fflush(stdin);
cin>>name1;
cout<<endl;
s->name=name1;
cout<<"请输入学好";
//fflush(stdin);
cin>>number1;
cout<<endl;
s->number=number1;
cout<<"请输入语文成绩";
//fflush(stdin);
cin>>chinese1;
cout<<endl;
s->chinese=chinese1;
cout<<"请输入数学成绩";
//fflush(stdin);
cin>>math1;
cout<<endl;
s->math=math1;
cout<<"请输入英语成绩";
//fflush(stdin);
cin>>english1;
cout<<endl;
s->english=english1;
s->next=NULL;
//头节点直接插入。
if(p){
p->next=s;
p=p->next;
}
else
{
first=s;
p=s;
}
}
}
void main()
{
student<char> student;
}
呵呵,
你看一下,我稍微做了下改动,能运行出来,但在输入数据时出现了问题,输入一个数出一个,输入两个数出现三个。