• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z listami, jednoręki bandyta

Object Storage Arubacloud
0 głosów
131 wizyt
pytanie zadane 22 kwietnia 2017 w C i C++ przez Mechatron96 Nowicjusz (220 p.)

Dzień dobry wszystkim. Mam mały problem ze swoim programem. Otóż mój program, który odzwierciedla automat do gier wywala mi cały czas błąd przy listach: " "Lista" has been not declared " (Lista to nazwa struktury). Ogólnie listy robię po to aby tworzyc i wczytywać ranking graczy. O to kod: 

Oto funkcje odpowiedzialne za ranking w pliku implementacji:

void wczytaj(Lista *&g)
{
    string linia;
    ifstream plik("baza.txt");
    if(!plik.good())
    {
        g=0;
        cout<<"blad pliku"<<endl;
        return;
    }
    Lista *a=0;
    while(!plik.eof())
    {
        int wynik;
        string imie;
        getline(plik,linia);
        wynik=atoi(linia.c_str());
        getline(plik,imie);

        if(g==0)
        {
            dodaj(g,wynik,imie);
            a=g;
        }
        else
        {
            dodaj(a->next,wynik,imie);
            a=a->next;
        }
    }
    plik.close();
}

void dodaj(Lista *&g,int wynik,string imie)
{
    Lista *p=g;
    g=new Lista;
    g->punkty=wynik;
    g->imie=imie;
    g->next=p;
}

void dodaj_gracza(Lista *g,int wynik, string imie)
{

    while(g->next)
    {
        g=g->next;
    }
    dodaj(g->next,wynik,imie);
}
void zapisz_liste(Lista *g)
{
    ofstream plik("baza.txt");
    if(!plik.good())
    {
        cout<<"blad pliku"<<endl;
        return;
    }
    do
    {
        plik<<g->punkty<<endl;
        plik<<g->imie<<endl;
        g=g->next;
    }
    while(g->next);
    plik<<g->punkty<<endl;
    plik<<g->imie<<endl;

    plik.close();

}
void wyswietl_liste(Lista *g)
{
    int a=1;
    while(g!=0)
    {
        cout<<a<<". Imie gracza:"<<g->imie<<" "<<"Zetony: "<<g->punkty<<endl;
        g=g->next;
        a++;
    }
}
void usun_liste(Lista *&g)
{
    while(g)
    {
        Lista *pom=g;
        g=g->next;
        delete pom;
    }
}

Oto plik nagłówkowy:
#ifndef OPERACJE_H
#define OPERACJE_H
#include"interfejs.h"
#include<string>
using namespace std;
struct Lista
{
    string imie;
    int punkty;
    Lista *next;
};

struct Rolka
{
    int Wylosowana;
    int RolkaID;
};

int dodawanie(int zetony_posiadane, int wygrane_zetony, int postawione_zetony);
int odejmowanie(int zetony, int postawione_zetony);
void losowanie(Rolka A[]);
int porownanie(Rolka A[]);
int przelicznik(int wartosc, int postawiona_kwota);
void wczytaj(Lista *&g);
void dodaj(Lista *&g,int wynik,string imie);
void dodaj_gracza(Lista *g,int wynik, string imie);
void wyswietl_liste(Lista *g);
void usun_liste(Lista *&g);

#endif // OPERACJE_H

A to jest plik nagłówkowy, modułu w którym wywołuje tworzenie listy:
#ifndef INTERFEJS_H
#define INTERFEJS_H
#include"operacje.h"
using namespace std;
void menu_glowne(int &liczba,int &zeton,Lista *&g);
#endif // INTERFEJS_H

 

1 odpowiedź

+1 głos
odpowiedź 22 kwietnia 2017 przez Dexterim Dyskutant (8,370 p.)
Do pliku z definicjami funkcji dopisz #include<operacje.h>

Podobne pytania

0 głosów
2 odpowiedzi 276 wizyt
pytanie zadane 22 maja 2017 w C i C++ przez Mechatron96 Nowicjusz (220 p.)
+2 głosów
2 odpowiedzi 418 wizyt
0 głosów
0 odpowiedzi 332 wizyt
pytanie zadane 19 grudnia 2016 w C i C++ przez mzcmc Użytkownik (620 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...