code funktioniert nicht.
-
Zeile 11 in dem Code hier hat später im andere Auswrikungen als du denkst...
-
Was ist eigentlich das ASCII-Zeichen von der Zahl 8? Also die Zahl die das ASCII-Zeichen '8' repräsentiert ist ja 56.(Aufgabe für den TE)
-
Citizen42 schrieb:
Was ist eigentlich das ASCII-Zeichen von der Zahl 8? Also die Zahl die das ASCII-Zeichen '8' repräsentiert ist ja 56.(Aufgabe für den TE)
Backspace.
-
Skym0sh0 schrieb:
Zeile 11 in dem Code hier hat später im andere Auswrikungen als du denkst...
jaaa ist mir auch aufgefallen.
hab das mit eingabe = result gelöst.
mit 2 "==" geht das nicht. ich weiß nicht wieso
-
Das ist nicht der Grund.
Hast du mal getestet? Mal ne 8 eignegeben und mal nicht? und geguckt ob das was du dir vorstellst da raus kommt?
-
Skym0sh0 schrieb:
Das ist nicht der Grund.
Hast du mal getestet? Mal ne 8 eignegeben und mal nicht? und geguckt ob das was du dir vorstellst da raus kommt?
ja anfangs ist immer "falsch" rausgekommen und habe mich gewundert,wieso bei 8 nicht "richtig" angezeigt wird.
jetzt gehts aber und mein code ist :
#include <iostream> #include <cstdlib> using namespace std; int main() { int result = 8; char eingabe; cout << "Was ist 4+4?" << endl; cin >> eingabe; if (eingabe = result) { cout << "RICHTIG!" << endl; } else if (eingabe !=8 ) { cout << "Falsch!" << endl; } system("PAUSE"); return (0); }
-
oh mir ist aufgefallen,dass jetzt immer richtig rauskommt....
-
if (eingabe = result)
== FAIL
if (eingabe - '0' == result)
Und dem entsprechend auch
if (eingabe - '0' != result)
-
Videonauth schrieb:
if (eingabe = result)
== FAIL
if (eingabe - '0' == result)
oh funktioniert.
danke!wie kommst du auf die 0 ?
-
Damit macht er aus dem ASCII Zeichen '8' auch den Wert 8.
-
Wie komme ich auf die 0?
Ganz einfach du liesst deine Eingabe in einen 'char' ein. Wenn du dort nun über cin einliesst wird der ASCII wert der Zahl 8 in deinem char abgelegt. (Das ist die Nummer 56) Die Zahl 0 ist ASCII 48.
Wenn ich nun die 48 von 56 abziehe erhalte ich 8 und wenn ich das wiederum mit result vergleiche welches in dem Falle auch 8 ist erhalte ich true.
-
Videonauth schrieb:
Wie komme ich auf die 0?
Ganz einfach du liesst deine Eingabe in einen 'char' ein. Wenn du dort nun über cin einliesst wird der ASCII wert der Zahl 8 in deinem char abgelegt. (Das ist die Nummer 56) Die Zahl 0 ist ASCII 48.
Wenn ich nun die 48 von 56 abziehe erhalte ich 8 und wenn ich das wiederum mit result vergleiche welches in dem Falle auch 8 ist erhalte ich true.
vielen dank.
wieder was neues gelernt
-
wenn du eine Zahl einlesen und vergleichen möchtest, dann mach das doch auch:
// oder: int num = 0; int num { 0 }; cin >> num;
-
hardware schrieb:
int num { 0 };
lol