Blednę pobieranie danych z pliku tekstowego

0

To niżej nie działa jak trzeba. Zamiast poprawnych PINów z notatnika pokazuje jakieś wielkie liczby i nie wiem jak sobie z tym poradzić. Śmieszne jest to, że jeśli użytkownik chce się zarejestrować PINem, którego nie ma w bazie, to normalnie się dopisuje jego PIN i stan konta do notatnika i wzrasta liczba w pliku z ilością klientów, natomiast jeśli klient chce się zarejestrować PINem, który już jest w bazie to też normalnie się rejestruje, tylko, że już nie wzrasta liczba klientów w pliku tekstowym.

 void Bankomat::proces_rejestracji(int PIN)
{
    fstream plik;

    plik.open("klienci.txt", ios::out | ios::app);
    if(plik.good() == false)
    {
        system("cls");

        cout << "Blad polaczenia z baza danych!";
        Sleep(2000);
    }
    else
    {
        wczytaj_ilosc_klientow();

        string linia;
        int nr_linii = 1;
        int licznik = 0;

        int *PINy = new int[ilosc_klientow];

        while(getline(plik, linia))
        {
            switch(nr_linii)
            {
            case 1:
                {
                    PINy[licznik] = atoi(linia.c_str());
                    licznik++;
                    break;
                }
            }

            if(nr_linii == 2)
            {
                nr_linii = 0;
            }
            nr_linii++;
        }

        int licznik_klientow = 0;

        for(int i = 0; i < ilosc_klientow; i++)
        {
            if(PIN == PINy[i])
            {
                cout << endl << endl;

                cout << "PIN jest juz zarejestrowany. Podaj inny...";
                Sleep(2000);
            }
            else if(PIN != PINy[i])
            {
                licznik_klientow++;
            }
        }

        cout << PINy[0];
        system("pause");

        if(licznik_klientow == ilosc_klientow)
        {
            plik.clear();
            plik.seekp(0,ios::end);

            plik << PIN << endl;
            int Stan_konta = 0;
            plik << Stan_konta << endl;

            cout << "Konto zostalo utworzone. Dziekujemy!";
            ilosc_klientow++;
            Sleep(2000);

            zapisz_ilosc_klientow();
        }

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

        delete[] PINy;
    }
}
1

plik został otwarty jako: ios::out | ios::app a próbujesz z niego czytać?

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