May 1, 2025, Thursday, 120

C/Zad6 2016

From MJanik

Revision as of 14:16, 20 April 2016 by Majanik (Talk | contribs)
Jump to: navigation, search

Na laboratoriach pojawią się struktury. Powtórzymy również funkcje, tablice oraz dynamiczną alokację pamięci.



Napisać program generujący raport statystyczny dla transportu książek z biblioteki. Raport powinien zawierać sumaryczną liczbę książek, średnią grubość książki, sumaryczną objętość oraz masę. Książki powinny być reprezentowane w programie jako obiekty struktury. Dane nt. transportu wczytać z pliku do tablicy (zapytaj użytkownika o nazwę pliku), a następnie przy użyciu tablicy obliczyć statystyki. Spis transportu dostarczony jest w niniejszym zestawieniu ksiazki.txt. Pierwsza linijka zawiera liczbę przewożonych książek. Każda następna opisuje kolejną książkę czterema liczbami, oznaczającymi (w kolejności): masę, grubość, wysokość, szerokość.

  • Definicja struktury Ksiazka.
  • Funkcja wczytująca dane do tablicy (i zwracająca tą tablicę): struct Ksiazka *wczytaj_dane (FILE *we, int rozmiar).
    • Funkcja powinna zawierać utworzenie tablicy o odpowiednim rozmiarze (dynamiczna alokacja pamięci), wczytanie danych do tablicy - dane ze strumienia we, oraz zwrócenie przez funkcje utworzonej tablicy. Wczytanie liczby książek powinno się odbywać w funkcji main() i liczba ta powinna być przekazywana przez argument funkcji.
  • Instrukcje funkcji main() pytające o nazwę pliku, otwierające plik i sprawdzające jego poprawność oraz prawidłowo wywołujące powyższą funkcję.
  • Funkcja wypisująca szukane statystyki na ekran void wypisz_na_ekran(struct Ksiazka* ksiazki, int rozmiar)
  • Funkcja zapisująca szukane statystyki do pliku void zapisz_do_pliku(FILE *we, struct Ksiazka * ksiazki, int rozmiar)
  • Odpowiednie użycie wszystkich funkcji oraz prawidłowe zamknięcie piku.