Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

C++ if, if...else et Nested if...else

C++ if, if...else et Nested if...else

Dans ce didacticiel, nous allons découvrir l'instruction if...else pour créer des programmes de prise de décision à l'aide d'exemples.

En programmation informatique, on utilise le if...else pour exécuter un bloc de code dans certaines conditions et un autre bloc de code dans des conditions différentes.

Par exemple, attribuer des notes (A, B, C) en fonction des notes obtenues par un étudiant.

Il existe trois formes de if...else instructions en C++.

  1. if déclaration
  2. if...else déclaration
  3. if...else if...else déclaration

Instruction if C++

La syntaxe du if déclaration est :

if (condition) {
  // body of if statement
}

Le if instruction évalue le condition entre parenthèses ( ) .

  • Si le condition évalue à true , le code à l'intérieur du corps de if est exécuté.
  • Si le condition évalue à false , le code à l'intérieur du corps de if est ignoré.

Remarque : Le code à l'intérieur de { } est le corps du if déclaration.

Exemple 1 :C++ if Statement

// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  // checks if the number is positive
  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  }

  cout << "This statement is always executed.";

  return 0;
}

Sortie 1

Enter an integer: 5
You entered a positive number: 5
This statement is always executed.

Lorsque l'utilisateur saisit 5 , la condition number > 0 est évalué à true et la déclaration à l'intérieur du corps de if est exécuté.

Sortie 2

Enter a number: -5
This statement is always executed.

Lorsque l'utilisateur saisit -5 , la condition number > 0 est évalué à false et la déclaration à l'intérieur du corps de if n'est pas exécuté.

C++ si... sinon

Le if l'instruction peut avoir un else facultatif clause. Sa syntaxe est :

if (condition) {
  // block of code if condition is true
}
else {
  // block of code if condition is false
}

Le if..else instruction évalue le condition entre parenthèses.

Si le condition évalue true ,

  • le code à l'intérieur du corps de if est exécuté
  • le code dans le corps de else est ignoré de l'exécution

Si le condition évalue false ,

  • le code dans le corps de else est exécuté
  • le code à l'intérieur du corps de if est ignoré de l'exécution

Exemple 2 :C++ if...else Statement

// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number >= 0) {
    cout << "You entered a positive integer: " << number << endl;
  }
  else {
    cout << "You entered a negative integer: " << number << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Sortie 1

Enter an integer: 4
You entered a positive integer: 4.
This line is always printed.

Dans le programme ci-dessus, nous avons la condition number >= 0 . Si nous saisissons le nombre supérieur ou égal à 0 , alors la condition évalue true .

Ici, nous entrons 4 . Donc, la condition est true . Par conséquent, la déclaration à l'intérieur du corps de if est exécuté.

Sortie 2

Enter an integer: -4
You entered a negative integer: -4.
This line is always printed.

Ici, nous entrons -4 . Donc, la condition est false . Par conséquent, la déclaration à l'intérieur du corps de else est exécuté.

Instruction C++ if...else...else if

Le if...else instruction est utilisée pour exécuter un bloc de code parmi deux alternatives. Cependant, si nous devons faire un choix entre plus de deux alternatives, nous utilisons le if...else if...else déclaration.

La syntaxe du if...else if...else déclaration est :

if (condition1) {
  // code block 1
}
else if (condition2){
  // code block 2
}
else {
  // code block 3
}

Ici,

  • Si condition1 évalue à true , le code block 1 est exécuté.
  • Si condition1 évalue à false , puis condition2 est évalué.
  • Si condition2 est true , le code block 2 est exécuté.
  • Si condition2 est false , le code block 3 est exécuté.

Remarque : Il peut y avoir plus d'un else if mais un seul if et else déclarations.

Exemple 3 :C++ si...sinon...sinon si

// Program to check whether an integer is positive, negative or zero

#include <iostream>
using namespace std;

int main() {

  int number;

  cout << "Enter an integer: ";
  cin >> number;

  if (number > 0) {
    cout << "You entered a positive integer: " << number << endl;
  } 
  else if (number < 0) {
    cout << "You entered a negative integer: " << number << endl;
  } 
  else {
    cout << "You entered 0." << endl;
  }

  cout << "This line is always printed.";

  return 0;
}

Sortie 1

Enter an integer: 1
You entered a positive integer: 1.
This line is always printed.

Sortie 2

Enter an integer: -2
You entered a negative integer: -2.
This line is always printed.

Sortie 3

Enter an integer: 0
You entered 0.
This line is always printed.

Dans ce programme, nous prenons un numéro de l'utilisateur. On utilise alors le if...else if...else échelle pour vérifier si le nombre est positif, négatif ou zéro.

Si le nombre est supérieur à 0 , le code à l'intérieur du if bloc est exécuté. Si le nombre est inférieur à 0 , le code à l'intérieur du else if bloc est exécuté. Sinon, le code à l'intérieur du else bloc est exécuté.

C++ imbriqué si...else

Parfois, nous devons utiliser un if déclaration à l'intérieur d'un autre if déclaration. C'est ce qu'on appelle if imbriqué déclaration.

Considérez-le comme plusieurs couches de if déclarations. Il y a un premier if extérieur déclaration, et à l'intérieur se trouve un autre if interne déclaration. Sa syntaxe est :

// outer if statement
if (condition1) {

  // statements

  // inner if statement
  if (condition2) {
    // statements
  }
}

Remarques :

  • Nous pouvons ajouter else et else if déclarations à l'intérieur if déclaration au besoin.
  • Le if intérieur l'instruction peut également être insérée à l'intérieur du else extérieur ou else if déclarations (si elles existent).
  • Nous pouvons imbriquer plusieurs couches de if déclarations.

Exemple 4 :C++ imbriqué si

// C++ program to find if an integer is positive, negative or zero
// using nested if statements

#include <iostream>
using namespace std;

int main() {

  int num;
    
  cout << "Enter an integer: ";  
   cin >> num;    

  // outer if condition
  if (num != 0) {
        
    // inner if condition
    if (num > 0) {
      cout << "The number is positive." << endl;
    }
    // inner else condition
    else {
      cout << "The number is negative." << endl;
    }  
  }
  // outer else condition
  else {
    cout << "The number is 0 and it is neither positive nor negative." << endl;
  }

  cout << "This line is always printed." << endl;

  return 0;
}

Sortie 1

Enter an integer: 35
The number is positive.
This line is always printed.

Sortie 2

Enter an integer: -35
The number is negative.
This line is always printed.

Sortie 3

Enter an integer: 0
The number is 0 and it is neither positive nor negative.
This line is always printed.

Dans l'exemple ci-dessus,

  • Nous prenons un entier comme entrée de l'utilisateur et le stockons dans la variable num .
  • Nous utilisons alors un if...else instruction pour vérifier si num n'est pas égal à 0 .
    • Si true , puis l'intérieur if...else l'instruction est exécutée.
    • Si false , le code à l'intérieur de l'extérieur else la condition est exécutée, ce qui imprime "The number is 0 and it is neither positive nor negative."
  • L'intérieur if...else l'instruction vérifie si le nombre d'entrée est positif, c'est-à-dire si num est supérieur à 0 .
    • Si true , puis nous imprimons une déclaration disant que le nombre est positif.
    • Si false , on imprime que le nombre est négatif.

Remarque : Comme vous pouvez le voir, if...else imbriqué rend votre logique compliquée. Si possible, vous devriez toujours essayer d'éviter les if...else imbriqués .

Corps de if...else avec une seule instruction

Si le corps de if...else n'a qu'une seule instruction, vous pouvez omettre { } dans le programme. Par exemple, vous pouvez remplacer

int number = 5;

if (number > 0) {
  cout << "The number is positive." << endl;
}
else {
  cout << "The number is negative." << endl;
}

avec

int number = 5;

if (number > 0)
  cout << "The number is positive." << endl;
else
  cout << "The number is negative." << endl;

La sortie des deux programmes sera la même.

Remarque : Bien qu'il ne soit pas nécessaire d'utiliser { } si le corps de if...else n'a qu'une seule instruction, utilisant { } rend votre code plus lisible.

En savoir plus sur la prise de décision

Dans certaines situations, un opérateur ternaire peut remplacer un if...else déclaration. Pour en savoir plus, consultez Opérateur ternaire C++.

Si nous devons faire un choix entre plusieurs alternatives en fonction d'une condition de test donnée, le switch déclaration peut être utilisée. Pour en savoir plus, visitez le commutateur C++.

Consultez ces exemples pour en savoir plus :

Programme C++ pour vérifier si le nombre est pair ou impair

Programme C++ pour vérifier si un caractère est une voyelle ou une consonne.

Programme C++ pour trouver le plus grand nombre parmi trois nombres


Langue C

  1. Classes et objets C++
  2. Gestion de la mémoire C++ :création et suppression
  3. Héritage C++ public, protégé et privé
  4. Fonction amie C++ et classes amies
  5. Instruction Python, indentation et commentaires
  6. Classe imbriquée et interne Java
  7. Date et heure C++
  8. Surcharge C++ (opérateur et fonction)
  9. Fichiers et flux C++