Klasse ValueGets: Fehler!



  • CStoll schrieb:

    dernichtswissende schrieb:

    achso.. da kommen immer ASCII Zeichen raus. Hier kann man leider keine ausgeben lassen, aber es sind halt verschiedene. Je nach welche Zahl ich eingebe.
    Aber es ist auf jeden Fall korrekt:

    std::cout << "Start(free[first]): " << free[first] << "  First: " << first;
    

    Es wird auch das richtige ausgegeben.

    caste die Ausgaben mal in einen int, dann siehst du die ASCII-Codes anstelle der Zeichen (ist mitunter einfacher zu unterscheiden).

    Hallo CStoll wieder 😉

    also hab mit

    std::cout << static_cast<int>(free[first]) << std::endl;
    

    mal gecastet. Es kommt immer nur der ASCII Code(Integer) vom jeweiligen und dazu noch richtigen ASCII-Zeichen(was der "Benutzer" auch verlangt) als Ergebnis heraus.

    mFG



  • sorry für doppelpost:

    also wenn das Feld gerade ein Smiley ist(zbsp.: ASCII Code "1" = Smiley) und ich dann caste, dann kommt nur 1 raus, was das richtige Ergebnis ist. Nur verstehe ich nicht, wieso das nicht funktioniert(die If-Anweisung) 😞

    mit freundlichen grüssen,
    thomas

    P.S.: ich hab auch vector<char> ... in vector<unsigned char> geschrieben, hat aber leider auch nichts gebracht 😞



  • Was funktioniert denn an der if-Bedingung nun nicht? Wie sind die Eingangswerte und was wird verglichen?



  • Badestrand schrieb:

    Was funktioniert denn an der if-Bedingung nun nicht? Wie sind die Eingangswerte und was wird verglichen?

    Es wird verglichen ob free[first] ein bestimmtest ASCII Zeichen ist.



  • dernichtswissende schrieb:

    also wenn das Feld gerade ein Smiley ist(zbsp.: ASCII Code "1" = Smiley) und ich dann caste, dann kommt nur 1 raus, was das richtige Ergebnis ist. Nur verstehe ich nicht, wieso das nicht funktioniert(die If-Anweisung) 😞

    Und was funktioniert denn nun nicht an der if-Bedingung?
    Die sieht doch glaubich so aus:

    if(free[first] == A)
    

    Was soll daran nicht funktionieren? Du hast dir doch free[first] und first ausgeben lassen... Wo liegt dann das Problem?

    Oder lass es mich anders formulieren: Du willst ja, dass wir dir bei einem Problem helfen (was ja gut ist, dafür ist das Forum ja da). Nur ich verstehe das Problem nicht. Du hast im Prinzip eine Bedingung "if ( x == y )" und du sagst "sie funktioniert nicht". Ich verzweifle langsam 😞



  • Badestrand schrieb:

    dernichtswissende schrieb:

    also wenn das Feld gerade ein Smiley ist(zbsp.: ASCII Code "1" = Smiley) und ich dann caste, dann kommt nur 1 raus, was das richtige Ergebnis ist. Nur verstehe ich nicht, wieso das nicht funktioniert(die If-Anweisung) 😞

    Und was funktioniert denn nun nicht an der if-Bedingung?
    Die sieht doch glaubich so aus:

    if(free[first] == A)
    

    Was soll daran nicht funktionieren? Du hast dir doch free[first] und first ausgeben lassen... Wo liegt dann das Problem?

    Oder lass es mich anders formulieren: Du willst ja, dass wir dir bei einem Problem helfen (was ja gut ist, dafür ist das Forum ja da). Nur ich verstehe das Problem nicht. Du hast im Prinzip eine Bedingung "if ( x == y )" und du sagst "sie funktioniert nicht". Ich verzweifle langsam 😞

    also erstmal dankeschön 😉

    also das sie einfach ignoriert wird, hätte ich besser sagen sollen.
    Also wenn meine "Auswahl" also in dem Sinne first ist, dann muss ich vergleichen, ob die Auswahl ein bestimmtes Zeichen ist 😉
    Aber ich glaube es hängt vom Gültigkeitsbereich irgendwie ab, ist nur so ein Gedanke 😞

    ich teste mal ob es mit normalen Buchstaben geht 😉


Anmelden zum Antworten