記錄學生姓名成績加學號

#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;


}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章