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

Wczytywanie z pliku

Object Storage Arubacloud
0 głosów
461 wizyt
pytanie zadane 30 grudnia 2015 w C i C++ przez Jonki Dyskutant (8,180 p.)
edycja 30 grudnia 2015 przez Jonki

Piszę sobie po raz kolejny bankomat, tylko coraz to bardziej rozbudowany i pojawił mi się problem z wczytywanie z pliku. Do tabeli 'dluznicy' przypisuje mi jakąś dziwną liczbę, nie wiem dlaczego to tak się dzieje. Może ktoś wie o co chodzi, bo ja nie mogę sobie z tym poradzić. W niektórych miejscach funkcji wpisałem wypisywanie na ekran tylko po to, aby zobaczyć w którym momencie coś się psuje i gdy wpisałem 'cout << "Dluznicy: " << dluznicy[1];' pokazuje mi jakąś dziwnie wielką liczbę, a powinno w tym miejscu być 0.



void Klient::zadluzanie(int *index, int *pozyczka)
{
    fstream plik;

    Bankomat bank;

    bank.wczytaj_ilosc_klientow();

    int *dluznicy = new int[bank.ilosc_klientow];

    int licznik = 0;

    if(*index == '0')
        plik.open("dluznicy_DAN.txt", ios::in);
    else if(*index == '1')
        plik.open("dluznicy_KADA.txt", ios::in);

    cout << "Index: " << *index << endl;
    cout << "Pozyczka: " << *pozyczka << endl;

    system("pause");

    if(plik.good() == false)
    {
        system("cls");
        cout << "Blad polaczeenia z baza danych!";
        Sleep(2000);
    }
    else
    {
        while(!plik.eof())
        {
            plik >> dluznicy[licznik];
            licznik++;
        }

        cout << "Dluznicy: " << dluznicy[1];

        system("pause");

        plik.close();
        plik.clear();

        if(*index == '0')
            plik.open("dluznicy_DAN.txt", ios::out);
        else if(*index == '1')
            plik.open("dluznicy_KADA.txt", ios::out);

        if(plik.good() == false)
        {
            system("cls");

            cout << "Blad polacznia z baza danych!";
            Sleep(2000);
        }
        else
        {
            for(int i = 0; i < bank.ilosc_klientow; i++)
            {
                if(i == _index)
                    plik << *pozyczka << endl;
                else
                    plik << dluznicy[i] << endl;
            }
        }
    }

    delete [] dluznicy;

    plik.close();
    plik.clear();
}

 

1 odpowiedź

0 głosów
odpowiedź 30 grudnia 2015 przez Xenox Użytkownik (580 p.)

A jesteś pewny, że wczytujesz więcej niż 1 liczbę, bo tablice indeksujemy od 0?

dluznicy[0], dluznicy[1], ..., dluznicy[iloscElementowTablicy-1];

 

komentarz 30 grudnia 2015 przez Jonki Dyskutant (8,180 p.)
Tak, jestem pewien.
komentarz 30 grudnia 2015 przez Jonki Dyskutant (8,180 p.)
OK, znalazłem problem. Zmienna *index była typu int, a nie char.

Podobne pytania

0 głosów
1 odpowiedź 842 wizyt
pytanie zadane 10 grudnia 2015 w C i C++ przez baszmest Gaduła (3,080 p.)
0 głosów
1 odpowiedź 235 wizyt
pytanie zadane 1 stycznia 2016 w C i C++ przez ToSzem Nowicjusz (170 p.)
–1 głos
2 odpowiedzi 630 wizyt
pytanie zadane 28 lutego 2016 w C i C++ przez Łukasz Kutyński Początkujący (330 p.)

92,568 zapytań

141,420 odpowiedzi

319,620 komentarzy

61,954 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!

...