#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;
}
記錄學生姓名成績加學號
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.