Exercice débutant instruction if

Résolu
Bonjour,

J'ai dans mon début d'apprentissage un exercice donc voici l'intitulé

Écrivez une instruction if qui teste deux variables entières et qui affecte la valeur la
plus faible à la variable la plus élevée. N'utilisez qu'une seule clause else.

J'ai écris les quelques lignes suivantes :

#include <iostream>
using namespace std;
int main()
{
 int a, b;
 cout<<"Entrez deux nombre.\n";
 cout<<"a : ";
 cin>> a;
 cout<<"b : ";
 cin>> b;
 
  { if (a<b)
   a=b;
   cout<< "a = "<<a<<"b = " <<b<<endl;
   
    else
    
   b=a;
   cout<< "b = "<<b<<"a = " <<a<<endl;
  }
  return 0;
}


mais au moment de la compilation il communique ce message (exo4.1.cpp:16:5: error: 'else' without a previous 'if'),
je ne comprends pas car pour moi le if est présent et je ne vois pas pourkoi ça bug, merci par avance pour l'aide que vous pourrez m'apporter.



EDIT: Ajout de la coloration syntaxique.

2 réponses

  1. Bonsoir, sais tu à quoi servent les accolades?
    1
    1. +1, la est la source de tes ennuis
      0
    2. +1, surveille bien l'ordre de celles-ci.
      0
    3. oui je sais a quoi corresponde les accollades, j'en ai mis deux "encadrant" le main et deux "encadrant" l'instruction if, le soucis ne me vient pas !
      0
    4. @InstaDDComme le dit VanDog, fais attention à l'ordre.
      Quand tu dis en avoir mis qui encadrent le main, elles sont après la déclaration de celui-ci, car elles délimitent le bloc d'instructions à exécuter par la méthode main.

      --
      0
  2. Merci, pour votre aide (réponse !! ^^) j'ai corrigé mon code de la façon suivante pour répondre au mieux à l'énoncé de l'exercice :

    #include <iostream>
    using namespace std;
    int main()
    {
     int a, b;
     cout<<"Entrez deux nombre.\n";
     cout<<"a : ";
     cin>> a;
     cout<<"b : ";
     cin>> b;
     
      if (a<b) {
       a=b;
       cout<< "a = b = "<<a<<endl;
      } 
        else {
        
       b=a;
       cout<< "b = a = "<<b<<endl;
      }
      return 0;
    }
    


    Je vous remercie encore de votre aide, et je vous dis à bientôt, car je sens que la route va être très long, pour un apprentissage express en solitaire !
    0
    1. Pense à la coloration syntaxique quand tu postes un code, voir l'Edit de ton premier message.
      Si ton problème est résolu, merci de cliquer sur le lien "Marquer comme résolu" sous le titre de la discussion
      0
    2. Ok merci je le ferai a l'avenir
      0