#include<iostream>
#include<cstdlib>
using namespace std;
class list{
public:
int num;
char name[10];
int score;
class list *next;//指针变量,指向下一个节点
};
typedef class list node;//定义了一个类型node,它与class list等价。
typedef node *link;//定义了一个新类型link,它与 node* 等价,同时,与 class list * 等价。
int main(){
link newnode ,ptr,delptr;//难就难在这是三个指针
cout<<"请输入5位学生的数据:"<<endl;
delptr=new node;//delptr暂时当链表头指针
if(!delptr){
cout<<"ERROR!"<<endl;
exit(1);
}
cout<<"iuput ur number:";
cin>>delptr->num;
cout<<"input ur name:";
cin>>delptr->name;
cout<<"input ur score:";
cin>>delptr->score;
ptr=delptr;//保留链表头指针,以ptr为指向当前节点的指针
for(int i=1;i<5;i++)
{
newnode=new node;
if(!newnode)
{
cout<<"error!"<<endl;
exit(1);
}
cout<<"iuput ur number:";
cin>>newnode->num;
cout<<"input ur name:";
cin>>newnode->name;
cout<<"input ur score:";
cin>>newnode->score;
newnode->next=NULL;
ptr->next=newnode;//把新节点加到链表后面
ptr=ptr->next;//让ptr保持在链表最后面 (其实这两句话我没看懂)
}
cout<<"\n 学 生 成 绩"<<endl;
cout<<"座号\t姓名\t成绩\n=================="<<endl;
ptr=delptr;//让ptr回到链表头
while(ptr!=NULL)
{
cout<<ptr->num<<"\t"<<ptr->name<<"\t"<<ptr->score<<endl;
delptr=ptr;
ptr=ptr->next;
delete delptr;
}
return 0;
}
记录学生姓名成绩加学号
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.