Strcmp gibt immer das gleiche aus

  • Hi Leute,

    Ich hab da ein problem mit StringCompair und Kriegs net gelöst. ich wollte für meine schwester (5. Klasse) ein Programm schreiben mit dem sie lernen kann und dass man leich ändern kann.
    Es geht darum zu beschreiben ob zwischen dem anfangswert und dem endwert eine zunahme oder eine abnahme stattfindet und um wie viel abgenommen bzw zugenommen wird. Bitte nicht hinschreiben, dass das programm zu lang ist oder ähnliches, da ich erst vor kurzem angefangen hab mit C zu programmieren.

    hier also ein auszug aus dem Programm:

    Das Problem ist jetzt, dass die Bedingung des ersten if-befehls immer wahr ist und der pc immer ausgibt, dass bei der eingabe ob es eine Zu- oder Abnahme ist ausgibt,dass dort die richtige antwort steht. der rest funktioniert soweit ganz gut.

    ich würde mich wirklich über antworten und hilfen freuen und danke euch schonmal im vorraus.

    PS.: ich habs überprüft der gibt als wert von strcmp immer 1 aus.

  • 0 käme bei Übereinstimmung raus, ungleich 0 wenn die Strings nicht identisch sind. So wie Du es schreibst prüft die if-Bedingung nur ob die Rückgabe true oder false ist. Da bei dir aber immer ein Wert raus kommt ist die Rückgabe immer true, daher stimmt die Bedingung. Schreib es also so:

    Code
    if(strcmp(ZuOdAb21, Richtig21) == 0 )

    wenn es dir um Übereinstimmung geht.

    Siehe: http://www.cplusplus.com/reference/clibrary/cstring/strcmp/

    PS: ich lerne auch noch C :)

  • vielen dank. das problem ist aber, dass der immer 1 ausgibt egal ob ich das richtige oder das falsche eingebe.
    ich hab das mit printf("%d",Vergleich1); überprüft, nachdem ich Vergleich1 als strcmp(ZuOdAb21, Richtig21) definiert hab.

    leider ändert dein vorschlag (danke nochmal) auch nichts daran.

    PS.: wie lernst du c?? benutzt du ein tutorial oder belegst du einen kurs oder sowas??

  • hi,
    hat sich geklärt. ich hatte ein paar verständniss probleme und dadurch kleine formfehler. ich habs jetzt mithilfe von nem tutorial gelöst und das programm funktioniert jetzt.
    trotzdem danke für die hilfe.

    gruß itsbidiopen

    PS:weiß einer von euch wie man zufallszahlen generieren kann und denen dann bedingungen stellt ??