Udaljenost objekata
unknown
plain_text
4 years ago
3.2 kB
14
Indexable
#include<iostream> using namespace std; struct udaljenost { int _km; int _m; int _cm; void setKm(int); //funkcija članica - modifikacija obiljezja _km void setM(int); //funkcija članica - modifikacija obiljezja _m void setCm(int); //funkcija članica - modifikacija obiljezja _cm int getKm(); //funkcija članica - za pristup obiljezju _km int getM(); //funkcija članica - za pristup obiljezju _m int getCm(); //funkcija članica - za pristup obiljezju _cm void infoUdaljenost(); //funkcija članica za ispis svih obiljezja objekta tipa strukture float konverzijaKm(int, int, int); //funkcija članica od proslijedjenih parametara (km, m, cm) radi konverziju u kilometre float konverzijaKm(udaljenost); //funkcija članica od proslijedjenog parametara (udaljenost) radi konverziju u kilometre //funkcija članica racuna udaljenost izmedju objekta //za koji se funkcija članica poziva i proslijedjenog parametra - vraca objekt tipa udaljenost udaljenost izracunUdaljenosti(udaljenost); }; void udaljenost::setKm(int prosljedjeniKm) { _km = prosljedjeniKm; } void udaljenost::setM(int prosljedjeniM) { _m = prosljedjeniM; } void udaljenost::setCm(int prosljedjeniCm) { _cm = prosljedjeniCm; } int udaljenost::getKm() { return _km; } int udaljenost::getM() { return _m; } int udaljenost::getCm() { return _cm; } void udaljenost::infoUdaljenost() { cout << _km << " km " << _m << " m " << _cm << " cm "; } float udaljenost::konverzijaKm(int kilometri, int metri, int centimetri) { int pMetri = metri, pKilometri = kilometri, pCentimetri = centimetri; while (pCentimetri > 100) { pMetri+= 1; pCentimetri -= 100; } while (pMetri > 1000) { pKilometri += 1; pMetri -= 1000; } float konverzija = pKilometri + ((pMetri +0.00) / 1000) + ((pCentimetri +0.0000) / 100000); return konverzija; } float konverzijaKm(udaljenost* U) { return U->konverzijaKm(U->getKm(), U->getM(), U->getCm()); } udaljenost udaljenost::izracunUdaljenosti(udaljenost U2) { cout << "\n\nobjekat 1 u funkciji " << konverzijaKm(getKm(), getM(), getCm()); cout << "\nobjekat 2 u funkciji " << U2.konverzijaKm(U2.getKm(), U2.getM(), U2.getCm()) << endl; udaljenost U3; // dodjela kilometara prvog objekta var a, a drugog var b float a = konverzijaKm(getKm(), getM(), getCm()), b = U2.konverzijaKm(U2.getKm(), U2.getM(), U2.getCm()); // provjera koji je veci, ako su jednaki vratit ce 0 km stoga nije potrebno navoditi uslov if (a > b) U3.setKm(a - b); else U3.setKm(b - a); return U3; } int main() { //demonstrirati rad svih metoda i za objekte i za pokazivace na objekte tipa udaljenost // inicijalizacija objekta U1 udaljenost U1; U1.setKm(3); U1.setM(5); U1.setCm(500); // inicijalizacija objekta U2 udaljenost U2; U2.setKm(7); U2.setM(1500); U2.setCm(99); cout << "km U1 = " << U1.konverzijaKm(U1.getKm(), U1.getM(), U1.getCm()); cout << "\nkm U2 = " << konverzijaKm(&U2); cout << "\nUdaljenost dvaju objekata je " << (U1.izracunUdaljenosti(U2)).getKm() << " Kilometara" ; system("pause>0"); return 0; }
Editor is loading...