Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int wczytaj(samochod_ptr *glowa)
- {
- FILE *in;
- if (fopen_s(&in, NAZWA_PLIKU, "rb"))
- {
- printf("Nie można otworzyć pliku!\n");
- return 0;
- }
- int liczba_samochodow = 0;
- while (!feof(in))
- {
- char koniec;
- int liczba_wla;
- samochod tmp_sam;
- fread_s(tmp_sam.marka, MARKA_DL, MARKA_DL, 1, in);
- fread_s(&tmp_sam.rok_produkcji, sizeof(tmp_sam.rok_produkcji), sizeof(tmp_sam.rok_produkcji), 1, in);
- if (!fread_s(tmp_sam.numer_rej, NUM_REJ_DL, NUM_REJ_DL, 1, in))
- {
- fclose(in);
- return liczba_samochodow;
- }
- samochod_ptr nowy_sam = dodaj_nowy_samochod(glowa, tmp_sam.marka, tmp_sam.rok_produkcji, tmp_sam.numer_rej);
- liczba_samochodow++;
- fread_s(&liczba_wla, sizeof(liczba_wla), sizeof(liczba_wla), 1, in);
- for (int i = 0; i < liczba_wla; i++)
- {
- wlasciciel nowy_wla;
- fread_s(nowy_wla.imie, IMIE_DL, IMIE_DL, 1, in);
- fread_s(nowy_wla.nazwisko, NAZW_DL, NAZW_DL, 1, in);
- fread_s(nowy_wla.data_kupna, DATA_DL, DATA_DL, 1, in);
- fread_s(nowy_wla.data_sprzedazy, DATA_DL, DATA_DL, 1, in);
- dodaj_wlasciciela(&nowy_sam->wlasciciele, nowy_wla.imie, nowy_wla.nazwisko, nowy_wla.data_sprzedazy, nowy_wla.data_kupna);
- }
- fread_s(&koniec, sizeof(koniec), sizeof(koniec), 1, in);
- }
- fclose(in);
- return 1;
- }
- void zapisz(samochod_ptr glowa)
- {
- FILE *out;
- int err = fopen_s(&out, NAZWA_PLIKU, "wb");
- if (err)
- {
- printf("Nie można otworzyć pliku do zapisu! Kod %d\n", err);
- return;
- }
- samochod_ptr sam = glowa;
- while (sam)
- {
- fwrite(sam->marka, MARKA_DL, 1, out);
- fwrite(&(sam->rok_produkcji), sizeof(sam->rok_produkcji), 1, out);
- fwrite(sam->numer_rej, NUM_REJ_DL, 1, out);
- int liczba_wla = zlicz_wlascicieli(sam->wlasciciele);
- fwrite(&liczba_wla, sizeof(liczba_wla), 1, out);
- wlasciciel_ptr wla = sam->wlasciciele;
- while (wla)
- {
- fwrite(wla->imie, IMIE_DL, 1, out);
- fwrite(wla->nazwisko, NAZW_DL, 1, out);
- fwrite(wla->data_kupna, DATA_DL, 1, out);
- fwrite(wla->data_sprzedazy, DATA_DL, 1, out);
- wla = wla->nastepny;
- }
- fwrite("\n", 1, 1, out);
- sam = sam->nastepny;
- }
- fclose(out);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement