Réponse acceptée !
Tu as beaucoup trop de {} dans ton code.
Pour faire simple, mettre du code entre {} revient créer une "sous-section locale". Tout ce qui est en dehors de cette "sous-section" n'y a pas accès.
Alors quand tu fais:
{
if(...) {...}
}
{
else if(...) {...}
}
le else if() cherche un if inexistant (plutôt invisible) car dans une autre section.
Enlève les crochets inutiles ce qui devrait donner ceci:
if(...){...}
else if(...){...}
else {...}
C++ (@++)