Anonymní profil pointer – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil pointer – Programujte.comAnonymní profil pointer – Programujte.com

 

Příspěvky odeslané z IP adresy 178.40.250.–

Anonymní uživatel
C / C++ › Problem s ulohou
10. 6. 2010   #130024

Zdravim

Ucim sa c++ podla jednej knihy a pre zabavu som skusal nejaky program, aby som si co to zopakoval. Tento konkretne rata objemy a obsahy telies, no mam tu maly problem

<code>
#include <iostream>
using namespace std;

class telesa
{
private:
int stranaA;
int stranaB;
int stranaC;
public:
void NastavA();
void NastavB();
void NastavC();

int Menu();

int ZobrazA()const {return stranaA;}
int ZobrazB()const {return stranaB;}
int ZobrazC()const {return stranaC;}

int ObsahObdlznika(int stranaA, int stranaB);
int ObsahStvorca(int stranaA);

int ObjemKvadra(int stranaA, int stranaB, int stranaC);
int ObjemKocky(int stranaC);
};
int telesa::Menu()
{
cout << " ....Menu....\n\n";
cout << "(1).Obsah obdlznika\n";
cout << "(2).Obsah stvorca\n";
cout << "(3).Objem kvadra\n";
cout << "(4).Objem kocky\n";
cout << "(5).Koniec \n\n";
int volba;
cin >> volba;
return volba;
}

void telesa::NastavA()
{
cout <<"Zadaj velkost strany a: ";
cin >> stranaA;
}

void telesa::NastavB()
{
cout <<"Zadaj velkost strany b: ";
cin >> stranaB;
}

void telesa::NastavC()
{
cout <<"Zadaj velkost strany c: ";
cin >> stranaC;
}

int telesa::ObsahObdlznika(int stranaA, int stranaB)
{
return stranaA*stranaB;
}

int telesa::ObsahStvorca(int stranaA)
{
return stranaA*stranaA;
}

int telesa::ObjemKvadra(int stranaA, int stranaB, int stranaC)
{
return stranaA*stranaB*stranaC;
}

int telesa::ObjemKocky(int stranaA)
{
return stranaA*stranaA*stranaA;
}

int main()
{
telesa teleso1;
bool koniec = false;
int A = teleso1.ZobrazA();
int B = teleso1.ZobrazB();
int C = teleso1.ZobrazC();

for(;;)

{
teleso1.Menu();
int volba = teleso1.Menu();
switch(volba)
{
case 1:
cout << "Obsah obdlznika \n\n";
teleso1.NastavA();
teleso1.NastavB();
cout << "Obsah obdlznika je"<< teleso1.ObsahObdlznika(A, B);
break;
case 2:
cout << "Obsah stvorca \n\n";
teleso1.NastavA();
cout << "Obsah stvorca je "<< teleso1.ObsahStvorca(A);
break;
case 3:
cout << "Objem kvadra \n\n";
teleso1.NastavA();
teleso1.NastavB();
teleso1.NastavC();
cout << "Objem kvadra je "<< teleso1.ObjemKvadra(A, B, C);
break;
case 4:
cout << "Objem kocky \n\n";
teleso1.NastavA();
cout << "Objem kocky je \n\n"<< teleso1.ObjemKocky(A);
break;
case 5:
koniec = true;
break;
}
if(koniec)
break;
}


cin.get();
cin.get();
}
</code>

ide mi o to ze nefunguje
int A = teleso1.ZobrazA();
int B = teleso1.ZobrazB();
int C = teleso1.ZobrazC();

aj ked nacitanie z napr (teleso1.ZobrazA()) funguje spravne. Pokial ale necham nacitat "int A" hodi mi uplny blud. Viem ze v tom programe je kopec chyb, chystam sa to opravit len co to bude nahrubo fungovat ;)
Dakujem

pointer
C / C++ › C++ Ukazatele
7. 6. 2010   #129893

aha taaaak ... parada... zacinam tomu trosku chapat ... dik zatial :)

pointer
C / C++ › C++ Ukazatele
7. 6. 2010   #129887

tomu alokovaniu chapem(myslim). Vytvorim premennu, a ta si podla typu vyhradi miesto, resp pocet tych sektorov v pamati. Chapem aj to ukladanie adresy, len to asi vnimam zle a to tak ze vlastne teraz okrem ulozenej hodnoty mam v programe ulozeny aj ukazovatel s adresou, cize nieco navyse. Zatial zrejme proste celkom nechapem tu vyhodu len ulozenej adresy oproti ulozenej hodnote. Inak, tie pointre maju zmysel vzdy, alebo len pri istych typoch ? myslim typoch ako long,signed atd ktore zaberaju v pamati viac miesta ?

pointer
C / C++ › C++ Ukazatele
7. 6. 2010   #129881

Zdravim

Ucim sa C++ z knihy C++ za 21 dni a zasekol som sa na tejto lekcii ... cca niekde v polke. Stale neviem celkom pochopit na co su dobre ... Podla autora (ak tomu spravne rozumiem) riesia napr problem lokalnych premennych, konkretne ich kratnu zivotnost, kedze sa po ukonceni funkcie zmazu, resp prestanu existovat. Ale preco je to problem nechapem .

Zakladam temu, pretoze ukazovatele su udajne jednym z tych komplikovanejsich zalezitosti okolo C++ ale udajne su vyznamne, preto by som im chcel naozaj chapat a teda sa sem tam nieco okolo nich spytat aq nezakladat zbytocne dalsiu temu.

Neviem niekto o nejakom zdroji na ktorom su vysvetlene do bodky a fakt ludsky ? Pripadne sa pokusit vysvetlit na co presne su a v com su take vynimocne ? Rozmyslal som aj nad tym ze mozno tuto lekciu odlozim na neskor a budem sa tym zaoberat ked bude v C++ trosku zasvatenejsi. Som samouk, nie student, takze v skole mi to tiez nevysvetlia. Dakujem :)

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý