true/false



  • Hm....... ich habe ein Verständnis Problem
    Es gibt eine Funktion:

    ostream &write(long l, ostream &ost, bool opt=true) {
    		if(l == 0 && opt) {			
    			return ost;
    		}
    		ost << (l /100l);
    		ost << ',';
    		ost << setfill('0') << setw(2) << (l % 100);
    		return ost;
    	}
    

    jetzt wenn ich die so aufrufe

    write(0, ost, false);
    

    sollte ich in if rein rutschen ist aber nicht der fall.
    Ich weis es ist auch richtig so jedoch kann ich es nicht so richtig verstehen. 😕
    Wer kann es mir erklären ?



  • Wahrheitstabelle von && (logisches UND):

    true && true => true
    true && false => false
    false && true => false
    false && false => false

    HTH



  • [cpp]
    ostream &write(long l, ostream &ost, bool opt=true) {
    if(l == 0 && **!**opt) {
    return ost;
    }
    ost << (l /100l);
    ost << ',';
    ost << setfill('0') << setw(2) << (l % 100);
    return ost;
    }
    [/cpp]

    jetzt stimmt es 😉



  • Bashar schrieb:

    Wahrheitstabelle von && (logisches UND):

    true && true => true
    true && false => false
    false && true => false
    false && false => false

    HTH

    das ist mir schon klar 😉



  • miller_m schrieb:

    [cpp]
    ostream &write(long l, ostream &ost, bool opt=true) {
    if(l == 0 && **!**opt) {
    return ost;
    }
    ost << (l /100l);
    ost << ',';
    ost << setfill('0') << setw(2) << (l % 100);
    return ost;
    }
    [/cpp]

    jetzt stimmt es 😉

    eben so sollte es auch sein ( meine meinug nach )
    es funk aber auch so

    if(l == 0 && opt) {            
                return ost;
            }
    

    und mein Projektleiter hat gesagt es ist auch richtig und wenn ich es nicht versthe dann empfelt er mir ein c++ buch, und ich verstehe es nicht und im c++ buch habe auch nichts drüber gefunden ?!!?



  • wie wärs mit einfach fragen, ob opt true ist?

    if(l == 0 && opt==true) {           
                return ost;
            }
    

    funktionierts dann auch nicht?

    florian



  • thaflo schrieb:

    funktionierts dann auch nicht?
    florian

    das "Problem" ist das es so und so funktioniert ich aber die erste lösung ( sehe oben ) nich verstehe 😕



  • 007ski schrieb:

    das ist mir schon klar 😉

    Dann verstehe ich nicht, was dein Problem damit ist, dass l == 0 && opt nur dann true ergibt, wenn l 0 und opt true ist. Linke Seite: l == 0 ergibt true. Rechte Seite ist aber false. true && false ist false, also wird die vom if kontrollierte Anweisung nicht ausgeführt.

    😕 😕



  • soooooooooory ich bin einfach ein Depp
    ich habe statt
    if(l == 0 && opt)

    if(l == 0 && ost)

    gesehen sooooory und danke für die mühe



  • thaflo schrieb:

    wie wärs mit einfach fragen, ob opt true ist?

    Lieber nicht. Wenn man dann mal mit BOOLs, ints oder sonstigem arbeitet, gibt's lustige Fehler.


Anmelden zum Antworten