begin process at 2010 02 10 07:17:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

Autre

 > 

Probleme avec If et else


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Probleme avec If et else

samedi 14 février 2009 à 14:03:41 | Probleme avec If et else

violatorstrain2

Bonjours a tous voici un bout de code d'un convertisseur hexadecimal, octal, et decimal :

#include

<iostream>

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);
      }
   }
   {
      
elseif(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);
      }
   }
   {
      elseif(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;
      }
   }
}
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

samedi 14 février 2009 à 15:54:29 | Re : Probleme avec If et else

violatorstrain2

Réponse acceptée !
par contre une petite remarque, je tape bien else if et else (il y a eu des problemmes lors de l'envoi du message!!) 

@RW3L
samedi 14 février 2009 à 16:48:42 | Re : Probleme avec If et else

SAKingdom

Membre Club
Réponse acceptée !
Enlève les ; après tes if et else if. Mettre un ; directement après un if() revient à dire qu'il ne se passera rien même si la condition est vrai.

C++ (@++)

samedi 14 février 2009 à 16:50:39 | Re : Probleme avec If et else

SAKingdom

Membre Club
Réponse acceptée !
Le block qui suit le if sera exécuter cependant, même si la condition est fausse, car il n'est pas attaché au if (à cause du ;)

C++ (@++)

samedi 14 février 2009 à 17:16:14 | Re : Probleme avec If et else

violatorstrain2

Réponse acceptée !
merci
Quand a l'action qui permet de quitter mon programme de quoi s'agit-il?

@RW3L
samedi 14 février 2009 à 17:21:44 | Re : Probleme avec If et else

SAKingdom

Membre Club
Réponse acceptée !
Dans le main, tu peux faire directement return 0.

C++ (@++)

samedi 14 février 2009 à 18:07:16 | Re : Probleme avec If et else

violatorstrain2

Réponse acceptée !
j'ai essayer sans les ";" mais rien de plus. Domage voila ne image de a compilation:



voila.
@RW3L
samedi 14 février 2009 à 18:44:51 | Re : Probleme avec If et else

SAKingdom

Membre Club
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++ (@++)

samedi 14 février 2009 à 18:47:01 | Re : Probleme avec If et else

SAKingdom

Membre Club
Réponse acceptée !
Oh et un break ne s'utilise que dans une boucle (while, do while, for) et un switch case

C++ (@++)

samedi 14 février 2009 à 18:49:45 | Re : Probleme avec If et else

SAKingdom

Membre Club
Réponse acceptée !
Et aussi system ne fait pas partie d'une quelconque classe. C'est une fonction.
Pas de std:: devant donc et elle demande aussi d'inclure stdlib.h

C++ (@++)


1 2 3

Cette discussion est classée dans : valeur, choix, cout, std, chifre


Répondre à ce message

Sujets en rapport avec ce message

calcul d'un modulo [ par cabarrus ] Qui peu m'aidé s.v.p pour ce problème...Ecrire un prog qui demande 2 nbres à l'utilisateur et qui affiche le reste de la division du 1er par le second convertir une string en float [ par jean_vandevere ] Bonjour à tous, je cherche à convertir une valeur de format string en un float en dev C++.Le code que je tape est le suivant et consite à aller lire urgent svp exo sur les tableaux [ par blastmanu ] bonjour tt le monde voila mon probleme:Soit un tableau Tab1 de taille maxi Tmax=35 On veut:-Remplir Tab1 en demandant les valeur a l'utilisateur. Le n entrer une valeur ou appuyer sur Enter pour celle par defaut [ par bastet1978 ] Bonjour voila je dois recuperer des valeurs ou les definir si l'utilsateur tappes sur Enter. J'ai 3 questions donc trois boucles demandant trois vale Creation et ecriture dans un fichier en C++ [ par bjipowa ] Bonjour,voila je suis une noob en c++ mais je dois faire un prog pour mon BTS dans ce language, et je dois pour cela utiliser les fichiers.J'ai donc c Apres un choix [ par Oruk ] Voila je sais pas si je vais etre claire mais pour faire simple je veut pour voi entrer des donnés apres avoir fait mon choix mais la je seche complet debutant pas très doué [ par busta74 ] je viens de commencer a lire un livre pour apprendre le c++ et a la fin de chaque chapitre il faut creer un programme pour mettre en application ce qu dur d'apprendre c++ [ par busta74 ] je dois ecrire un programme qui exploite des fonction individuelles pour demander l'age, lire cet age saisi au clavier , et utiliser cette valeur pour la creation d'objets en c++ [ par whikie ] Bonjour a tous,Je suis toujours en train d'apprendre les bases du c++, et la je me lance pour creer des objets.Je voudrais creer des objets 'cartes a problème de chaine de caractères (débutant) [ par graall ] salut à tous, j'ai un gros problème avec ce code : (le problème est expliqué dans les commentaires)     FILE *pReference = fopen(reference_path, "r")


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales