c0mp4ct
Lieutenant
- Registriert
- Juli 2008
- Beiträge
- 751
Hallo Leute,
ich habe ein Problem mit einer Abbruchbedingung. Die Schleife wird einfach nicht abgebrochen, obwohl die Abbruchbedingung erfüllt ist.
Auf der console gibt er mir
aus. Eingegeben wurde "a/b-c/d". Die Abbruchbedingung ist doch damit erfüllt?! Wo ist mein Denkfehler? Hoffe ihr könnt mir helfen. Danke schonmal!
ich habe ein Problem mit einer Abbruchbedingung. Die Schleife wird einfach nicht abgebrochen, obwohl die Abbruchbedingung erfüllt ist.
Code:
char operatorSuche(char zeile[], int z)
{
char c = '\0' ;
char op = '\0' ; //Operator
c = zeile[z] ;
bool end = false ;
printf("%d false?\n", end) ;
while (!end)
{
if (c == '=')
{
printf("= wurde eingegeben\n") ;
op = '=' ;
end = true ;
}
else if (c == '+')
{
printf("+ wurde eingegeben\n") ;
op = '+' ;
end = true ;
}
else if (c == '-')
{
printf("- wurde eingegeben\n") ;
op = '-' ;
end = true ;
}
else if (c == '*')
{
printf("* wurde eingegeben\n") ;
op = '*' ;
end = true ;
}
else if (c == '/')
{
printf("/ wurde eingegeben\n") ;
op = '/' ;
end = true ;
}
else
{
if (op == ' ')
{
op = '\0' ;
}
}
printf("%d true?\n", end) ;
z++ ;
c = zeile[z] ;
}
return op ;
}
Auf der console gibt er mir
Code:
0 false?
0 true?
/ wurde eingegeben
1 true?
0 false?
0 true?
0 true?
0 true?
...
aus. Eingegeben wurde "a/b-c/d". Die Abbruchbedingung ist doch damit erfüllt?! Wo ist mein Denkfehler? Hoffe ihr könnt mir helfen. Danke schonmal!