C ++ If ... else (met voorbeelden)

In deze tutorial zullen we leren over de if… else-verklaring om besluitvormingsprogramma's te maken met behulp van voorbeelden.

Bij computerprogrammering gebruiken we de ifinstructie om een ​​blokcode alleen uit te voeren als aan een bepaalde voorwaarde is voldaan.

Bijvoorbeeld het toekennen van cijfers (A, B, C) op basis van cijfers behaald door een student.

  • als het percentage hoger is dan 90 , geef dan rang A
  • als het percentage hoger is dan 75 , geef dan rang B
  • als het percentage boven de 65 ligt , rang C toekennen

Er zijn drie soorten if… elseverklaringen in C ++.

  1. if uitspraak
  2. if… else uitspraak
  3. if… else if… else uitspraak

C ++ if Statement

De syntaxis van de ifinstructie is:

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

De ifinstructie evalueert conditionde tussen haakjes ( ).

  • Als het conditionevalueert naar true, wordt de code in de body van ifuitgevoerd.
  • Als het conditionevalueert naar false, wordt de code in de body van ifovergeslagen.

Opmerking: de code erin ( )is de hoofdtekst van de ifinstructie.

Werking van C ++ if Statement

Voorbeeld 1: C ++ if-instructie

 // 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; )

Uitgang 1

 Voer een geheel getal in: 5 U hebt een positief getal ingevoerd: 5 Deze instructie wordt altijd uitgevoerd.

Wanneer de gebruiker invoert 5, wordt de voorwaarde number> 0geëvalueerd trueen wordt de instructie in de hoofdtekst ifuitgevoerd.

Uitgang 2

 Voer een getal in: -5 Deze instructie wordt altijd uitgevoerd.

Wanneer de gebruiker invoert -5, wordt de voorwaarde number> 0geëvalueerd falseen wordt de instructie in de body van ifniet uitgevoerd.

C ++ als… anders

De ifinstructie kan een optionele elseclausule hebben. De syntaxis is:

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

De if… elseinstructie evalueert de conditionbinnenkant van de haakjes.

Werken met C ++ als… anders

Als het conditionevalueert true,

  • de code in de body van ifwordt uitgevoerd
  • de code in de body van elsewordt niet uitgevoerd

Als het conditionevalueert false,

  • de code in de body van elsewordt uitgevoerd
  • de code in de body van ifwordt niet uitgevoerd

Voorbeeld 2: C ++ if… else-instructie

 // 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; )

Uitgang 1

 Voer een geheel getal in: 4 U hebt een positief geheel getal ingevoerd: 4. Deze regel wordt altijd afgedrukt.

In het bovenstaande programma hebben we de aandoening number>= 0. Als we het getal groter dan of gelijk aan 0 invoeren, evalueert de voorwaarde true.

Hier voeren we 4 in. Dus de voorwaarde is true. Daarom wordt de instructie in de body van ifuitgevoerd.

Uitgang 2

Voer een geheel getal in: -4 U hebt een negatief geheel getal ingevoerd: -4. Deze regel wordt altijd geprint.

Hier voeren we -4 in. Dus de voorwaarde is false. Daarom wordt de instructie in de body van elseuitgevoerd.

C ++ if… else… else if-instructie

De if… elseinstructie wordt gebruikt om een ​​codeblok tussen twee alternatieven uit te voeren. Als we echter een keuze moeten maken tussen meer dan twee alternatieven, gebruiken we de if… else if… elseverklaring.

De syntaxis van de if… else if… elseinstructie is:

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

Hier,

  • Als condition1resulteert in true, code block 1wordt de uitgevoerd.
  • Als condition1evalueert tot false, condition2wordt geëvalueerd.
  • Als dit het geval condition2is true, code block 2wordt de uitgevoerd.
  • Als dit het geval condition2is false, code block 3wordt de uitgevoerd.
Hoe als… anders als… anders Verklaring werkt

Opmerking: er kunnen meer dan één else ifverklaring zijn, maar slechts één ifen elseverklaringen.

Voorbeeld 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; )

Uitgang 1

 Voer een geheel getal in: 1 U hebt een positief geheel getal ingevoerd: 1. Deze regel wordt altijd afgedrukt.

Uitgang 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

In bepaalde situaties kan een ternaire operator een if… elseinstructie vervangen . Ga voor meer informatie naar C ++ Ternary Operator.

Als we op basis van een bepaalde testconditie een keuze moeten maken tussen meer dan één alternatief, kan de switchstelling worden gebruikt. Ga voor meer informatie naar C ++ switch.

Bekijk deze voorbeelden voor meer informatie:

C ++ - programma om te controleren of het getal even of oneven is

C ++ programma om te controleren of een personage een klinker of medeklinker is.

C ++ - programma om het grootste aantal van de drie nummers te vinden

Interessante artikelen...