- +/- sve poruke
- ravni prikaz
- starije poruke gore
Prije nego nešto napišete, razmislite šta hoćete napisati. Ovako ja neznam ni u kojem programskom jeziku to treba napisati.
Zašto si nam toliko pomogao?
u C-u -.-
u C-u -.-
U C-u objektno orjentisano programiranje?, zvuči zanimljivo.
neznaš? ne jebi nego odi ća!
radi se o c++ programiranju u visual studiu i program treba riješiti pomoćo klasa
Pa pocni onda, mi cemo se ubaciti kada zapnes.
Sorry ali "Napisi klasu...." nije pitanje, nego zadatak, a mi ovdje ne rijesavamo zadatke nego dajemo odgovore na pitanja.
Sve si napisao osim kakva ti pomoć treba? Ili pod "pomoć" misliš na gotovo rješenje?
Ovdje se ne rješavaju domaće zadaće. Pokaži trud i zanimanje da sam sebi pomogneš pa ćeš naići i na pomoć drugih.
Edit: pretekli me s objašnjenjem :)
#include <iostream>
#include <string>
using namespace std;
class bazalni{
public:char ime;
char prezime;
float visina;
double tezina;
int godina;
double BM(){
return 10*tezina+6.25*visina-5*godina;
}
};
void main(){
bazalni os1;
cout<<"Unesite svoje ime: ";
cin>>os1.ime;
cout<<"Unesite svoje prezime: ";
cin>>os1.prezime;
cout<<"Unesite svoju tezinu u kilogramima: ";
cin>>os1.tezina;
cout<<"Unesite svoju visinu u centimetrima: ";
cin>>os1.visina;
cout<<"Unesite koliko imate godina: ";
cin>>os1.godina;
cout<<"Bazalni metabolizam osobe "<<os1.ime()<<" "<<os1.prezime()<<" rodenog "<<os1.godina()<<". godine, visine "<<os1.visina<<", tezine "<<os1.tezina<<" iznosi: "<<os1.BM<<".";
}
sada javlja errore
i ne nisan ni misli da mi zadacu rješavate samo da me ispravite (inace rekla je profa da je caka negdi u stringovima)
#include <iostream>
#include <string>
using namespace std;
class bazalni{
public:char ime;
....
void main(){
bazalni os1;
cout<<"Unesite svoje ime: ";
cin>>os1.ime;
sada javlja errore
i ne nisan ni misli da mi zadacu rješavate samo da me ispravite (inace rekla je profa da je caka negdi u stringovima)
Pa gledaj sta radis, ti cijeli string pokusavas strpati u mjesto predvideno za jedan jedini znak. Treba ti nesto tipa:
char ime[32]
tako ces npr imati 32 znaka rezervirano za string koji drzi ime, ucini to i za ostale stringove.
P.S.
i nije void main, nego int main
pa da znakovni niz mi treba:/
HVALA nikada se ne bi toga sam siti hahaha ljubim te
Nije ti ovo baš dobar primjer OO programiranja. Ovaj direktan pristup podatkovnim članovima klase neće baš izazvati oduševljenje kod tvoje nastavnice. Podatkovne članove klase označi kao privatne, a istima dodijeli vrijednosti preko konstruktora. Na taj način instanciranjem objekta dobiješ vrijednost objekta kojeg više ne možeš mijenjati, nego samo tu vrijednost dohvatiti sa postojećim getterom. I ne koristi char varijable uopće, ovdje koristi isključivo string.
Na ovo sam mislio kad sam rekao da moraš uvažavati temeljne principe OOP, privatni članovi klase moraju biti zaštićeni od direktnih izmjena, a pomoću konstruktora vršiš njihovu inicijalizaciju, zatim ih dohvaćaš jedino preko gettera.
#include <iostream>
#include <string>
using namespace std;
class Bazalni{
public:
Bazalni(string ime, string prezime, double visina, double tezina, int godina)
{
this->ime = ime;
this->prezime = prezime;
this->visina = visina;
this->tezina = tezina;
this->godina = godina;
}
double GetBM();
string GetImePrezime();
int GetGodina();
double GetTezina();
double GetVisina();
private:
string ime;
string prezime;
double visina;
double tezina;
int godina;
};
double Bazalni::GetBM()
{
return 10*this->tezina+6.25*this->visina-5*this->godina;
}
string Bazalni::GetImePrezime()
{
return this->ime + " " + this->prezime;
}
int Bazalni::GetGodina()
{
return this->godina;
}
double Bazalni::GetTezina()
{
return this->tezina;
}
double Bazalni::GetVisina()
{
return this->visina;
}
int main(){
int godina;
string ime, prezime;
double visina, tezina;
cout<<"Unesite svoje ime: ";
cin>> ime;
cout<<"Unesite svoje prezime: ";
cin>> prezime;
cout<<"Unesite svoju tezinu u kilogramima: ";
cin>> tezina;
cout<<"Unesite svoju visinu u centimetrima: ";
cin>> visina;
cout<<"Unesite koliko imate godina: ";
cin>> godina;
Bazalni *os1 = new Bazalni(ime, prezime, visina, tezina, godina);
cout<<"Bazalni metabolizam osobe "<< os1->GetImePrezime() <<" " <<" rodenog "<< os1->GetGodina() <<". godine, visine "
<< os1->GetVisina()<<", tezine "<< os1->GetTezina()<<" iznosi: "<< os1->GetBM() <<".";
delete os1;
return 0;
}
evo nema me na forumu 2 dana haha
i da skuzio sam to i sam ali svejedno hvala :D