Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Dziedziczenie klas

Ostatnio zmodyfikowano 2013-01-12 14:29
Autor Wiadomość
matigra
Temat założony przez niniejszego użytkownika
Dziedziczenie klas
» 2013-01-11 16:30:34
Zdefiniowałem klase logowanie tam podaje pin i chce go wykorzystać w drugiej klasie pobieranieDanych. Następnie w mian najpierw pobieram pin nastepnie chce pobrac dane z pliku i nie wiem czemu pojawiają mi się puste linie. Co robię źle?

TO są pliki
>> logowanie.cpp:
C/C++
#include "logowanie.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;





logowanie::logowanie( void )
{
}


logowanie::~logowanie( void )
{
}


bool logowanie::zaloguj()
{
    ////// LOGOWANIE //////
    bool done;
   
   
    ifstream fileCheck;
    int i = 2;
   
   
   
    fileCheck.open( pin ); //Sprawdzanie czy plik istnieje oraz błedne podawanie pinu
    done = true;
   
    while( !fileCheck )
    {
        if( i != 0 )
        {
            cout << "Podales bledny pin" << endl;
            cout << "Pozostalo prob: " << i << endl << endl;
            fileCheck.close();
            cout << "Podaj pin: ";
            cin >> pin;
            pin = pin + ".txt";
            fileCheck.open( pin );
            i--;
           
        }
        if( i == 0 )
        {
           
            done = false;
            break;
        }
    }
    fileCheck.close();
    return done;
}


int logowanie::wybor()
{
    int wybor;
    cout << "Co chcesz zrobic?" << endl;
    cout << "[1] Zaloguj sie" << endl;
    cout << "[1] Zaloz konto" << endl;
    cout << "[0] Wyjdz" << endl;
    cin >> wybor;
   
    return wybor;
}


string logowanie::podawaniePIN()
{
   
    cout << "Podaj pin: ";
    cin >> pin;
    pin = pin + ".txt";
    cout << pin << endl;
    return pin;
}

>> logowanie.h:
C/C++
#pragma once
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#pragma hdrstop
using namespace std;

class logowanie
{
public:
    string pin;
   
    logowanie( void );
    ~logowanie( void );
    bool zaloguj();
    int wybor();
    string podawaniePIN();
};

>> pobieranieDanych.cpp:
C/C++
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include "pobieranieDanych.h"
#include "logowanie.h"
#pragma hdrstop
using namespace std;

pobieranieDanych::pobieranieDanych( void )
{
}


pobieranieDanych::~pobieranieDanych( void )
{
}


string pobieranieDanych::imie( string pin )
{
    myfile.open( pin, ios::in );
    getline( myfile, imieNazwisko );
    getline( myfile, srodki );
    getline( myfile, nrKonta );
    myfile.close();
   
    cout << imieNazwisko << endl;
    return imieNazwisko;
}


string pobieranieDanych::nr()
{
    myfile.open( pin, ios::in );
    getline( myfile, imieNazwisko );
    getline( myfile, srodki );
    getline( myfile, nrKonta );
    myfile.close();
   
    cout << nrKonta << endl;
    return nrKonta;
   
}


string pobieranieDanych::kasa()
{
    myfile.open( pin, ios::in );
    getline( myfile, imieNazwisko );
    getline( myfile, srodki );
    getline( myfile, nrKonta );
    myfile.close();
   
    cout << srodki << endl;
    return srodki;
}


int pobieranieDanych::zamianaSrodkow1()
{
   
    istringstream iss( srodki ); //Zamiana stringa
    iss >> isrodki;
    return isrodki;
}

>> pobieranieDanych.h:
http://pastebin.com/cA1fdWu
P-73597
krzyk
» 2013-01-11 17:01:43
Tak się sprawdza czy dobrze otworzył się plik
fileCheck.good()
P-73600
DejaVu
» 2013-01-11 17:19:06
A jaki jest związek pomiędzy dziedziczeniem (zawartym w temacie), a Twoim pytaniem?
P-73602
matigra
Temat założony przez niniejszego użytkownika
» 2013-01-11 17:25:11
No bo myślałem ze to jest problem z dziedziczeniem. To mi przyszło do głowy. No bo czemu niby nie czyta tych linii z pliku...
P-73607
matigra
Temat założony przez niniejszego użytkownika
» 2013-01-12 14:29:24
No dobra to może inaczej jak z klasy logowanie pobrać zmienną pin do klasy pobieranieDanych. Myślałem ze to dobrze robię ale nie działa. Kiedy w main wywołam np. metodę imie z klasy pobieranieDanych no to nie czyta mi tego.
P-73679
« 1 »
  Strona 1 z 1