Lista jednokierunkowa

Odpowiedz Nowy wątek
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

Odpowiedz
Liczba odpowiedzi na stronę

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