Średnie spalanie

Przykład i ćwiczenie do indywidualnej realizacji

Przykłady

Niżej dostępne są kody źródłowe programu wyznaczającego średnie zużycie paliwa na 100 km dla jakiegoś pojazdu. Wartość ta zostaje wyznaczona na podstawie przejechanego dystansu i ilości paliwa zużytego na tym dystansie. Dostępne są implementacje programiku (spakowany folder projektowy, zip):

Uwaga — powyższe przykłady zostały maksymalnie uproszczone. W efekcie są nieeleganckie, kod realizujący obliczenia jest wymieszany z kodem obsługi wizualizacji.

Ćwiczenie

Proszę pobrać kody projektów i wprowadzić następujące modyfikacje:

  1. Po wyliczeniu średniego spalania, program ma wyświetlić również koszt przejechania jednego kilometra.
  2. Użytkownik ma możliwość wybory rodzaju paliwa — benzyna, olej napędowy, gaz, wybór z wykorzystaniem komponentów „radio button”.
  3. Dla każdego rodzaju paliwa powinna być zdefiniowana indywidualna cena za litr, brana pod uwagę przy wyznaczaniu kosztu przejazdu jednego kilometra.
  4. Ceny za litr paliwa powinny być wczytywane na starcie programu z pliku tekstowego ceny.txt o formacie:

    ET 4.5
    ON 4.3
    LPG 2.5
    

  5. Program powinien umożliwiać edycję cen w osobnym oknie, zmodyfikowane ceny powinny zostać zapisane w pliku tekstowym ceny.txt.

Wersja 5-kowa

Proszę wprowadzić w programie obiekt realizujący obliczenia spalania i kosztów przejazdu jednego kilometra, przechowującego ceny paliw i obsługującego ich ustalanie/wczytywanie (np. klasa FuelConsumptionCalculator). Umożliwi to oddzielenie warstwy widoku (interfejs użytkownika) od warstwy „biznesowej”. Dla języka C++ proszę spróbować zdefiniować odpowiednią klasę tak, aby byłe przenośna pomiędzy środowiskiem VCL/Builder a Qt/QtCreator.

Oczywiście, stosując reguły SOLID (a szczególnie zasadę SRP) można dla treningu obowiązki klasy FuelConsumptionCalculator rozbić na mniejsze klasy (np. wyodrębnić klasę obsługi odczytu/zapisu do pliku).

Powyższa klasa powinna być zapisana w osobnym module projektu.

Rezultat

Zrealizowane projekty proszę zachować, będą brane pod uwagę przy negocjowaniu oceny zaliczeniowej.