Udaljenost objekata
unknown
plain_text
4 years ago
3.2 kB
17
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...