Dziedziczenie klas
Ostatnio zmodyfikowano 2013-01-12 14:29
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: #include "logowanie.h" #include <iostream> #include <fstream> #include <string> using namespace std;
logowanie::logowanie( void ) { }
logowanie::~logowanie( void ) { }
bool logowanie::zaloguj() { bool done; ifstream fileCheck; int i = 2; fileCheck.open( pin ); 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: #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: #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 ); iss >> isrodki; return isrodki; } >> pobieranieDanych.h: http://pastebin.com/cA1fdWu |
|
krzyk |
» 2013-01-11 17:01:43 Tak się sprawdza czy dobrze otworzył się plik fileCheck.good() |
|
DejaVu |
» 2013-01-11 17:19:06 A jaki jest związek pomiędzy dziedziczeniem (zawartym w temacie), a Twoim pytaniem? |
|
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... |
|
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. |
|
« 1 » |