Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam
mam do zrobienia kalkulator liczb zespolonych w c++:
Zaprogramuj w C++ kalkulator Liczb Zespolonych. Program ma obejmować następujące klasy:
- klasa LiczbaZespolona jest klasą reprezentującą liczbę zespoloną w postaci algebraicznej, klasa posiada zatem dwa argumenty: LRzeczywista i LUrojona oraz funkcje: Ustaw, Wyzeruj i Pokaz,
- klasa Kalkulator jest kompozycją dwóch atrybutów klasy LiczbaZespolona
i posiada funkcje: Dodaj, Odejmij, Pomnoz, Podziel i Pokaz.
przedmiot te rozpocząłem tydzień temu jako totalny nowicjusz. i do niedzieli mam zrobić właśnie ten kalkulator. skrypt jest całkowicie nie zrozumiały wszelkie podręczniki wprowadzają klasy, konstruktory itp. stopniowo po zapoznaniu ze składnią. a tu na dzień dobry to i ma to działać.
czy mógłby mnie ktoś pokierować jak to zrobić od czego zacząć.
posiłkowałem gręboszem i thinking in c++ żeby cokolwiek zrozumieć.
więc rozumię że celem klasy jest mozliwośc utworzenie obiektu jak np int a który ma jakiś właściwiści.
i robi się to
class jakaśklasa { };
skoroliczy zespolone w postaci algebraicznej LRzeczywista i LUrojona to muszę określić dwie zmienne float
LRzeczywista, LUrojona; teraz trzeba określić te funkcje Ustaw (czyli ja rozumię że trzeba za pomocą cin dwie liczby zespolone), Wyzeruj i Pokaz , ale jak zrobić juz dalej to niemam pojęcia.jeszcze coś o konstruktorach mają być w klasie. Czytam i czytam i coraz bardziej jestem zamotany.
bez klas to sobie proadzię ale z klasami ani rusz. proszę o pomoc
Offline
nie bylem guru ani z c++ ani z zespolonych ale
klasa liczbazespolona moze wygladac tak:
class LiczbaZespolona { private: float LR; float LU; public: //<-*** void Ustaw(float tLR, float tLU){ LR = tLR; LU = tLU; } void Wyzeruj(){ LR = 0; LU = 0; } void Pokaz(){ cout << "czesc rzeczywista: " << LR << endl; cout << "czesc zespolona: " << LU << endl; } }
tam gdzie sa *** mozna wcisnac konstruktor, polega to na tym, ze jezeli tworzysz obiekt klasy LiczbaZespolona to masz niezainicjowane pola, jesli utworzysz konstruktor np
LiczbaZespolona (float tLR = 0.0, float tLU = 0.0){ LR = tLR; LU = tLU; }
to teraz tworzac obiekt klasy LiczbaZespolona mozesz posluzyc sie konstrukcja
LiczbaZespolona(3.2, 3.3)
obiekt bedize zainicjowany zmiennymi z nawiasu, mozesz to sprawdzic wywolujac metode Pokaz(), "= 0.0" jest po to, ze jesli wywolasz kosntruktor bez parametrow, to zmienne przyjma wartosc 0.0, czyli najprosciej mowiac, dzieki temu nadal mozesz tworzyc "puste" obiekty Reszte musisz sprawdzic sam, pisalem z glowy wiec gdzies moze czegos brakowac.
Jesli chodzi o druga klase, to musisz poczytac o przeciazaniu operatorow, typ danych ktorymi bedziesz sie teraz poslugiwal to wlasnie stworzona LiczbaZespolona
edit
pare tematow nizej masz przyklad przeciazania operatorow http://www.dug.net.pl/forum/viewtopic.php?t=5917
Offline
wielkie dzięki popróbuję :-)
Offline
heheh w poprzednim semestrze miałem też kalkulator liczb zespolonych w obiektowym ... mam gdzieś na dysku w jak byś był zainteresowany daj znać na prv to podeśle
Offline