Advertisement
Guest User

Untitled

a guest
Jun 19th, 2018
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.08 KB | None | 0 0
  1. int wczytaj(samochod_ptr *glowa)
  2. {
  3. FILE *in;
  4. if (fopen_s(&in, NAZWA_PLIKU, "rb"))
  5. {
  6. printf("Nie można otworzyć pliku!\n");
  7. return 0;
  8. }
  9. int liczba_samochodow = 0;
  10. while (!feof(in))
  11. {
  12. char koniec;
  13. int liczba_wla;
  14. samochod tmp_sam;
  15. fread_s(tmp_sam.marka, MARKA_DL, MARKA_DL, 1, in);
  16. fread_s(&tmp_sam.rok_produkcji, sizeof(tmp_sam.rok_produkcji), sizeof(tmp_sam.rok_produkcji), 1, in);
  17. if (!fread_s(tmp_sam.numer_rej, NUM_REJ_DL, NUM_REJ_DL, 1, in))
  18. {
  19. fclose(in);
  20. return liczba_samochodow;
  21. }
  22. samochod_ptr nowy_sam = dodaj_nowy_samochod(glowa, tmp_sam.marka, tmp_sam.rok_produkcji, tmp_sam.numer_rej);
  23. liczba_samochodow++;
  24. fread_s(&liczba_wla, sizeof(liczba_wla), sizeof(liczba_wla), 1, in);
  25. for (int i = 0; i < liczba_wla; i++)
  26. {
  27. wlasciciel nowy_wla;
  28. fread_s(nowy_wla.imie, IMIE_DL, IMIE_DL, 1, in);
  29. fread_s(nowy_wla.nazwisko, NAZW_DL, NAZW_DL, 1, in);
  30. fread_s(nowy_wla.data_kupna, DATA_DL, DATA_DL, 1, in);
  31. fread_s(nowy_wla.data_sprzedazy, DATA_DL, DATA_DL, 1, in);
  32. dodaj_wlasciciela(&nowy_sam->wlasciciele, nowy_wla.imie, nowy_wla.nazwisko, nowy_wla.data_sprzedazy, nowy_wla.data_kupna);
  33. }
  34. fread_s(&koniec, sizeof(koniec), sizeof(koniec), 1, in);
  35. }
  36. fclose(in);
  37. return 1;
  38. }
  39.  
  40. void zapisz(samochod_ptr glowa)
  41. {
  42. FILE *out;
  43. int err = fopen_s(&out, NAZWA_PLIKU, "wb");
  44. if (err)
  45. {
  46. printf("Nie można otworzyć pliku do zapisu! Kod %d\n", err);
  47. return;
  48. }
  49. samochod_ptr sam = glowa;
  50. while (sam)
  51. {
  52. fwrite(sam->marka, MARKA_DL, 1, out);
  53. fwrite(&(sam->rok_produkcji), sizeof(sam->rok_produkcji), 1, out);
  54. fwrite(sam->numer_rej, NUM_REJ_DL, 1, out);
  55. int liczba_wla = zlicz_wlascicieli(sam->wlasciciele);
  56. fwrite(&liczba_wla, sizeof(liczba_wla), 1, out);
  57. wlasciciel_ptr wla = sam->wlasciciele;
  58. while (wla)
  59. {
  60. fwrite(wla->imie, IMIE_DL, 1, out);
  61. fwrite(wla->nazwisko, NAZW_DL, 1, out);
  62. fwrite(wla->data_kupna, DATA_DL, 1, out);
  63. fwrite(wla->data_sprzedazy, DATA_DL, 1, out);
  64. wla = wla->nastepny;
  65. }
  66. fwrite("\n", 1, 1, out);
  67. sam = sam->nastepny;
  68. }
  69. fclose(out);
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement