Probleme avec If et else

Résolu
violatorstrain2
Messages postés
17
Date d'inscription
samedi 14 février 2009
Statut
Membre
Dernière intervention
6 avril 2009
- 14 févr. 2009 à 14:03
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
- 16 févr. 2009 à 13:42
Bonjours a tous voici un bout de code d'un convertisseur hexadecimal, octal, et decimal :

#include

int

CHIFRE;
int
choix;
int

main(void
)
{
   {
      std::system(
"cls");
        std::cout <<
"**********MENU**********" << std::endl;
        std::cout <<
"1 - Decimal > octal et hexadecimal." << std::endl;
        std::cout <<
"2 - Octal > decimal et hexadecimal." << std::endl;
        std::cout <<
"3 - Hexadecimal > octal et decimal." << std::endl;
        std::cout <<
"4 - Quitter." << std::endl;
   }
   {
      std::cout <<
"Entrez votre choix : ";
      std::cin >> choix;
      
      while
(choix <1 || choix > 4)
      {
         std::cout <<
"Choix incorrect ! "
                          <<
"Veuillez le saisir a nouveau : ";
         std::cin >> choix;
      }
   }
   {
      
if(choix == 1);
      {
         
int i = 0;
         
do
         {
            i++;
            {
                std::cout <<
"Entrez une valeur decimale (de 0 a 9) : ";
                std::cin >> CHIFRE;

                while(CHIFRE<=0)
                {
                     std::cout <<
"Erreur ! Le nombre doit etre superieur a 0 et comporter que 10 chifres : ";
                     std::cin >> CHIFRE;
                }
                 std::cout <<
"Valeur octale : " << std::oct << CHIFRE << std::endl;
                 std::cout <<
"Valeur hexadecimal : " << std::hex << CHIFRE << std::endl;
               }
            }

            while(i < 1000);
      }
   }
   {
      
else
if(choix == 2);
      {
         
int i = 0;
        
do
        {
            i++;
            {
                std::cout <<
"Entrez une valeur octal : ";
                std::cin >> std::oct >> CHIFRE;

               while(CHIFRE<=0 && CHIFRE>=7) 
               {
                     std::cout <<
"Erreur ! Le nombre doit etre superieur a 0, inferieur a 7 et comporter que 10 chifres : ";
                     std::cin >> CHIFRE;
               }
               std::cout <<
"Valeur decimal : " << std::dec << CHIFRE << std::endl;
               std::cout <<
"Valeur hexadecimal : " << std::hex << CHIFRE << std::endl;
            }
         }

         while(i < 1000);
      }
   }
   {

      else
if(choix == 3);
      {

         int i = 0;

        do
        {
            i++;
            {
               std::cout <<
"Entrez une valeur hexadecimal (de 0 a e) : ";
               std::cin >> std::hex >> CHIFRE;

               
               while(CHIFRE<=0)
               {
                   std::cout <<
"Erreur ! Le nombre doit etre superieur a 0, inferieur a e et comporter que 10 chifres : ";
                   std::cin >> CHIFRE;
               }
               std::cout <<
"Valeur octal : " << std::oct << CHIFRE << std::endl;
               std::cout <<
"Valeur decimal : " << std::dec << CHIFRE << std::endl;
            }
         }

         while(i < 1000);
      }
   }
   {

      else
      {

         break;
      }
   }
[mailto:}@RW3L }
je commence juste la programmation et lors de la compilation (je bosse sous geany) il ne comprend pas else if et else.
de plus je ne suis pas sur de l'action pour quitter le programme (il me semble que se soit break).

Si quelqu'un povait me donner une reponse claire et a ma porté se serait cool.

Merci d'avance

@]
RW3L

24 réponses

violatorstrain2
Messages postés
17
Date d'inscription
samedi 14 février 2009
Statut
Membre
Dernière intervention
6 avril 2009

16 févr. 2009 à 13:01
comment sa pour mes variables, je les declares toutes au debut? Nan ? C'est ce qui faut faire ( du moin il me semble ). Mais je ne mets pas beaucoup de commentaire je trouve que sa embrouille l'histoire (peut etre parce que mes programmes sont basique). Est ce qu'il existe une fonction comme std::bin pour une transaction en binaire??

@RW3L
3
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
16 févr. 2009 à 13:42
en C, il faut les declarer en debut de bloc, c'est a dire apres des {

par convention, on les declare toujours en debut de fonction.

en Cpp ou en java, on se permet une declaration dans un for :

for (int i = 0; i < 10; i++){
...
}

ici, la variable i n'existe que dans la boucle.
3
coucou747
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Membre
Dernière intervention
30 juillet 2012
41
16 févr. 2009 à 11:56
on peut voir ton programme corrige stp ?
0
violatorstrain2
Messages postés
17
Date d'inscription
samedi 14 février 2009
Statut
Membre
Dernière intervention
6 avril 2009

16 févr. 2009 à 12:17
passe moi ton adresse mail

@RW3L
0