Zapisanie do pliku
Ostatnio zmodyfikowano 2015-01-11 19:32
FranekDolas Temat założony przez niniejszego użytkownika |
Zapisanie do pliku » 2015-01-11 16:31:25 Cześć. Mam prosty program w którym użytkownik podaj liczbe osób wprowadza ich dane i zapisuje do pliku ale gdy wybiore wprowadzenie 2 osób to do pliku zapisuje mi sie tylko ta ostatnia. Oto kod #include <iostream> #include <fstream> using namespace std;
int main() { int a; string imie, nazwisko, brutto; cout << "Podaj liczbe osob:" << endl; cin >> a; for( int i = 0; i < a; i++ ) { cout << "Podaj imie: " << endl; cin >> imie; cout << "Podaj nazwisko: " << endl; cin >> nazwisko; cout << "Podaj brutto: " << endl; cin >> brutto; cout << endl; ofstream NowyPlik; NowyPlik.open( "C:\\plik.txt" ); NowyPlik << "Imie: " << imie << endl; NowyPlik << "Nazwisko: " << nazwisko << endl; NowyPlik << "Brutto: " << brutto << endl; NowyPlik.close(); } }
|
|
stryku |
» 2015-01-11 16:39:27 ofstream NowyPlik; NowyPlik.open( "C:\\plik.txt" ); takie coś wywoływane z każdym obiegiem pętli nadpisuje plik o tej nazwie, więc na koniec programu będziesz miał zawsze tylko ostatnią osobę. Otwórz ten plik przed pętlą for |
|
FranekDolas Temat założony przez niniejszego użytkownika |
» 2015-01-11 19:17:54 Chodzi o coś takiego? Nawet jeśli to to zapisuje pierwszą wprowadzoną osobę a drugiej nie. #include <iostream> #include <fstream> using namespace std;
int main() { int a; string imie, nazwisko, brutto; cout << "Podaj liczbe osob:" << endl; cin >> a; ofstream NowyPlik; NowyPlik.open( "C:\\plik.txt" ); for( int i = 0; i < a; i++ ) { cout << "Podaj imie: " << endl; cin >> imie; cout << "Podaj nazwisko: " << endl; cin >> nazwisko; cout << "Podaj brutto: " << endl; cin >> brutto; cout << endl; NowyPlik << "Imie: " << imie << endl; NowyPlik << "Nazwisko: " << nazwisko << endl; NowyPlik << "Brutto: " << brutto << endl; NowyPlik.close(); }
|
|
stryku |
» 2015-01-11 19:25:52 no bo masz jeszcze NowyPlik.close() w pętli, więc co pętlę zamykasz plik i nie da rady już nic do niego wpisać. Przenieś to z kolei za pętlę. |
|
FranekDolas Temat założony przez niniejszego użytkownika |
» 2015-01-11 19:32:38 Dzięki już wszystko działa jak należy :) |
|
« 1 » |