Strona 1 z 1

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

: 19 gru 2015, o 22:36
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");
}

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

: 19 gru 2015, o 23:31
autor: mortan517
Zapisujesz dane pierwszej osoby, następnie ponownie otwierasz plik (czyszcząc dane) i zapisujesz dane drugiej osoby.

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

: 20 gru 2015, o 00:37
autor: athame
Zamiast open użyj append (std::fstream::app).