C ++ Dacă ... altfel (cu exemple)

În acest tutorial, vom afla despre declarația if … else pentru a crea programe de luare a deciziilor cu ajutorul unor exemple.

În programarea computerului, folosim ifdeclarația pentru a rula un cod de bloc numai atunci când este îndeplinită o anumită condiție.

De exemplu, atribuirea notelor (A, B, C) pe baza notelor obținute de un elev.

  • dacă procentul este peste 90 , atribuiți nota A
  • dacă procentul este peste 75 , atribuiți nota B
  • dacă procentul este peste 65 , atribuiți nota C

Există trei forme de if… elsedeclarații în C ++.

  1. if afirmație
  2. if… else afirmație
  3. if… else if… else afirmație

Declarație C ++ if

Sintaxa ifdeclarației este:

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

ifDeclarația evaluează conditioninteriorul paranteze ( ).

  • Dacă conditionevaluează la true, codul din interiorul corpului ifeste executat.
  • Dacă conditionevaluează la false, codul din interiorul corpului ifeste omis.

Notă: Codul din interior ( )este corpul ifdeclarației.

Funcționarea instrucțiunii C ++ if

Exemplul 1: Instrucțiune C ++ if

 // Program to print positive number entered by the user // If the user enters a negative number, it is skipped #include using namespace std; int main() ( int number; cout <> 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; )

Ieșire 1

 Introduceți un număr întreg: 5 Ați introdus un număr pozitiv: 5 Această instrucțiune este întotdeauna executată.

Când utilizatorul intră 5, condiția number> 0este evaluată trueși declarația din corpul lui ifeste executată.

Ieșire 2

 Introduceți un număr: -5 Această instrucțiune este întotdeauna executată.

Când utilizatorul intră -5, condiția number> 0este evaluată falseși instrucțiunea din corpul lui ifnu este executată.

C ++ dacă … altfel

ifDeclarația poate avea opțional elseclauză. Sintaxa sa este:

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

if… elseDeclarația evaluează în conditioninteriorul paranteza.

Funcționarea C ++ dacă … altfel

Dacă conditionevaluează true,

  • ifse execută codul din interiorul corpului
  • codul din corpul lui elseeste omis de la executare

Dacă conditionevaluează false,

  • elsese execută codul din interiorul corpului
  • codul din corpul lui ifeste omis de la executare

Exemplul 2: Declarație C ++ if… else

 // Program to check whether an integer is positive or negative // This program considers 0 as a positive number #include using namespace std; int main() ( int number; cout <> 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; )

Ieșire 1

 Introduceți un număr întreg: 4 Ați introdus un număr întreg pozitiv: 4. Această linie este întotdeauna tipărită.

În programul de mai sus, avem condiția number>= 0. Dacă introducem numărul mai mare sau egal cu 0, atunci condiția se evaluează true.

Aici, introducem 4. Deci, condiția este true. Prin urmare, declarația din interiorul corpului ifeste executată.

Ieșire 2

Introduceți un număr întreg: -4 Ați introdus un număr întreg negativ: -4. Această linie este întotdeauna tipărită.

Aici, introducem -4. Deci, condiția este false. Prin urmare, declarația din interiorul corpului elseeste executată.

C ++ if … else … else if statement

Instrucțiunea if… elseeste utilizată pentru a executa un bloc de cod printre două alternative. Cu toate acestea, dacă trebuie să facem o alegere între mai mult de două alternative, vom folosi if… else if… elseafirmația.

Sintaxa if… else if… elsedeclarației este:

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

Aici,

  • Dacă se condition1evaluează la true, code block 1este executat.
  • Dacă condition1evaluează la false, atunci condition2este evaluat.
  • Dacă condition2este true, code block 2se execută.
  • Dacă condition2este false, code block 3se execută.
Cum dacă … altfel dacă … altfel Declarația funcționează

Notă: pot exista mai multe else ifdeclarații, dar numai una ifși elseinstrucțiuni.

Exemplul 3: C ++ if … else … else if

 // Program to check whether an integer is positive, negative or zero #include using namespace std; int main() ( int number; cout <> 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; )

Ieșire 1

 Introduceți un număr întreg: 1 Ați introdus un număr întreg pozitiv: 1. Această linie este întotdeauna tipărită.

Ieșire 2

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

Output 3

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

In this program, we take a number from the user. We then use the if… else if… else ladder to check whether the number is positive, negative, or zero.

If the number is greater than 0, the code inside the if block is executed. If the number is less than 0, the code inside the else if block is executed. Otherwise, the code inside the else block is executed.

C++ Nested if… else

Sometimes, we need to use an if statement inside another if statement. This is known as nested if statement.

Think of it as multiple layers of if statements. There is a first, outer if statement, and inside it is another, inner if statement. Its syntax is:

 // outer if statement if (condition1) ( // statements // inner if statement if (condition2) ( // statements ) )

Notes:

  • We can add else and else if statements to the inner if statement as required.
  • The inner if statement can also be inserted inside the outer else or else if statements (if they exist).
  • We can nest multiple layers of if statements.

Example 4: C++ Nested if

 // C++ program to find if an integer is even or odd or neither (0) // using nested if statements #include using namespace std; int main() ( int num; cout <> num; // outer if condition if (num != 0) ( // inner if condition if ((num % 2) == 0) ( cout << "The number is even." << endl; ) // inner else condition else ( cout << "The number is odd." << endl; ) ) // outer else condition else ( cout << "The number is 0 and it is neither even nor odd." << endl; ) cout << "This line is always printed." << endl; )

Output 1

 Enter an integer: 34 The number is even. This line is always printed.

Output 2

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

Output 3

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

In the above example,

  • We take an integer as an input from the user and store it in the variable num.
  • We then use an if… else statement to check whether num is not equal to 0.
    • If true, then the inner if… else statement is executed.
    • If false, the code inside the outer else condition is executed, which prints "The number is 0 and neither even nor odd."
  • The inner if… else statement checks whether the input number is divisible by 2.
    • If true, then we print a statement saying that the number is even.
    • If false, we print that the number is odd.

Notice that 0 is also divisible by 2, but it is actually not an even number. This is why we first make sure that the input number is not 0 in the outer if condition.

Note: As you can see, nested if… else makes your logic complicated. If possible, you should always try to avoid nested if… else.

Body of if… else With Only One Statement

If the body of if… else has only one statement, you can omit ( ) in the program. For example, you can replace

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

with

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

The output of both programs will be the same.

Note: Although it's not necessary to use ( ) if the body of if… else has only one statement, using ( ) makes your code more readable.

More on Decision Making

În anumite situații, un operator ternar poate înlocui o if… elsedeclarație. Pentru a afla mai multe, vizitați C ++ Ternary Operator.

Dacă trebuie să facem o alegere între mai multe alternative pe baza unei condiții de test date, switchse poate folosi afirmația. Pentru a afla mai multe, accesați comutatorul C ++.

Consultați aceste exemple pentru a afla mai multe:

Program C ++ pentru a verifica dacă numărul este par sau impar

Program C ++ pentru a verifica dacă un personaj este vocal sau consonant.

Programul C ++ pentru a găsi cel mai mare număr dintre trei numere

Articole interesante...