Witam.
Mam pewien problem z moim kodem. Chodzi tu o wczytywanie wartości z pliku. Program ma w zamyśle służyć do obsługi banku. Jest to mój projekt na studia. I mam problem ponieważ fstream dobrze wyciąga dane z pliku. Sprawdzałem w każdym case cout-em. Wyświetla poprawnie Lecz kiedy ma to zapisać do wektora nic się nie dzieje niestety. Nie zapisuje do wektora ponieważ późniejsze odczytanie nic nie daje.
#include <iostream>
#include <vector>
#include <string>
#include <fstream>
#include <cstdlib>
using namespace std;
struct konto{
string name;
string number;
float balance;
};
int main(){
fstream plik;
vector <konto> konta;
string nr, n;
float b=0;
int licznik=1;
plik.open("konta.txt", ios::in | ios::out | ios::app);
string linia;
while (getline(plik, linia)){
switch(licznik){
case 1: {n=linia; break;}
case 2: {nr=linia; break;}
case 3: {b=atof(linia.c_str()); konta.push_back (konto {n, nr, b} ); break;}
}
}
/*cin >> nr;
cin.ignore();
if (nr.length()==2){
cout << "Podaj nazwe konta:" << endl;
getline (cin, n, '\n');
cout << "Ile chcesz wplacic pieniedzy?" << endl;
cin >> b;
konta.push_back (konto {n, nr, b} );*/
for( int i = 0; i < konta.size(); i++ )
{
cout << endl;
cout << "Nazwa konta: " << konta[ i ].name << endl;
cout << "Numer konta: " << konta[ i ].number << endl;
cout << "Balans konta: " << konta[ i ].balance << endl;
}
//cout << "Twoje konto zostalo utworzone!";
//plik << n << endl;
//plik << nr << endl;
//plik << b << endl << endl;
plik.close();
}
//else{
//cout << "Bledny numer konta.";
//}