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 44
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 44
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
Rejoignez-nous