Probleme c++
Résolu
jeansaisrien
-
jeansaisrien -
jeansaisrien -
Bonjour,
je suis en train d'apprendre le c++ et je ne comprend pas pourquoi ceci ne fonctionne pas :
#include <iostream>
using namespace std;
int main()
{
int age = 21;
if(age >= 18)
{
bool majeur = true;
}
else
{
bool majeur = false;
}
if(majeur)
{
cout<<"Vous etes majeur";
}
else
{
cout<<"sale jeune";
}
return 0;
}
j'ai une erreur comme quoi majeur n'existe pas donc il ne prend pas en compte sa création dans les conditions si quelqu'un pouvait m'expliquer pourquoi ce serait sympa.
merci d'avance
je suis en train d'apprendre le c++ et je ne comprend pas pourquoi ceci ne fonctionne pas :
#include <iostream>
using namespace std;
int main()
{
int age = 21;
if(age >= 18)
{
bool majeur = true;
}
else
{
bool majeur = false;
}
if(majeur)
{
cout<<"Vous etes majeur";
}
else
{
cout<<"sale jeune";
}
return 0;
}
j'ai une erreur comme quoi majeur n'existe pas donc il ne prend pas en compte sa création dans les conditions si quelqu'un pouvait m'expliquer pourquoi ce serait sympa.
merci d'avance
4 réponses
sale jeune
Evite de mettre une telle phrase dans un forum.
if(majeur)
Oui effectivement, dans cette instruction 'majeur' n'existe pas. Où est la déclaration de 'majeur' ?
Oh, bien sûr, je t'entends fulminer: "Mais avec 'bool majeur = ...' car il passe de toutes façons dans l'un ou l'autre"; c'est vrai mais cela ne résout pas le problème.
Alors où est le problème ?
Tout simplement parce qu'une déclaration de variable faite dans un bloc ne permet de voir cette variable que dans ce bloc; en conséquence, une fois sorti de ce bloc, la variable n'existe plus.
Bonne réflexion.
Evite de mettre une telle phrase dans un forum.
if(majeur)
Oui effectivement, dans cette instruction 'majeur' n'existe pas. Où est la déclaration de 'majeur' ?
Oh, bien sûr, je t'entends fulminer: "Mais avec 'bool majeur = ...' car il passe de toutes façons dans l'un ou l'autre"; c'est vrai mais cela ne résout pas le problème.
Alors où est le problème ?
Tout simplement parce qu'une déclaration de variable faite dans un bloc ne permet de voir cette variable que dans ce bloc; en conséquence, une fois sorti de ce bloc, la variable n'existe plus.
Bonne réflexion.
désolé pour le sale jeune,
bon j'ai compris l'histoire du bloc mais j'ai essayé de créer la variable avant en me disant qu'il la changerai avec la condition, et pourtant non ! Pourquoi ?
bon j'ai compris l'histoire du bloc mais j'ai essayé de créer la variable avant en me disant qu'il la changerai avec la condition, et pourtant non ! Pourquoi ?