Utiliser des instructions if-else imbriquées en C++
-
Utilisez une seule instruction
if-else
pour implémenter une instruction conditionnelle en C++ -
Utilisez des instructions imbriquées
if-else
pour implémenter un flux de contrôle de programme multiconditionnel en C++
Cet article explique plusieurs méthodes d’utilisation des instructions if-else imbriquées en C++.
Utilisez une seule instruction if-else
pour implémenter une instruction conditionnelle en C++
Il existe deux types d’instructions fournies par le langage C++ pour implémenter une exécution conditionnelle. L’une est l’instruction if
- qui branche le flux de contrôle en fonction d’une condition, et l’autre est l’instruction switch
qui évalue l’expression pour choisir l’un des chemins d’exécution possibles. L’instruction if
peut être exprimée sous la forme d’une seule condition ou construite sous la forme d’instructions multi-étapes qui contrôlent les différents chemins d’exécution. Notez que lorsque l’instruction unique suit la condition, elle peut être écrite sans accolades {}
pour distinguer la portée du bloc.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[0] > 1) cout << "array[0] <= 1" << endl;
if (array[0] > 1) {
cout << "array[0] <= 1" << endl;
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
Utilisez des instructions imbriquées if-else
pour implémenter un flux de contrôle de programme multiconditionnel en C++
Alternativement, on peut enchaîner les instructions if-else
imbriquées les unes dans les autres pour implémenter un flux de contrôle conditionnel complexe. Notez que l’absence d’accolades pour le if-else
donné signifierait que le bloc est exécuté sans condition. Ce dernier scénario est le plus probable lorsque plusieurs instructions if
sont imbriquées et que toutes les conditions if
n’ont pas le bloc else
correspondant au même niveau. Pour éviter de tels problèmes, il faut essayer d’appliquer le style d’accolades ou utiliser des outils spécifiques à l’IDE pour détecter de tels problèmes dans le code.
#include <iostream>
#include <vector>
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::vector;
int main() {
vector<int> array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else
cout << "array[4] <= array[5]" << endl;
}
if (array[4] > array[3]) {
cout << "array[4] > array[3]" << endl;
if (array[4] > array[5])
cout << "array[4] > array[5]" << endl;
else if (array[4] > array[6])
cout << "array[4] > array[6]" << endl;
else if (array[4] < array[5])
cout << "array[4] < array[5]" << endl;
else
cout << "array[4] == array[5]" << endl;
}
return EXIT_SUCCESS;
}
Production:
array[4] > array[3]
array[4] <= array[5]
array[4] > array[3]
array[4] < array[5]
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook