Prosiłabym o podpowiedź, jak rozwiązać takie zadanie:
napisz program, który pobierze współrzędne x,y dwóch punktów, obliczy dlugość odcinka (wykorzystując klasę w programowaniu obiektowym), a następnie -w programie głównym- policzy pole kwadratu o boku równym długości tego odcinka.
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
-
- Użytkownik
- Posty: 5974
- Rejestracja: 28 lut 2010, o 19:45
- Płeć: Mężczyzna
- Lokalizacja: Toruń
- Podziękował: 15 razy
- Pomógł: 1251 razy
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
Masz klasę:
Potem tworzysz klasę
I program wygląda mniej więcej tak:
Kod: Zaznacz cały
class Punkt
{
double x,y;
unsigned double distance(Punkt A); // odleglosc od punktu aktualnego do A
}
Kod: Zaznacz cały
class Kwadrat
{
unsigned double length; //dlugosc boku
unsigned double Area(); // pole
}
Kod: Zaznacz cały
int main()
{
scanf(Punkt A, Punkt B);
double b = A.distance(B);
Kwadrat K = Kwadrat(b);
printf(K.Area());
}
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
Dziękuję za pomoc, tylko że my takich rzeczy nie używaliśmy jeszcze... Nie da się tego jakoś zrobić bez używania np 'distance', 'scanf', 'printf'?
-
- Użytkownik
- Posty: 5974
- Rejestracja: 28 lut 2010, o 19:45
- Płeć: Mężczyzna
- Lokalizacja: Toruń
- Podziękował: 15 razy
- Pomógł: 1251 razy
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
distance - podałem tylko szkielet, musisz sama napisać metodę, tak samo w klasie kwadrat
Odnośnie printf i scanf, to zamiast tego można używać strumieni: odpowiednio cout i cin
Odnośnie printf i scanf, to zamiast tego można używać strumieni: odpowiednio cout i cin
- Althorion
- Użytkownik
- Posty: 4541
- Rejestracja: 5 kwie 2009, o 18:54
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 9 razy
- Pomógł: 662 razy
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
O ile dobrze zrozumiałem, to odcinek ma być klasą, cała reszta liczona na żywca, jakoś tak:
Klasa Odcinek:
cztery prywatne zmienne liczbowe typu zmiennoprzecinkowego, przechowujące współrzędne początku i końca (można opakować parami w strukturę jeśli chcesz);
publiczna metoda ustawiająca początek, druga dla końca;
publiczna metoda odczytująca początek, druga dla końca;
publiczna metoda licząca długość odcinka;
konstruktor itp. zabawy
Sam program pobiera od użytkownika wymagane dane, tworzy odcinek, zwraca kwadrat długości odcinka (uzyskaną przez wywołanie odp. metody).
Klasa Odcinek:
cztery prywatne zmienne liczbowe typu zmiennoprzecinkowego, przechowujące współrzędne początku i końca (można opakować parami w strukturę jeśli chcesz);
publiczna metoda ustawiająca początek, druga dla końca;
publiczna metoda odczytująca początek, druga dla końca;
publiczna metoda licząca długość odcinka;
konstruktor itp. zabawy
Sam program pobiera od użytkownika wymagane dane, tworzy odcinek, zwraca kwadrat długości odcinka (uzyskaną przez wywołanie odp. metody).
-
- Użytkownik
- Posty: 578
- Rejestracja: 2 paź 2007, o 19:48
- Płeć: Mężczyzna
- Lokalizacja: ww
- Podziękował: 59 razy
- Pomógł: 35 razy
[C++] programowanie obiektowe, punkty-odcinek-kwadrat
Nawet powinno używać się 'cin' i 'cout' skoro już w C++ to ma być.
Oczywiście trzeba pamiętać o kontruktorach i destruktorze.
Funkcje składowe można nawet jako inline napisać.
Ja bym zrobił klasę odcinek i klasę kwadrat (która może zawierać ten odcinek - w ogólniejszym przypadku klasa prostokąt i posiada dwa odcinki).
Oczywiście trzeba pamiętać o kontruktorach i destruktorze.
Funkcje składowe można nawet jako inline napisać.
Ja bym zrobił klasę odcinek i klasę kwadrat (która może zawierać ten odcinek - w ogólniejszym przypadku klasa prostokąt i posiada dwa odcinki).