Les structures conditionnelles ???? IF IF IF ELSE ELSE ELSE...
Résolu
Samiko5580
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous,
Je viens de commencer mes études en programmations, j'ai un cours qui pose un certain ptit problème de compréhension, j'ai chercher pendant 2j sur le net et je ne trouve pas lé réponse à ma question ...
Quelqu'un connaîtrai comment bien utilisé la strucutres conditionnel au moment ou il y a deux if qui ce suit, un exemple concret ...
{
int a;
cin>>a;
if (a>0) \\Pourquoi ne pas mettre une instruction? exp: cout<<"Yes"; Vu que je l'ai partout.
if(a>1) \\ Quel raisonnement dois je avoir pour comprendre ?
cout<<a<<endlt;
else
cout<<a-1<<endl;
else
cout<<"Coucou";
}
Je ne comprend pas le raisonnement moi j'ai tendance à mettre un else if entre les deux et le profs me dit que ce n'est pas juste... Comprend pas bien le cas ou on met if if else else...
Si une bonne âme qui aurais un peut de patience pour me l'expliquer ce serait vraiment sympa.... Bien à vous et Bonne semaine ;)
Je viens de commencer mes études en programmations, j'ai un cours qui pose un certain ptit problème de compréhension, j'ai chercher pendant 2j sur le net et je ne trouve pas lé réponse à ma question ...
Quelqu'un connaîtrai comment bien utilisé la strucutres conditionnel au moment ou il y a deux if qui ce suit, un exemple concret ...
{
int a;
cin>>a;
if (a>0) \\Pourquoi ne pas mettre une instruction? exp: cout<<"Yes"; Vu que je l'ai partout.
if(a>1) \\ Quel raisonnement dois je avoir pour comprendre ?
cout<<a<<endlt;
else
cout<<a-1<<endl;
else
cout<<"Coucou";
}
Je ne comprend pas le raisonnement moi j'ai tendance à mettre un else if entre les deux et le profs me dit que ce n'est pas juste... Comprend pas bien le cas ou on met if if else else...
Si une bonne âme qui aurais un peut de patience pour me l'expliquer ce serait vraiment sympa.... Bien à vous et Bonne semaine ;)
A voir également:
- Les structures conditionnelles ???? IF IF IF ELSE ELSE ELSE...
- If exist - Forum Java
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- If else batch - Forum Autoit / batch
- Else if arduino ✓ - Forum C++
- If char ✓ - Forum Programmation
2 réponses
Salut.
if else forme une seule instruction, elles ne sont pas croisable.
Pour que ça soit plus clair, tu peut mettre des accolades, en partant du if le plus imbriqué :
if else forme une seule instruction, elles ne sont pas croisable.
Pour que ça soit plus clair, tu peut mettre des accolades, en partant du if le plus imbriqué :
if(a>0) { if(a>1) { cout<<a; } else { cout<<a-1; } } else { cout<<"coucou"; }
if(a>0)
{ \\donc la je peux mettre une instruction ici ? cout<<"Hello"<<endl;
if(a>1)
{
cout<<a;
}
else
{
cout<<a-1;
}
}
else
{
cout<<"coucou";
}
{ \\donc la je peux mettre une instruction ici ? cout<<"Hello"<<endl;
if(a>1)
{
cout<<a;
}
else
{
cout<<a-1;
}
}
else
{
cout<<"coucou";
}
Si il n'y a pas d'accolade, on considère que seul l'instruction suivante est conpris dans le if
ex:
et identique a:
Dans les cas précédant on teste forcément les 2 conditions alors que si l'on mets les accolades avec le premier if qui englobe tout, si la premier if est faux alors on ne testera pas le deuxième
et donc différnete si l'on met:
ex:
if (a>2) cout<<2 if (a>1) cout<<1 else cout<<3
et identique a:
if (a>2) { cout<<2} if (a>2) { cout<<2 } else { cout<<3 }
Dans les cas précédant on teste forcément les 2 conditions alors que si l'on mets les accolades avec le premier if qui englobe tout, si la premier if est faux alors on ne testera pas le deuxième
et donc différnete si l'on met:
if (a>2) { cout<<2 if (a>1) cout<<1 else cout<<3 }
Imaginons dans ce cas de figure par exemple, comment le résoudre ??? C'est là que je me perd :)
#include <iostream> using namespace std; int main() { int nbA,nbB,nbC; cout<<"Introduisez 3 nombres et je vous les affiches dans l'ordre croissant. "<<endl; cout<<"Nombre A : "; cin>>nbA; cout<<"Nombre B : "; cin>>nbB; cout<<"Nombre C : "; cin>>nbC; if (nbA<nbB){ if (nbB<nbC){ cout<<nbA<<nbB<<nbC<<endl; } else{ cout<<nbA<<nbC<<nbB<<endl; } } else if (nbC<nbB){ if (nbB<nbA){ cout<<nbC<<nbB<<nbA<<endl; } else{ cout<<nbC<<nbA<<nbB<<endl; } } else{ cout<<nbB<<nbC<<nbA<<endl; } return 0; }