#include <iostream>
using namespace std;
//要求创建一个学生成绩信息链表,并输出每个学生的成绩信息。
struct structNode
{
int num;
char name[10];
float English_score;
float Math_score;
structNode *next;
};
structNode *head; //链表的头节点的指针
structNode *pre;//链尾插入节点时需要的链尾指针
void init()
{
head = new structNode;
if(head!=NULL)
{
cout << "OK!" << endl;
head->next = NULL; //链表头指针初始化
pre = head;
}
else
cout << "Failed!" << endl;
}
void add()
{
int n;
cout << "input student number:" << endl;
cin >> n;
structNode *p;//p为工作指针
for(int i=0; i<n; i++)
{
p = new structNode;
cout << "please input the No." << i+1 <<"'s number";
cin >> p->num;
cout << "please input the No." << i+1 <<"'s name";
cin >> p->name;
cout << "please input the No." << i+1 <<"'s the English's score";
cin >> p->English_score;
cout << "please input the No." << i+1 <<"'s the Math's score";
cin >> p->Math_score;
p->next = NULL;
pre->next = p;
pre = p;
}
}
void putout()
{
structNode *s;
s = head;
while(s->next!=NULL)
{
s = s->next;
cout << s->num << "\t";
cout << s->name << "\t";
cout << s->English_score << "\t";
cout << s->Math_score << "\t" << endl;
}
}
int main()
{
init();
add();
cout << "--------------------------------------------------------------------------------" << endl;
putout();
cout << "--------------------------------------------------------------------------------" << endl;
return0;
}