problem [zadatak: napraviti Boolean klasu]

problem [zadatak: napraviti Boolean klasu]

offline
  • Pridružio: 03 Maj 2007
  • Poruke: 2

Pre svega da pohvalim sajt,i ljude koji ovde pisu.Znam da je nezahvalno od mene prva poruka i odmah traziti pomoc,ali mi je potrebna pa zato nemam izbora.Ovo je moj problem:


Realizovati klasu BOOL koja simulira Bulov tip. Klasa treba da sadrzi:
- podatak-clan tipa int koji predstavlja vrednost, i jednak je 0 ili 1
- metodu init za inicijalizaciju (sa mogucnosti zadavanja vrednosti)
- metodu za ocitavanje vrednosti
- metodu za negaciju
- metodu za konjukciju sa parametrom tipa bool.

program od prilike treba da radi sledece...

- "Unesi prvi broj" ako uneses 1 onda treba da da na ekranu negaciju(a to je 0)
- "unesi drugi broj" onda na ekranu treba da da konjigciju pa ako se unese 1 onda je kojugcija 1
u suprotnom je konjugcija 0

Znam da vas ima puno za koje ovo nije problem,ali svaka vrsta pomoci i delimicna mi znaci.Hvala unapred!!!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 04 Sep 2003
  • Poruke: 24135
  • Gde živiš: Wien

Ajmo korak po korak.
Ti znaci treba da napises klasu i program koji ce da demonstrira njene sposobnosti.
Posto pises klasu koja treba da se importuje u neki program (include), to znaci da treba da napravis header fajl sa prototipovima, i cpp fajl sa razradjenim funkcijama/metodama.

Nije frka ovo uraditi, ali bi najbolje bilo ako bi ti postavio ono sto si vec uradio, pa da vidimo gde je zapelo. Tako se najbolje nesto nauci.



offline
  • Pridružio: 26 Jul 2004
  • Poruke: 1472
  • Gde živiš: Vojvodina,Zrenjanin

Ne znam bas dobro objektno tako da mozda ovo i nije dobro, ali dok se ne javi neko iskusniji mozda dobijes neke ideje.
Jedino mi nije jasno onaj deo kad kazes da ima jedan podatak clan a kasnije unosis dva broja?Taj drugi nisam stavio u klasu. #include<iostream> using namespace std; class Bool { private:    int broj; public:    void SetBroj(int x) {       broj=x;    }    int GetBroj() {       return broj;    }    void neg(int x) {       if(x==1)          broj=0;       else          broj=1;          }    int conj(int y) {       return(broj & y);    } }; int main() {    Bool obj;    int x,y;    cout << "Unesi prvi broj (0 ili 1)";    cin >> x ;    cout << "Unesi drugi broj (0 ili 1)";    cin >> y;    if((x==1 || x==0) && (y==0 || y==1))       obj.SetBroj(x);    else {       cout<<"Greska!!!";       return 0;    }    cout << "Uneti broj je "<< obj.GetBroj() << endl;    obj.neg(x);    cout << "Negacija je " << obj.GetBroj() << endl;    cout << "Konjukcija " << obj.GetBroj() <<" sa y=" << y <<" iznosi " << obj.conj(y) <<endl;    return 0; } Neutral

offline
  • Đuro Glumac
  • dipl. ing. informatike
  • Pridružio: 08 Feb 2004
  • Poruke: 3640
  • Gde živiš: ApAtIn

Vidi se da pratis Malbaskog na predavanjima. Mr. Green

Meni ovo deluje OK, jedino sto bi to stavio u module (biblioteke), kao sto je bobby napisao. Znaci metode u cpp fajl, a njihove protitipove u klasi u header file.

offline
  • Pridružio: 26 Jul 2004
  • Poruke: 1472
  • Gde živiš: Vojvodina,Zrenjanin

Naravno da bi trebalo sve staviti u posebne fajlove ali sam ovde stavio zajedno zbog preglednosti.

@nullcode
hehe bas sam se navukao na ovo objektno Wink

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

mogao bi i metodu
int GetBroj()
da zapises ovako
int GetBroj() const

offline
  • Pridružio: 26 Jul 2004
  • Poruke: 1472
  • Gde živiš: Vojvodina,Zrenjanin

To se nisam setio.Moze posto ne menja vrednost objekta ali ovo je dosta prost kod.

offline
  • Strog  Male
  • Stručni saradnik
    Web programiranje
  • Bojan Kopanja
  • Web & Mobile developer @ ZeusSoftware
  • Pridružio: 26 Jul 2003
  • Poruke: 2597
  • Gde živiš: Stara Pazova

Eh taj Malbaski Very Happy... Laslo je car po pitanju optimizacije koda Very Happy. Na ovom kodu sto si napisao bi ti zgulio poena i poena na ispitu Wink.

Ovo bi bilo u njegovom stilu:

class Bool { private:    int broj; public:    void SetBroj(int x) {       broj=x;    }    int GetBroj() const {  //obavezno paziti na const       return broj;    }    void neg(int x) {       if(x)                      //nema potrebe pisati ==1          broj=0;       else          broj=1;         }    int conj(int y) {       return(broj & y);    } };

Nije neka razlika na ovom malom primeru, ali mislim da bi se na nekoj slozenijoj klasi te razlike jos kako povecale Very Happy.

Znaci on sankcionise sve nepotrebne provere Very Happy, a ako treba neka metoda da vrati recimo true/false ako nesto proveravas i napises ovako:

if(a==b) return true; else return false;

to je kao da si mu oko izvadio Very Happy. Po njemu bi to trebalo ovako:

return (a==b);

Very Happy, a stvarno je krace Wink.

Ma salim se ja malo, mislim i ovo gore je sasvim OK, a verovatno bih i sam tako napisao, nego mi je bilo simpaticno da uporedim rad i nacin razmisljanja nekih profesora Very Happy.

offline
  • Pridružio: 03 Maj 2007
  • Poruke: 2

Svaka cast,ljudi.Sta da vam kazem drugo osim jedno veliko HVALA svima!!!

Ko je trenutno na forumu
 

Ukupno su 564 korisnika na forumu :: 26 registrovanih, 3 sakrivenih i 535 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: amaterSRB, Andrija357, Astore Vajola, bojank, brundo65, darios, draggan, dragoljub11987, Fullback, GreenMan, havoc995, ILGromovnik, Jovan Nenad, kybonacci, Markoni29, nuke92, Pavac, S2M, Simon simonović, Smiljke, spektorsky, Srki94, VJ, vranjanac29, vsn111, Živković