Schaltjahr
-
sry: kann mir jemand folgendes genau erklären: was läuft da ab:
if(istSchaltjahr(jahr))
-
genauer gesagt: woher weiß man:
ja der sag einfach if- boolean
else blablamüsste es da nicht heißen
if(istSchaltjahr(jahr))=true
oder so was...
ich muss gestehen...seit wir c++ machen
generell
DIE BOOLEAN CHECK ICH EINFACH NICHT!!!!
ich denk mir immer wieder, wiesowiesowieso!
ja klar:
ich: herr lehrer, ich verstehe die funktionsweise einer boolean nicht!
lehrer: na, boolean ist einfach true/false, 0 oder 1....1 bit größe...
ich: immer noch unklar!
lehrer: ganz normaler datentyp...HILFT MIR NULL!
-
die ganzen Vergleiche (== != < > .......) sind doch auch Funktionen, die halt Wahrheitswerte liefern. Also wenn eine Funktion true liefert und du das Ergebnis mit true vergleichst machst zuviel, es ist nicht falsch aber unnötig
Boolean heißt doch entweder es ist wahr oder es ist falsch. Du stellst dem Computer eine Frage, die er nur mit ja oder nein (wahr oder falsch) beantworten kann.
if (Bedingung) { bedingung ist richtig bzw. test endete mit ja/true } else { bedingung ist falsch bzw. test endete mit nein/false }
-
also
bool var;
if(bed.)
bool true;
else(bed.)
bool false;??? oder wie sieht da die anwendung aus?
-
XaTrIxX schrieb:
also
bool var;
if(bed.)
bool true;
else(bed.)
bool false;??? oder wie sieht da die anwendung aus?
Das versteh ich wiederrum nicht. Die Anwendung ist einfach, dass du einen "Schalter" (Flag) hast, der eben nur 2 Zustände kennt: wahr (true bzw. 1) oder unwahr (false bzw. 0).
Wenn ich dich frage, ob du die Antworten hier im Thread komplett verstehst, kannst du auch nur mit ja oder nein antworten (vielleicht oder weiß nicht geht nicht).
bool XaTrIxX_verstehts = false; if(XaTrIxX_verstehts == true) // gleichbedeutend mit 'if (XaTrIxX_verstehts)' { // Thread beendet, keine Erklärungen nötig } else if (XaTrIxX_verstehts == false) // oder 'else' oder 'else if (!XaTrIxX_verstehts)' { // gehe ins Detail und erkläre es nochmal }BOOL ist einfach eine Entweder-Oder Entscheidung.
Und dein erstes Programmierbeispiel ist komplett falsch (syntaktisch, aber besonders logisch). Geh doch einfach von oben nach unten den Code durch, und überleg was gemacht wird
-
also sagen wir:
ich will ein quiz machen, dann sag ich sowas wie:int antwort; cout <<"Quiz blabla..."<<endl; cout <<"Frage:Abkürzung,Prozessor (engl.)"<<endl; //richtige antwort wäre "CPU" cin <<antwort; bool antwort= false; // übrigends, warum = false?!, wie definiere ich, was "RICHTIG IST?!?!!? if(antwort== true); { //cout richtig usw. } if(antwort == false) { //cout falsch blabla }^^ich glaube irgendwas fehlt mir in der zeile
bool antwort=....
habe aber keine genaue vorstellung was GENAU!
-
erstens wäre das "cin >> antwort;" und zweitens wäre dafür eher geeignet:
if(antwort==richtige_antwort) cout<<"Korrekt\n"; else cout<<"Leider falsch!\n";(und in "richtige_antwort" hast du vorher definiert, welche Antwortmöglichkeit korrekt wäre)
btw, bei Multiple Choice Tests reicht int aus, wenn der Spieler wirklich das Wort "CPU" als Lösung eingeben soll, ist std::string wohl besser geeignet.
-
okay, machen wir´s so:
was ist hier noch falsch?#include <iostream> using namespace std; int main() { int antwort; cout <<"Quiz blabla..."<<endl; cout <<"Frage:Abkürzung,Prozessor (engl.)"<<endl; //richtige antwort wäre "CPU" cin >>antwort; bool richtige_antwort=true ; // übrigends, warum = false?!, wie definiere ich, was "RICHTIG IST?!?!!? if (richtige_antwort==cpu); { cout <<"Antwort richtig!"<<endl; } else(richtige_antwort == false) { cout <<"Antwort falsch!"<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
-
ich nehme an, der Bezeichner cpu ist unbekannt - und für eine Quizfrage ist boolean auch nicht gerade geeignet (das kann nämlich nur zwei Werte annehmen - wahr(true) oder falsch(false).
std::string antwort; std::string richtig="CPU";// <- genau so legst du die richtige Antwort fest cout<<"Was steuert einen PC?"; cin>>antwort; if(antwort==richtig)// stimmt die Benutzereingabe mit der richtigen Antwort überein? cout<<"Korrekt.\n"; else cout<<"Leider falsch!\n";
-
bool richtige_antwort = (antwort == 42);
-
danke für beide beiträge! ich glaub nach einigen beispielen kapier ichs 100%ig..danke leute...ich weiß...mühsam mit mir...oder?
-
so ich hab´s nun raus:
hab das mal ausprobiert, nun bringt er hier in zeile 17 noch ein fehler
syntax error before else#include <cstdlib> #include <iostream> using namespace std; int main() { int antwort; cout <<"Quiz blabla..."<<endl; cout <<"Frage:55+44="<<endl; //richtige antwort wäre "CPU" cin >>antwort; bool richtige_antwort = (antwort == 99); // übrigends, warum = false?!, wie definiere ich, was "RICHTIG IST?!?!!? if (antwort==richtige_antwort); { cout <<"Antwort richtig!"<<endl; } else; { cout <<"Antwort falsch!"<<endl; } system("PAUSE"); return EXIT_SUCCESS; }
-
if(richtige_antwort) // KEIN SEMIKOLON, AUCH NICHT BEI ELSE
-
lol, ich kann ins programm, jedoch...
ich gebe 99 ein und: "ANTWORT FALSCH"
lol...ich denke...da ist noch was techn. falsch
-
XaTrIxX schrieb:
lol...ich denke...da ist noch was techn. falsch
Und ich denke, du hast die Bedingung in der if-Anweisung noch nicht geändert.
-
ach ne....jetzt hab ich n bisschen rumprobiert ("PROBIER-PROGRAMMIERER")
und ich habs raus...und die 20beiträge nur um mich verstehen zu lassen wie eine boolean funktionert!
danke leute!
jetzt finish!
fertig hier!
cya :p