C - Instructions imbriquées pour les déclarations conditionnelles

Bonjour à tous, futurs programmeurs ! Aujourd'hui, nous allons plonger dans le monde fascinant des déclarations conditionnelles imbriquées en C. En tant qu'enseignant en sciences informatiques dans votre quartier, je suis excité de vous guider à travers ce sujet. Faites-moi confiance, une fois que vous aurez compris, vous imbriquerez des déclarations conditionnelles comme un pro constructeur d'oiseaux !

C - nested if statements

Qu'est-ce que les déclarations conditionnelles imbriquées ?

Avant de sauter dans le grand bain, penchons-nous sur les bases. Vous savez comment, dans la vie, nous faisons souvent des décisions basées sur plusieurs conditions ? Eh bien, les déclarations conditionnelles imbriquées sont exactement comme cela ! Elles nous permettent de vérifier plusieurs conditions et d'exécuter différents blocs de code en fonction de ces conditions.

Imaginons que vous décidez quoi mettre. Vous pourriez penser :

  1. Si il fait froid dehors...
  • Si il pleut...
  • Porte un imperméable
  • Sinon...
  • Porte un manteau chaud
  1. Sinon (si ce n'est pas froid)...
  • Si il fait ensoleillé...
  • Porte un t-shirt
  • Sinon...
  • Porte un manteau léger

Ce processus de prise de décision est exactement ce que font les déclarations conditionnelles imbriquées en programmation !

Syntaxe

Maintenant, voyons comment nous écrivons des déclarations conditionnelles imbriquées en C. La structure de base ressemble à ceci :

if (condition1) {
// Code à exécuter si condition1 est vraie
if (condition2) {
// Code à exécuter si condition1 et condition2 sont vraies
}
else {
// Code à exécuter si condition1 est vraie mais condition2 est fausse
}
}
else {
// Code à exécuter si condition1 est fausse
if (condition3) {
// Code à exécuter si condition1 est fausse mais condition3 est vraie
}
else {
// Code à exécuter si condition1 et condition3 sont fausses
}
}

Ne vous inquiétez pas si cela paraît un peu intimidant au départ. Nous allons le décomposer avec quelques exemples !

Exemple 1 : Température et humidité

Commençons par un exemple simple. Nous allons écrire un programme qui suggère quoi mettre en fonction de la température et de l'humidité.

#include <stdio.h>

int main() {
int temperature = 25;
int humidity = 80;

if (temperature > 30) {
if (humidity > 70) {
printf("Il fait chaud et humide. Porte des vêtements légers et respirants.\n");
} else {
printf("Il fait chaud mais sec. Porte des vêtements légers et reste hydraté.\n");
}
} else if (temperature > 20) {
if (humidity > 70) {
printf("Il fait chaud et humide. Un t-shirt devrait être suffisant.\n");
} else {
printf("Il fait agréablement ensoleillé. Profite du temps!\n");
}
} else {
printf("Il fait frais. Considère de porter un manteau léger.\n");
}

return 0;
}

Dans cet exemple, nous vérifions d'abord la température. Si elle est supérieure à 30°C, nous vérifions ensuite l'humidité pour décider entre "chaud et humide" ou "chaud et sec". Si la température est comprise entre 20°C et 30°C, nous vérifions à nouveau l'humidité pour des conseils plus spécifiques. Si elle est inférieure à 20°C, nous suggérons simplement un manteau léger.

Exemple 2 : Calculateur de notes

Passons maintenant à quelque chose de plus complexe. Nous allons créer un calculateur de notes qui détermine non seulement la note littérale mais ajoute aussi un plus ou un moins.

#include <stdio.h>

int main() {
int score = 85;

if (score >= 90) {
if (score >= 97) {
printf("A+\n");
} else if (score >= 93) {
printf("A\n");
} else {
printf("A-\n");
}
} else if (score >= 80) {
if (score >= 87) {
printf("B+\n");
} else if (score >= 83) {
printf("B\n");
} else {
printf("B-\n");
}
} else if (score >= 70) {
if (score >= 77) {
printf("C+\n");
} else if (score >= 73) {
printf("C\n");
} else {
printf("C-\n");
}
} else if (score >= 60) {
if (score >= 67) {
printf("D+\n");
} else if (score >= 63) {
printf("D\n");
} else {
printf("D-\n");
}
} else {
printf("F\n");
}

return 0;
}

Ce programme détermine d'abord la gamme de notes générales (A, B, C, D ou F), puis utilise des déclarations conditionnelles imbriquées pour ajouter le plus ou le moins approprié. C'est comme une poupée russe de notes !

Exemple 3 : Jeu d'aventure simple

Pour nous amuser un peu, créons un jeu d'aventure textuel simple utilisant des déclarations conditionnelles imbriquées.

#include <stdio.h>

int main() {
char direction;
printf("Vous êtes à un carrefour. Choisissez de gå à gauche (L) ou à droite (R) ? ");
scanf(" %c", &direction);

if (direction == 'L' || direction == 'l') {
printf("Vous avez choisi de gå à gauche.\n");
printf("Vous voyez une rivière. Faut-il nager (S) ou chercher un pont (B) ? ");
scanf(" %c", &direction);

if (direction == 'S' || direction == 's') {
printf("Vous nagez et trouvez un coffre au trésor. Vous gagnez!\n");
} else if (direction == 'B' || direction == 'b') {
printf("Vous trouvez un pont, traversez en toute sécurité, mais trouvez pas de trésor. Fin du jeu.\n");
} else {
printf("Choix invalide. La rivière vous emporte. Fin du jeu.\n");
}
} else if (direction == 'R' || direction == 'r') {
printf("Vous avez choisi de gå à droite.\n");
printf("Vous rencontrez un dragon. Faut-il combattre (F) ou fuir (R) ? ");
scanf(" %c", &direction);

if (direction == 'F' || direction == 'f') {
printf("Vous combattez bravement le dragon et vous gagnez ! Vous êtes un héros!\n");
} else if (direction == 'R' || direction == 'r') {
printf("Vous fuyez en toute sécurité, mais sans gloire. Fin du jeu.\n");
} else {
printf("Choix invalide. Le dragon vous mange. Fin du jeu.\n");
}
} else {
printf("Choix invalide. Vous restez immobile et rien ne se passe. Fin du jeu.\n");
}

return 0;
}

Ce jeu utilise des déclarations conditionnelles imbriquées pour créer différents chemins basés sur les choix du joueur. C'est une démonstration simple de la manière dont les déclarations conditionnelles imbriquées peuvent créer des récits ou des arbres de décision.

Exemple 4 : Système de connexion

Pour notre dernier exemple, créons un système de connexion de base qui vérifie à la fois le nom d'utilisateur et le mot de passe.

#include <stdio.h>
#include <string.h>

int main() {
char username[20];
char password[20];

printf("Entrez le nom d'utilisateur : ");
scanf("%s", username);

if (strcmp(username, "admin") == 0) {
printf("Entrez le mot de passe : ");
scanf("%s", password);

if (strcmp(password, "secretpassword") == 0) {
printf("Connexion réussie. Bienvenue, admin!\n");
} else {
printf("Mot de passe incorrect. Accès refusé.\n");
}
} else if (strcmp(username, "user") == 0) {
printf("Entrez le mot de passe : ");
scanf("%s", password);

if (strcmp(password, "userpass") == 0) {
printf("Connexion réussie. Bienvenue, user!\n");
} else {
printf("Mot de passe incorrect. Accès refusé.\n");
}
} else {
printf("Nom d'utilisateur non trouvé. Accès refusé.\n");
}

return 0;
}

Dans cet exemple, nous vérifions d'abord le nom d'utilisateur. Si il correspond à "admin" ou "user", nous vérifions ensuite le mot de passe correspondant. Cela démontre comment les déclarations conditionnelles imbriquées peuvent être utilisées pour mettre en œuvre des systèmes d'authentification multi-niveaux.

Conclusion

Les déclarations conditionnelles imbriquées sont un outil puissant dans votre boîte à outils de programmation. Elles vous permettent de créer des structures de décision complexes et de gérer plusieurs conditions avec facilité. Souvenez-vous, bien que它们 soient extrêmement utiles, faites attention à ne pas les imbriquer trop profondément, car cela peut rendre votre code difficile à lire et à entretenir. Comme pour de nombreuses choses en programmation, la clarté et la simplicité sont essentielles !

J'espère que ce tutoriel vous a aidé à mieux comprendre les déclarations conditionnelles imbriquées. Continuez à pratiquer, et bientôt vous serez capable de imbriquer des conditions comme un pro ! Bonne programmation, futurs programmeurs !

Credits: Image by storyset