打印不出来,就是我想创建一个学生成绩链表,把大于平均分的保存到H2,然后打印。我把所有信息插入到那个H1里面了。
我想要知道改完的代码应该长啥样子啊,然后我是哪里出问题了呀
#include <iostream>
#include <stdlib.h>
using namespace std;
float score_ave=0;
typedef struct stu
{
int num;
string name;
float score;
stu *next;
};
void save(stu *x,stu *H)
{
if(x->score>score_ave)
{
stu *p=new stu;
p->next=H->next;
H->next=p;
p->name=x->name;
p->num=x->num;
p->score=x->score;
}
}
int main()
{
void save(stu *x,stu *H);
stu *H1=new stu;
stu *H2=new stu;
H1->next=NULL;
H2->next=NULL;
char k;
int N=0;
do{
stu *p=new stu;
cout <<"请输入"<<endl;
cin>>p->name;
cin>>p->num;
cin>>p->score;
p->next=H1->next;
H1->next=p;
cout<<"是否继续输入"<<endl;
cout << endl;
cin>>k;
cout << endl;
N++;
}while(k!='#');
score_ave=score_ave/N;
H2=H2->next;
save(H1,H2);
while(H2!=NULL){
cout<<H2->name<<H2->num<<H2->score<<endl;
H2=H2->next;
}
return 0;
}