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:
#include <cstdlib>
#include <iostream>
#define TRUE 1
#define FALSE 0
int StringCompare(char *s1, char *s2);
using namespace std;
int main(int argc, char *argv[])
{
[...]
int Anfang21 = 34 ;
int Ende21 = 43 ;
int Eingabe13;
int Ergebnis13 = Ende21-Anfang21;
char ZuOdAb21[100];
char Richtig21 [] = "Zunahme";
printf("\nAnfangtemperatur: %d\n",Anfang21);
printf("Endtemperatur: %d\n",Ende21);
printf("Zu- oder Abnahme:");
scanf("c",&ZuOdAb21);
fflush(stdin);
printf("Wert der Zu- bzw. Abnahme:");
scanf("%d",&Eingabe13);
fflush(stdin);
printf("\n");
system("PAUSE");
if(strcmp(ZuOdAb21, Richtig21))
{
printf("Richtig!! Es ist eine %s.\n",Richtig21);
if(Eingabe13==Ergebnis13)
{
printf("Richtig!! Es ist eine %s um d.\n",Richtig21,Ergebnis13);
}
else
{
printf("Leider falsch. Es ist eine %s um %d.\n",Richtig21,Ergebnis13);
}
}
else
{
printf("Leider falsch. Die richtige Antwort w\x84re %s um %d
gewesen\n",Richtig21,Ergebnis13);
}
system("PAUSE");
[...]
}
Alles anzeigen
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.