Jak wyswietlać to naprzemiennie?

0

chcialbym umiescic te 2 wyswietlenia w jednym tylko tak zeby raz wyswietlaly sie dane pojazdy i raz wlasciciela az do konca pliku.

void baza::wyswietl() {
	 baza p;
	 	int wybor;
	 	ifstream plik("wlasciciel.dat", ios::binary);
	 	for (int i = 1;; i++) {
		 		plik.read(reinterpret_cast<char*>(&p), sizeof(p));
				
		 		if (plik.eof()) break;
				cout << i << ". " << endl << "Nazwisko: " << p.nazwisko << endl;
				cout << "Imie: " << p.imie << endl;
				cout << "Data urodzenia: " << p.dzien << "-" << p.mies << "-" << p.rok << endl;
				
		
	}
	 	plik.close();	
	}
void baza::wyswietl2() {
	baza p;
	int wybor;
	ifstream plik("pojazdy.dat", ios::binary);
	for (int i = 1;; i++) {
		plik.read(reinterpret_cast<char*>(&p), sizeof(p));

		if (plik.eof()) break;
		cout << i << ". " << endl << "marka: " << p.marka << endl;
		cout << "model: " << p.model << endl;
		cout << "rejestracyjny: " << p.rejestracja << endl;


	}
	plik.close();
}
2

chcialbym umiescic te 2 wyswietlenia w jednym tylko tak zeby raz wyswietlaly sie dane pojazdy i raz wlasciciela az do konca pliku.

A dokładniej? Chesz wrzucić ten kod spaghetti do jeszcze wiekszej metody spaghetti, z możliwością wyboru jednej z tych metod? Czy może ma mają być te metody wywoływane naprzemiennie? Opis jest niejasny.

Jedno co można poradzić, to uporzadkuj kod. Podziel go na jakieś sensowne fragmenty, bo gubisz się we własnym bałaganie.

Jak już wspomniałem w https://4programmers.net/Forum/Newbie/301450-jak_odczytac_dane_z_pliku_binarnego?p=1430883#id1430883 to odczytanie całego obiektu z pliku binarnego, zawierającego stringi spowoduje niezdefiniowane zachowanie programu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1