dorota08x utworzono 3 stycznia 2013 utworzono 3 stycznia 2013 mam takie zadanie: Napisz klasę TSamochod posiadającą następujące pola chronione: marka pB (pojemność baku) pM (prędkość maksymalna) zP (zuŜycie paliwa na 100 km) Posiada ona następujące funkcje publiczne: · konstruktor ustawiający wszystkie pola na podstawie swoich parametrów, · jedz(float jakSzybko, float jakDaleko) – wyświetla komunikat mówiący jak szybko samochód pojedzie (nie szybciej niŜ prędkość maksymalna), ile litrów paliwa zostanie zuŜytych na trasie, ile razy po drodze będzie musiał tankować i ile czasu zajmie podróŜ (kaŜde tankowanie zajmuje 10 minut). Na początku podróŜy bak samochodu jest pełny. Jeśli samochód jedzie za wolno (poniŜej 30% prędkości maksymalnej) lub za szybko (powyŜej 80% prędkości maksymalnej), to zuŜycie paliwa wzrasta o 20%. · w rozwiązaniu moŜna wykorzystać dodatkowe metody (np. dla wyznaczenia chwilowego zuŜycia paliwa). Następnie zdefiniuj klasę TKabriolet dziedziczącą po klasie TSamochod. Dodatkowo posiada ona pole logiczne dach_otwarty ustawiane w konstruktorze na false oraz funkcje: · otworz_dach, · zamknij_dach. W zmodyfikowanej funkcji jedz wyświetlamy informację o tym, czy dach kabrioletu jest otwarty. Dodatkowo naleŜy wziąć pod uwagę, Ŝe z otwartym dachem kabriolet pali o 15% więcej. wstępnie napisalam deklaracje obu klas i dalej nie wiem co poczać... pomożecie? class TSamochod { protected: float pB; float pM; float zP; public: TSamochod(double pb, int pm, double zp):pb(pB), pm(pM), zp(zP); void jedz(float jakSzybko, float jakDaleko); }; class TKabriolet:public TSamochod { TKabriolet(bool dach_otwarty); void otworz_dach(); void zamknij_dach(); }; TKabriolet::TKabriolet { dach_otwarty=false; } void TKabriolet::otworz_dach() { dach_otwarty = true; } void TKabriolet::zamknij_dach() { dach_otwarty = false; }
michael26 komentarz 3 stycznia 2013 komentarz 3 stycznia 2013 napisz zrozumialej bo tu pełno błędów...
dorota08x komentarz 3 stycznia 2013 Autor komentarz 3 stycznia 2013 class TSamochod { protected: float pB; float pM; float zP; public: TSamochod(double pb, int pm, double zp): pb(pB), pm(pM), zp(zP); void jedz(float jakSzybko, float jakDaleko); }; class TKabriolet:public TSamochod { TKabriolet(bool dach_otwarty); void otworz_dach(); void zamknij_dach(); }; TKabriolet::TKabriolet { dach_otwarty=false; } void TKabriolet::otworz_dach() { dach_otwarty = true; } void TKabriolet::zamknij_dach() { dach_otwarty = false; }
leggo komentarz 3 stycznia 2013 komentarz 3 stycznia 2013 Z czym konkretnie nie potrafisz sobie poradzić?
dorota08x komentarz 3 stycznia 2013 Autor komentarz 3 stycznia 2013 Napisz klasę TSamochod posiadającą następujące pola chronione: marka pB (pojemność baku) pM (prędkość maksymalna) zP (zużycie paliwa na 100 km) Posiada ona następujące funkcje publiczne: · konstruktor ustawiający wszystkie pola na podstawie swoich parametrów, · jedz(float jakSzybko, float jakDaleko) – wyświetla komunikat mówiący jak szybko samochód pojedzie (nie szybciej niż prędkość maksymalna), ile litrów paliwa zostanie zużytych na trasie, ile razy po drodze będzie musiał tankować i ile czasu zajmie podróż (każde tankowanie zajmuje 10 minut). Na początku podróży bak samochodu jest pełny. Jeśli samochód jedzie za wolno (poniŜej 30% prędkości maksymalnej) lub za szybko (powyżej 80% prędkości maksymalnej), to zużycie paliwa wzrasta o 20%. · w rozwiązaniu można wykorzystać dodatkowe metody (np. dla wyznaczenia chwilowego zużycia paliwa). Następnie zdefiniuj klasę TKabriolet dziedziczącą po klasie TSamochod. Dodatkowo posiada ona pole logiczne dach_otwarty ustawiane w konstruktorze na false oraz funkcje: · otworz_dach, · zamknij_dach. W zmodyfikowanej funkcji jedz wyświetlamy informację o tym, czy dach kabrioletu jest otwarty. Dodatkowo należy wziąć pod uwagę, że z otwartym dachem kabriolet pali o 15% więcej.przede wszystkim funkcja jedz(float jakSzybko, float jakDaleko)
leggo komentarz 3 stycznia 2013 komentarz 3 stycznia 2013 Funkcja jedz: 1. Sprawdzasz czy prędkość z jaką ma jechać samochód jest większa od prędkości maksymalnej. Jeśli tak przestawiasz prędkość jazdy na prędkość maksymalną. 2. Wstępnie obliczasz czas podróży dzieląc dystans do pokonania przez prędkość. 3. Na podstawia [b]zP[/b] obliczasz ile paliwa zostanie zużyte na podanej trasie. 4. Jeżeli prędkość samochodu jest jest mniejsza niż 30% lub większa niż 80% prędkości maksymalnej zwiększasz zużycie obliczone w punkcie 3. o 20%. 5. Mając obliczone faktyczne zużycie paliwa i znając pojemność baku liczysz ile razy samochód zatrzyma się na stacji (po prostu dzielisz potrzebną ilość paliwa przez pojemność baku. Przy każdym postoju na stacji zwiększasz czas podróży z punktu 2. o 10 min. W przypadku kabrioletu w punkcie 4. dochodzi jeszcze zwiększenie zużycia o 15% jeżeli dach jest otwarty. Jeśli w trakcie pisania tej funkcji napotkasz jeszcze jakieś problemy, pisz tutaj dodając kod jaki udało Ci się dotychczas napisać.
spartacus komentarz 8 stycznia 2013 komentarz 8 stycznia 2013 Używaj znacznika "kod" bo strasznie źle się czyta tak napisany fragment programu.
Wciąż szukasz rozwiązania problemu? Napisz teraz na forum!
Możesz zadać pytanie bez konieczności rejestracji - wystarczy, że wypełnisz formularz.