If-else
-
std::cout << std::boolapha << p ^ q << std::endl;
-
unskilled schrieb:
std::cout << std::boolapha << p ^ q << std::endl;Kein if, 6, setzen.

-
Nee leider kapier ich das mit dem if nicht so wirklich

Trotzdem danke für eure Hilfe
-
Brain91 schrieb:
Nee leider kapier ich das mit dem if nicht so wirklich

Trotzdem danke für eure HilfeUnd wenn ich es so schreibe?
if(p and not q or not p and q)oder auch so?
if((p and (not q)) or ((not p) and q))
-
314159265358979 schrieb:
if(p && !q || !p && q) cout << "Wahr"; else cout << "Falsch";das geht auch einfacher
if(p != q) cout << "Wahr"; else cout << "Falsch";wobei diese Variante nicht mehr funktionieren muss, falls nicht mit bools gearbeitet wird.
cooky451 schrieb:
unskilled schrieb:
std::cout << std::boolapha << p ^ q << std::endl;Kein if, 6, setzen.

7, denn es fehlen auch noch Klammern.
-
Ohne bools würde man dann so etwas schreiben:
if(!!p^!!q)
-
gemeint war wohl
#include <iostream> using namespace std; int main() { bool p,q; cout << "Erster Wahrheitswert: "; cin >> boolalpha >> p; cout << "Zweiter Wahrheitswert: "; cin >> q; cout << "Das Ergebnis der Exklusiv-Oder-Verknüpfung lautet: "; if(p) { if(q) { cout << "Falsch"; } else { cout << "Wahr"; } } else { if(q) { cout << "Wahr"; } else { cout << "Falsch"; } } cout << endl; return 0; }
-
Ich soll jetzt hier nochmal was umschreiben
#include <iostream> using namespace std; int main() { unsigned short a,b; cout << "Erste Ziffer (1..3): "; cin >> a; cout << "Zweite Ziffer (1..3): "; cin >> b; if (0 == a || 0 == b || a > 3 || b > 3) cout << "Unzulaessige Eingabe, Programm beendet." << endl; else { if (1 == a) { if (1 == b) cout << "Elf"; if (2 == b) cout << "Zwoelf"; if (3 == b) cout << "Dreizehn"; } if (2 == a) { if (1 == b) cout << "Einundzwanzig"; if (2 == b) cout << "Zweiundzwanzig"; if (3 == b) cout << "Dreiundzwanzig"; } if (3 == a) { if (1 == b) cout << "Einunddreissig"; if (2 == b) cout << "Zweiunddreissig"; if (3 == b) cout << "Dreiunddreissig"; } } return 0; }in switch
habe ich das :
#include <cstdlib> #include <iostream> using namespace std; int main() { unsigned short a,b; cout << "Erste Ziffer (1..3): "; cin >> a; cout << "Zweite Ziffer (1..3): "; cin >> b; switch(a) { case '1': cout << (1 == a); break; case '2': cout << (1 == b) << "Elf"; break; case '3': cout << (2 == b) << "Zwoelf"; break; case '4': cout << (3 == b) << "Dreizehn"; break; case '5': cout << (2 == a); break; case '6': cout << (1 == b) << "Einundzwanzig"; break; case '7': cout << (2 == b) << "Zweiundzwanzig"; break; case '8': cout << (3 == b) << "Dreiundzwanzig"; break; case '9': cout << (3 == a); break; case '10': cout << (1 == b) << "Einunddreissig"; break; case '11': cout << (2 == b) << "Zweiunddreissig"; break; case '12':cout << (3 == b) << "Dreiunddreissig"; break; } }aber da passiert nichts
if (0 == a || 0 == b || a > 3 || b > 3) cout << "Unzulaessige Eingabe, Programm beendet." << endl;und den Teil weiß ich nicht, wie und wo ich den einfügen soll

-
Du hast die Drölfundzwanzig vergessen.
-
314159265358979 schrieb:
Du hast die Drölfundzwanzig vergessen.
ein posting sinnloser als das andere.
von dir kommt nur müll junge.
-
Das switch ersetzt bei deinem ersten Programm den else Zeig deiner Bereichsabfrage. Es ersetzt das
if (1 == a) { ...Wann wird dein a denn jemals 4 oder 5 oder ... 12?
-
Deine Fehler:
- Du vergleichst mit Chars, nicht mit Ints (Zahlenwerten)
- Du vergleichst a, das nur den Wert 1 bis 3 haben soll, mit Werten von 1 bis 12
- Du vergleichst b gar nicht
- Du gibst seltsame Bool-Abfragen mit cout aus (?)Für den Anfang des codes schlage ich dir das hier vor:
#include <cstdlib> #include <iostream> using namespace std; int main() { unsigned short a,b; cout << "Erste Ziffer (1..3): "; cin >> a; cout << "Zweite Ziffer (1..3): "; cin >> b; unsigned short number = a*10 + b; // switch(number) ...