Chyba v podmínce – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Chyba v podmínce – C / C++ – Fórum – Programujte.comChyba v podmínce – C / C++ – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tomas
~ Anonymní uživatel
511 příspěvků
21. 10. 2014   #1
-
0
-

 Chtěl bych se zeptat, co mám za chybu v podmínce, že mi nefunguje její druhá větev od else. Ať už je pohlavní nastaveno na true nebo false pokaždé program funguje, jakoby pohlaví bylo nastaveno na true.  

#include <iostream>

using namespace std;

class Zvire {
    string m_druh;
    int m_kgJidlaNaDen;
    bool m_pohlavi;
    string m_jmeno;


public:
    Zvire (string druh, bool pohlavi){
        m_druh = druh;
        m_kgJidlaNaDen = 30;
        m_pohlavi = pohlavi;
        m_jmeno = "";

    }
  

    void setJmeno (string jmeno){
        cout <<"Zadej jmeno"<<endl;
        cin>>jmeno;
        m_jmeno = jmeno;

    }


    void zmenaJidla(bool pohlavi, int jidloKgNaDen){

        if (pohlavi = true){
            if (jidloKgNaDen<30){
                cout<<"Vaha jidla musi byt minimalne 30kg"<<endl;
                jidloKgNaDen =30;
            }else{
                m_kgJidlaNaDen=jidloKgNaDen;
            }

        }else{
            if (jidloKgNaDen<50){
                cout<<"Vaha jidla musi byt minimalne 50kg"<<endl;
                jidloKgNaDen =50;

            }else{
            m_kgJidlaNaDen = jidloKgNaDen;
            }
        }
}



    void printInfo(){
    cout<<"Druh: "<<m_druh<<endl;
    cout<<"Jidlo na den v Kg: "<<m_kgJidlaNaDen<<endl;
    cout<<"Pohlavi: "<<m_pohlavi<<endl;
    cout<<"Jmeno: "<<m_jmeno<<endl<<endl;


    }



    ~Zvire(){

    cout<<"Zvire bylo premisteno do jine zoo"<<endl;
    }


};


int main()
{
    Zvire* orangutan = new Zvire("opice",true);
    orangutan->zmenaJidla(true,50);
    orangutan->setJmeno("");
    orangutan->printInfo();

   
    delete orangutan;
    return 0;
}
Nahlásit jako SPAM
IP: 91.219.240.–
Reklama
Reklama
hlucheucho+10
Posthunter
21. 10. 2014   #2
-
0
-

operátor porovnání je ==

Tvůj kód vloží do lokální proměnné pohlaví true, výsledek je vždy true. Při návratu funkce lokální proměnná zanikne. 

hu

Nahlásit jako SPAM
IP: 193.86.81.–
Tomas
~ Anonymní uživatel
511 příspěvků
21. 10. 2014   #3
-
0
-

#2 hlucheucho
Takže když vytvářím podmínku a potřebuji, aby ta podmínka byla splněna v případě že se něco rovná něčemu tak tam musím zadat == nikoliv pouze =. Rozumím tomu správně?

Nahlásit jako SPAM
IP: 91.219.240.–
Kit+11
Guru
21. 10. 2014   #4
-
0
-

#1 Tomas
To true je přece správně. Každé zvíře má pohlaví.

Nahlásit jako SPAM
IP: 37.48.41.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
hlucheucho+10
Posthunter
21. 10. 2014   #5
-
0
-

#3 Tomas
jj.

Nahlásit jako SPAM
IP: 193.86.81.–
Tomas
~ Anonymní uživatel
511 příspěvků
21. 10. 2014   #6
-
0
-

Aha, tak to mě nedošlo, že se tam musí dát == , tak vám děkuji. Teď už to funguje jak má. 

Nahlásit jako SPAM
IP: 91.219.240.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 67 hostů

Podobná vlákna

Znaky v podmínce — založil billtimm

String v podmínce — založil delicacyy

Moderátoři diskuze

 

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