[C++] Ofstream wielokrotnie zapisujący do pliku

Awatar użytkownika
Hendra
Użytkownik
Użytkownik
Posty: 176
Rejestracja: 18 sty 2015, o 23:42
Płeć: Mężczyzna
Lokalizacja: Wrocław
Podziękował: 37 razy
Pomógł: 3 razy

[C++] Ofstream wielokrotnie zapisujący do pliku

Post autor: Hendra »

Witajcie
Mam do napisania program z użyciem klas, który następnie ma wypisać dane odebrane przez użytkownika do pliku. Niestety mój kod zapisuje tylko dane drugiej osoby, która zostaje wpisywana do konsoli.
Bardzo prosiłbym o wskazówkę co zmienić w kodzie aby wszystkie dane wpisane przez użytkownika pojawiły się w pliku tekstowym
Oto kod:

Kod: Zaznacz cały

#include <iostream>
#include <string.h>
#include <fstream>
using namespace std;

class DaneOsobowe
{
	public:
		int wiek;
		string imie;
		string nazwisko;
		string opis;
	
	void wprowadzanie()
		{
			cout<<"Podaj imie: "<<endl;
			cin>>imie;
			cout<<"Podaj nazwisko: "<<endl;
			cin>>nazwisko;
			cout<<"Podaj wiek osoby: "<<endl;
			cin>>wiek;
			cout<<endl;
		}
	void wypisanie()
		{
			cout<<"Imie: "<<imie<<endl;
			cout<<"Nazwisko: "<<nazwisko<<endl;
			cout<<imie<<" "<<nazwisko<<" ma "<<wiek<<" lat"<<endl;
			cout<<endl;
		}
	void zapisanie()
		{
			ofstream pliczek;
			pliczek.open("daneosobowe.txt");
			pliczek<<"Imie: "<<imie<<endl;
			pliczek<<"Nazwisko: "<<nazwisko<<endl;
			pliczek<<imie<<" "<<nazwisko<<" ma "<<wiek<<" lat"<<endl;
			pliczek<<endl;
		}
};
int main()
{
	DaneOsobowe osoba1, osoba2;
	osoba1.wprowadzanie();
	osoba1.zapisanie();
	osoba2.wprowadzanie();
	osoba2.zapisanie();
	system ("CLS");
	osoba1.wypisanie();
	osoba2.wypisanie();
	system ("pause");
}
Ostatnio zmieniony 20 gru 2015, o 10:39 przez Afish, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
Awatar użytkownika
mortan517
Użytkownik
Użytkownik
Posty: 3359
Rejestracja: 6 lis 2011, o 15:38
Płeć: Mężczyzna
Lokalizacja: Krk
Podziękował: 112 razy
Pomógł: 662 razy

[C++] Ofstream wielokrotnie zapisujący do pliku

Post autor: mortan517 »

Zapisujesz dane pierwszej osoby, następnie ponownie otwierasz plik (czyszcząc dane) i zapisujesz dane drugiej osoby.
athame
Użytkownik
Użytkownik
Posty: 576
Rejestracja: 2 lut 2012, o 21:42
Płeć: Mężczyzna
Lokalizacja: Radom
Podziękował: 1 raz
Pomógł: 64 razy

[C++] Ofstream wielokrotnie zapisujący do pliku

Post autor: athame »

Zamiast open użyj append (std::fstream::app).
ODPOWIEDZ