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

Canard007 Messages postés 5931 Date d'inscription   Statut Contributeur Dernière intervention   215
 
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
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
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
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
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
mohamed
 
0