Lista jednokierunkowa

2011-08-13 16:41
0

Witam, mam zamiar napisać program który wrzuca do listy graczy podanych przez użytkownika. Nie wiem czemu ale na samym poczatku mam problem, z którym nie moge sobie poradzic. Według mnie to jest napisane dobrze, ale może ktoś podsunie jakąs mysl. Program kompiluje się, dodaje graczy, ale gdy już jest koniec dodawania i ma wypisać, to niby wypisuje, ale zaraz pojawia sie komunikat o błędzie, za każda wskazówke będę wdzięczny.

Pozdrawiam

 #include<cstdio>
#include<string>
#include<cstdlib>
#include <iostream>
#include<fstream>
#include<sstream>

using namespace std;

class gracz{
public:
    string name;
    int wz;
    string team;

    gracz(){
        cout<<"Podaj nazwisko gracza"<<endl;
        cin>>name;
        cout<<"Podaj wzrost gracza"<<endl;
        cin>>wz;
        cout<<"Podaj druzyne gracza"<<endl;
        cin>>team;
    };

    void wypisz(){
        cout<<"Gracz: "<<name<<" o wzroscie: "<<wz<<" z druzyny: "<<team<<endl;

    }
    gracz *nast;
    ~gracz(){};
};

int main(){
    gracz *glowa=NULL,*wsk=NULL;
    int a=1;
    //gracz *b;

    while(a==1){
        cout<<"Co robimy?"<<endl;
        cin>>a;
        if(a==1){
        if(glowa==NULL){
            glowa=wsk=new gracz();
        }
        else{
            wsk->nast=new gracz();
            wsk=wsk->nast;
        }
        }
        else
            break;

    }

    wsk=glowa;
    while(wsk!=NULL){
        wsk->wypisz();
        wsk=wsk->nast;
    }

    delete glowa,*wsk;
    getchar(); 
    return 0;
}
edytowany 1x, ostatnio: madmike, 2011-08-13 17:41

Pozostało 580 znaków

2011-08-13 17:16
0

W while'u w drugim else (przed break) dodaj

 wsk->nast = NULL;
edytowany 2x, ostatnio: satirev, 2011-08-13 17:17

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0