C++

Adil le vrais -  
 mohamed -
Salut les pro. comme sava ?svp pour l'alternative imbriquée
:s'il vous plait j'ai besoin un d' un programme ou la
première accolade ne se ferme pas après
le premier [else],toute suite, fait comme cette syntaxe s'il vous plait:
if (condition1)
{ (*1begin*)
if (condition2)
séquence1;
else {
if (condition3)
séquence2
else
séquence3;
}
} (*//end//pgmme complique*)
else
séquence4;

j'ai cette exemple abordable mais pas compliqué
#include<iostream.h>
void main ()
int a,b,c;
cout<<"a =";
cin>>a;
cout<<"b = " ;
cin>>b;
cout<<"c = ";
cin>>c;
if (a>b)
{
if (a>c)
cout <<"le plus grand des trois nombres :"<<a;
else
cout<<"le plus grand des trois nombres est :"<<c;
}
else
{
if (b>c)
cout <<" le plus grand des trois nombres est :"<<b ;
else
cout <<" le plus grand des trois nombres est :"<<c;
}
}

4 réponses

  1. Canard007 Messages postés 5954 Date d'inscription   Statut Contributeur 216
     
    j ai rien compris a ta question mais sinon deja dans ton code il manque une acolade
    t'as mis
    void main () 
    int a,b,c; 
    

    il faut mettre
    void main () 
    {
    int a,b,c; 
    
    0
  2. pom
     
    salut, tout comme Canard007 je ne comprends pas ta question.
    Je ne sais pas si ton exemple sur les trois nombres est un exemple au pif pour qu'on comprenne qqch ou bien si c'est ton prgm mais pour faire moins le ligne de code je te propose la chose suivante :

    int max(int a,int b) { (a>b) ? return a : return b}

    int main()
    {
    int a,b,c;
    std::cout<<"le max est "<<max(max(a,b),c)<<std::endl;

    return 0;
    }
    0
    1. marvinrouge
       
      plutot que

      int max(int a,int b) { (a>b) ? return a : return b}

      utilises plutot

      int max(int a,int b)
      {
      return (a>b) ? a : b;
      }
      0
  3. Adil le vrais
     
    Salut,merci,tu m'a pas compris c'est pas comme une equation du second degree en deux partie,mais c'est seulement pour arriver a distinguer le chemin des instruction compliquer\\ begin et end

    Je veut svp un pgmme correspondont a cette syntaxe:

    if (condition1)
    { (*1begin*)
    if (condition2)
    séquence1;
    else {
    if (condition3)
    séquence2
    else
    séquence3;
    }
    } (*//end//pgmme complique*)
    else
    séquence4;
    0
    1. pom
       
      ok, je comprends mieux ton prgm alors.
      Je vois que dans tes if(condition) sequence il n'y a pas d'accolades. Cela veut donc dire que le compilo ne va prendre en compte que la 1e instruction dans le "alors". Si tu veux mettre plusieurs instructions, il faut mettre une accolade

      int main()
      {
      int toto, mimile, v1, compteur,a

      if(toto==1) // condition 1
      {
      if((mimile>2) && (v1<=3)) // condition 2
      { // ici tu as 2 instructions d'ou les accolades
      for(int i=0;i<5;i++,compteur++);
      a=7;
      }
      else // sinon conditon 2
      {
      if((v1 != 3) || (v1 >7) ) // condition 3
      a=9; // ici tu n'as qu'une seule séquence 2 donc pas beoin d'accolades
      else a=8; // sinon condition 3
      } // fin sinon condition 2
      } // fin condition 1
      else // sinon conditiion 1
      {
      v1=8;
      mimile=7;
      } // fin sinon condition 1

      return 0;
      }

      si tu as bcp de si alors sinon, regarde les mots clés switch et case

      j'espère ne pas avoir fait de faute sur les accolades.

      Salut
      Pom
      0