C++ - klasa za rad s heksadekadskim brojevima

poruka: 12
|
čitano: 3.599
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Pomoc u C++ (seminarski rad)

moze li mala pomoc, imam seminarski a ne znam kako da pocnem....

Zadatak:

Napisati klasu HeksadekadniBroj za rad sa heksadecimalnim brojevima.

 

Atribut:

string broj - predstavlja broj u heksadecimalnom sistemu

 

Metode:

konstruktori, aksesori,

operatori <<, >>, ==, !=, +, -, *, /,...

int dekadni() - daje dekadnu vrijednost broja

 
0 0 hvala 0
14 godina
neaktivan
offline
Pomoc u C++ (seminarski rad)

Oko kojeg djela tocno.

Poruka je uređivana zadnji put sub 26.2.2011 20:53 (Budimir).
 
0 0 hvala 0
15 godina
neaktivan
offline
Re: Pomoc u C++ (seminarski rad)

pa tacno ne znam sta trebam uraditi, tj ne znam napraviti konstruktore, pa nadalje bih valjda skontao.

14 godina
neaktivan
offline
C++ - klasa za rad s heksadekadskim brojevima

class heksadecimalni {

public:

  heksadecimalni( string ); // konstruktor deklaracija

};

 

heksadecimalni::heksadecimalni( string number ) // kostruktor implementacija

{

}

 

int main()

{

  heksadecimalni A( "123" ); // konstruktor koristenje

}

Poruka je uređivana zadnji put sub 26.2.2011 21:20 (Budimir).
 
0 1 hvala 1
17 godina
moderator
offline
Re: C++ - klasa za rad s heksadekadskim brojevima

@Budimir

 

Možeš li objasniti čemu ti služi konstruktor u toj klasi? I gdje uopće držiš broj s kojim ćeš kasnije računati? Retorička pitanja - odgovori su "apsolutno ničemu" i "nigdje". S tom klasom ili bez nje - baš je svejedno. BTW nazivi klasa u pravilu se pišu velikim početnim slovom - da se po tome razlikuju od pokazivača ili referenci, tj. instanciranih objekata.

15 godina
neaktivan
offline
C++ - klasa za rad s heksadekadskim brojevima

uradio sam ovako:

 

class Hdbroj

{

  string broj;

  public:

 

  Hdbroj(string );

 

  int dekadni();

  void setB(string b);

  string getB() const;

 

   friend ostream& operator <<(ostream& str, const Hdbroj& h);

};

 

Hdbroj :: Hdbroj(string b)

{

   broj=b;

}

 

void Hdbroj:: setB(string b)

{

   broj=b;

}

 

string Hdbroj:: getB() const

{

   return broj;

}

 

ostream& operator << (ostream& str, const Hdbroj& h)

{

   str<<h.broj<<endl;

   return str;

}

 

ovo je da napisem neki string broj, ali ne znam kako da ga onda pretvorim u dekadni :/

 
0 0 hvala 0
17 godina
moderator
offline
Re: C++ - klasa za rad s heksadekadskim brojevima
MirkoCapara kaže...
ovo je da napisem neki string broj, ali ne znam kako da ga onda pretvorim u dekadni :/

1 = 1

2 = 2

...

9 = 9

A = 10

B = 11

C = 12

D = 13

E = 14

F = 15

 

Znači, ideš znamenku po znamenku (od kraja stringa, da ne bi bilo zabune!) i izvlačiš decimalnu vrijednost za tu znamenku.

 

Decimalnu vrijednost množiš s "težinom", odnosno mjestom na kojem se nalazi - a to je potencija od - taaaaadaaaaaaa - 16!

 

 

Znači, ako imaš broj FEB4A, to je (idemo od kraja!)

 

16^0 * A +

16^1 * 4 +

16^2 * B +

16^3 * E +

16^4 * F =

 

1 * 10 +

16 * 4 +

256 * 11 + ...

 

Mislim da bi ti sad to trebalo biti jasno. Uostalom, to ni nema veze s informatikom - to je matematika.

14 godina
neaktivan
offline
Re: C++ - klasa za rad s heksadekadskim brojevima

@mbaksa

Tip je napisao da nezna sa konstuktorima, ja sam mu pokazao kako se koristi konstruktor.

A sto se tice konvencije i velikih slova, znam za to ali u C++ se nisu drzali toga ( mislim na STL strukture queue, stack, map, set, string, deque, vector, list... ) pa sam se i ja htio uklopiti u okolinu. Ne znam cemu ovaj napad "pameti" odjednom.

Poruka je uređivana zadnji put sub 26.2.2011 22:55 (Budimir).
14 godina
neaktivan
offline
Re: Pomoc u C++ (seminarski rad)
MirkoCapara kaže...

pa tacno ne znam sta trebam uraditi, tj ne znam napraviti konstruktore, pa nadalje bih valjda skontao.

15 godina
neaktivan
offline
Re: Pomoc u C++ (seminarski rad)

znam praviti konstruktore, ali za ovaj program, tj. za heksadekadni broj nisam mogao skontati kako treba, mbaksa mi je odlicno objasnio kako treba i skontao sam, a od onoga sto si mi ti objasnio nista se nije moglo uraditi, bezveze si samo lupao !!

17 godina
moderator
offline
Re: C++ - klasa za rad s heksadekadskim brojevima
Budimir kaže...

@mbaksa

Tip je napisao da nezna sa konstuktorima, ja sam mu pokazao kako se koristi konstruktor.

Teško je reći da si mu pokazao kako se koristi konstruktor, pošto tvoj konstruktor ne radi svoju osnovnu funkciju - ne postavlja vrijednost člana poslanu preko argumenta.

 

Ako znaš programirati, onda se od tebe očekuje da pokažeš ispravan primjer, jer ovako dezinformiraš čovjeka koji pita za savjet. I padobrance, koji će onda možda misliti da se to zbilja tako radi.

 

Budimir kaže...
A sto se tice konvencije i velikih slova, znam za to ali u C++ se nisu drzali toga ( mislim na STL strukture queue, stack, map, set, string, deque, vector, list... ) pa sam se i ja htio uklopiti u okolinu.

Predlošci razreda i razredi nisu jedno te isto. Konvencija za predloške razreda je takva, za klase onakva. Pokušavao si se uklopiti u pogrešnu okolinu. {#}

 

Budimir kaže...
Ne znam cemu ovaj napad "pameti" odjednom.

Što si tako osjetljiv? Ako si nešto krivo napisao, zar bih trebao okolišati tipa "Pa znaš, znam da si htio pomoći, ali to ti baš i nije točno, duboko se ispričavam što kritiziram tvoj primjer, ali je to ipak trebalo malo drugačije, nije da je tvoje posve krivo, ali ipak... bla bla bla? Nemam običaj okolišati, nego sam u raspravama direktan - a pogotovo kad su iznesene dezinformacije. Bolje nikakva informacija, nego pogrešna informacija. Naime, s pogrešnom informacijom netko će možda stvari početi krivo raditi, a kad nema informacije, čekat će da od nekog dobije ispravnu informaciju.

17 godina
moderator
offline
Re: Pomoc u C++ (seminarski rad)
MirkoCapara kaže...

znam praviti konstruktore, ali za ovaj program, tj. za heksadekadni broj nisam mogao skontati kako treba, mbaksa mi je odlicno objasnio kako treba i skontao sam, a od onoga sto si mi ti objasnio nista se nije moglo uraditi, bezveze si samo lupao !!

Sad ti miješaš kruške i jabuke. Sam si rekao da ne znaš napraviti konstruktore pa ti je Budimir to pokušavao i pokazati. Ovo što sam ti ja objasnio nema veze s konstruktorima - to bi išlo u metodu int dekadni(), metodu koju ćeš koristiti kod računskih operacija s objektima te klase. Pokušaj se sljedeći put malo preciznije izražavati.

1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice