From MJanik
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.