From MJanik
(Difference between revisions)
|
|
Line 2: |
Line 2: |
| | | |
| <hr> | | <hr> |
- | <!--
| + | |
| Napisać program generujący raport statystyczny dla transportu książek z biblioteki, z możliwością wypiania raportu na ekran bądź zapisania go bezpośrednio do pliku. | | Napisać program generujący raport statystyczny dla transportu książek z biblioteki, z możliwością wypiania raportu na ekran bądź zapisania go bezpośrednio do pliku. |
| <b>Raport powinien zawierać</b> | | <b>Raport powinien zawierać</b> |
Line 20: |
Line 20: |
| * Funkcja zapisująca szukane statystyki do pliku <b> void zapisz_do_pliku(char* nazwa_pliku, struct Ksiazka * ksiazki, int rozmiar) </b> | | * Funkcja zapisująca szukane statystyki do pliku <b> void zapisz_do_pliku(char* nazwa_pliku, struct Ksiazka * ksiazki, int rozmiar) </b> |
| * Odpowiednie użycie wszystkich funkcji. | | * Odpowiednie użycie wszystkich funkcji. |
- | -->
| |
Latest revision as of 11:54, 24 April 2018
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, z możliwością wypiania raportu na ekran bądź zapisania go bezpośrednio do pliku.
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 wymiary.txt. Liczbę przewożonych książek należy obliczyć wczytując plik, iterując po wszystkich rekordach, a następnie należy go zamknąć i otworzyć ponownie. Każdy wiersz opisuje kolejną książkę czterema liczbami, oznaczającymi (w kolejności): masę, grubość, wysokość, szerokość. Kod programu powinien zostać odpowiednio podzielony na funkcje.
Sugerowana kolejność wykonywania działań:
- Definicja struktury Ksiazka.
- Funkcja wczytująca dane do tablicy (i zwracająca tą tablicę oraz rozmiar tej tablicy - przez wkaźnik! ):
struct Ksiazka *wczytaj_dane (char *nazwa_pliku, int* rozmiar).
- Funkcja powinna zawierać określenie dlugości tablicy na podstawie podanego pliku, utworzenie tablicy o odpowiednim rozmiarze (dynamiczna alokacja pamięci), wczytanie danych do tablicy - dane z pliku nazwa_pliku, oraz zwrócenie przez funkcje utworzonej tablicy.
- Instrukcje funkcji main() pytające o nazwę pliku 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(char* nazwa_pliku, struct Ksiazka * ksiazki, int rozmiar)
- Odpowiednie użycie wszystkich funkcji.