Contenu du cours
Instructions Conditionnelles en C++
Instructions Conditionnelles en C++
Instructions If Imbriquées
Une instruction if
imbriquée est simplement une instruction if
à l'intérieur d'une autre instruction if
. Cette structure vous permet d'évaluer plusieurs conditions, l'une après l'autre, et d'exécuter des blocs de code spécifiques.
nested_if
if (condition1) { // Code block 1 if (condition2) { // Code block 2 if (condition3) { // Code block 3 } } }
L'instruction if
extérieure agit comme un gardien, et en fonction de son évaluation, elle peut ouvrir la porte à une autre instruction if
à l'intérieur. Considérons un scénario où nous voulons déterminer le salaire d'un travailleur en fonction de sa performance.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 17; int hours_worked = 37; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // And if the number of hours worked is more than 40 if (hours_worked > 40) { // add an additional 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } } std::cout << current_salary << std::endl; }
Ce code calcule le nouveau salaire d'un employé en fonction du nombre de tâches accomplies et des heures travaillées, avec une augmentation de 20% si les tâches sont supérieures à 15 et une augmentation supplémentaire de 20% si les heures travaillées sont supérieures à 40. Comme vous pouvez le voir, les calculs actuels sont de 1200. Et cela ne peut être réalisé qu'en utilisant des instructions if
imbriquées, voici quelques tentatives pour obtenir la même logique sans elles.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 9; int hours_worked = 41; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } // If the number of hours worked is more than 40 if (hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } std::cout << current_salary << std::endl; }
Au début, il peut sembler que cela fonctionne de la même manière, mais dans ce cas, le travailleur recevra une augmentation supplémentaire de 20%, indépendamment du fait qu'il ait accompli plus de 15 tâches. Exécutez le code et regardez la sortie, elle montre une valeur de 1200, même si cette fois le travailleur n'a pas accompli plus de 15 tâches.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 19; int hours_worked = 39; // If the number of completed tasks is greater than 15 // AND the number of of hours worked is more than 40 if (completed_tasks > 15 && hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; std::cout << current_salary << std::endl; } std::cout << current_salary << std::endl; }
Dans ce cas, il peut sembler que cela devrait fonctionner comme prévu, mais malheureusement, c'est également incorrect, le résultat est 1000. C'est parce que si le travailleur effectue plus de 15 tâches mais ne travaille pas plus de 40 heures, il ne recevra rien. Donc, nous devons utiliser des instructions if
imbriquées pour obtenir la bonne implémentation.
Les instructions if
imbriquées sont vraiment utiles pour créer des processus de prise de décision et gérer des scénarios complexes dans votre code. En concevant soigneusement la structure de votre code et en maintenant sa lisibilité, vous pouvez exploiter la puissance des instructions if
imbriquées pour écrire des programmes efficaces et maintenables.
Remarque
Les instructions
if
imbriquées sont nécessaires dans certains cas mais pas toujours. Dans la troisième section, nous discuterons quand, pourquoi et comment les éviter.
Swipe to start coding
Nous avons un excès de téléphones roses dans notre inventaire que nous devons vendre.
- Faites une réduction de 20% sur les téléphones roses.
- Si le prix d'un téléphone dépasse 1 000 $, la réduction sera réduite à 10%.
- Pour tous les autres téléphones, augmentez le prix de 10%.
Solution
solution
Merci pour vos commentaires !
Instructions If Imbriquées
Une instruction if
imbriquée est simplement une instruction if
à l'intérieur d'une autre instruction if
. Cette structure vous permet d'évaluer plusieurs conditions, l'une après l'autre, et d'exécuter des blocs de code spécifiques.
nested_if
if (condition1) { // Code block 1 if (condition2) { // Code block 2 if (condition3) { // Code block 3 } } }
L'instruction if
extérieure agit comme un gardien, et en fonction de son évaluation, elle peut ouvrir la porte à une autre instruction if
à l'intérieur. Considérons un scénario où nous voulons déterminer le salaire d'un travailleur en fonction de sa performance.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 17; int hours_worked = 37; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // And if the number of hours worked is more than 40 if (hours_worked > 40) { // add an additional 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } } std::cout << current_salary << std::endl; }
Ce code calcule le nouveau salaire d'un employé en fonction du nombre de tâches accomplies et des heures travaillées, avec une augmentation de 20% si les tâches sont supérieures à 15 et une augmentation supplémentaire de 20% si les heures travaillées sont supérieures à 40. Comme vous pouvez le voir, les calculs actuels sont de 1200. Et cela ne peut être réalisé qu'en utilisant des instructions if
imbriquées, voici quelques tentatives pour obtenir la même logique sans elles.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 9; int hours_worked = 41; // If the number of completed tasks is greater than 15, if (completed_tasks > 15) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } // If the number of hours worked is more than 40 if (hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; } std::cout << current_salary << std::endl; }
Au début, il peut sembler que cela fonctionne de la même manière, mais dans ce cas, le travailleur recevra une augmentation supplémentaire de 20%, indépendamment du fait qu'il ait accompli plus de 15 tâches. Exécutez le code et regardez la sortie, elle montre une valeur de 1200, même si cette fois le travailleur n'a pas accompli plus de 15 tâches.
main
#include <iostream> int main() { int current_salary = 1000; int completed_tasks = 19; int hours_worked = 39; // If the number of completed tasks is greater than 15 // AND the number of of hours worked is more than 40 if (completed_tasks > 15 && hours_worked > 40) { // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; // add an 20% increase to the current salary current_salary = current_salary + current_salary * 0.2; std::cout << current_salary << std::endl; } std::cout << current_salary << std::endl; }
Dans ce cas, il peut sembler que cela devrait fonctionner comme prévu, mais malheureusement, c'est également incorrect, le résultat est 1000. C'est parce que si le travailleur effectue plus de 15 tâches mais ne travaille pas plus de 40 heures, il ne recevra rien. Donc, nous devons utiliser des instructions if
imbriquées pour obtenir la bonne implémentation.
Les instructions if
imbriquées sont vraiment utiles pour créer des processus de prise de décision et gérer des scénarios complexes dans votre code. En concevant soigneusement la structure de votre code et en maintenant sa lisibilité, vous pouvez exploiter la puissance des instructions if
imbriquées pour écrire des programmes efficaces et maintenables.
Remarque
Les instructions
if
imbriquées sont nécessaires dans certains cas mais pas toujours. Dans la troisième section, nous discuterons quand, pourquoi et comment les éviter.
Swipe to start coding
Nous avons un excès de téléphones roses dans notre inventaire que nous devons vendre.
- Faites une réduction de 20% sur les téléphones roses.
- Si le prix d'un téléphone dépasse 1 000 $, la réduction sera réduite à 10%.
- Pour tous les autres téléphones, augmentez le prix de 10%.
Solution
solution
Merci pour vos commentaires !