C ++ Εάν ... αλλιώς (με παραδείγματα)

Σε αυτό το σεμινάριο, θα μάθουμε για τη δήλωση αν… αλλιώς για τη δημιουργία προγραμμάτων λήψης αποφάσεων με τη βοήθεια παραδειγμάτων.

Στον προγραμματισμό υπολογιστών, χρησιμοποιούμε τη ifδήλωση για να εκτελέσουμε έναν μπλοκ κώδικα μόνο όταν πληρούται μια συγκεκριμένη συνθήκη.

Για παράδειγμα, η ανάθεση βαθμών (A, B, C) βάσει των βαθμολογιών που έχει αποκτήσει ένας μαθητής.

  • εάν το ποσοστό είναι πάνω από 90 , εκχωρήστε τον βαθμό Α
  • αν το ποσοστό είναι πάνω από 75 , ορίστε το βαθμό Β
  • εάν το ποσοστό είναι πάνω από 65 , ορίστε το βαθμό Γ

Υπάρχουν τρεις μορφές if… elseδηλώσεων στο C ++.

  1. if δήλωση
  2. if… else δήλωση
  3. if… else if… else δήλωση

C ++ εάν Δήλωση

Η σύνταξη της ifδήλωσης είναι:

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

Η ifδήλωση αξιολογεί το conditionεσωτερικό των παρενθέσεων ( ).

  • Εάν το conditionαξιολογηθεί true, ifεκτελείται ο κωδικός μέσα στο σώμα του .
  • Εάν conditionαξιολογηθεί false, ο κωδικός μέσα στο σώμα ifπαραλείπεται.

Σημείωση: Ο κωδικός μέσα ( )είναι το κύριο μέρος της ifδήλωσης.

Εργασία του C ++ εάν Δήλωση

Παράδειγμα 1: C ++ εάν Δήλωση

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

Έξοδος 1

 Εισαγάγετε έναν ακέραιο: 5 Εισαγάγατε έναν θετικό αριθμό: 5 Αυτή η δήλωση εκτελείται πάντα.

Όταν ο χρήστης μπαίνει 5, η συνθήκη number> 0αξιολογείται trueκαι ifεκτελείται η δήλωση μέσα στο σώμα .

Έξοδος 2

 Εισαγάγετε έναν αριθμό: -5 Αυτή η δήλωση εκτελείται πάντα.

Όταν ο χρήστης εισέλθει -5, η συνθήκη number> 0αξιολογείται falseκαι η δήλωση μέσα στο σώμα ifδεν εκτελείται.

C ++ αν… αλλιώς

Η ifδήλωση μπορεί να έχει μια προαιρετική elseρήτρα. Η σύνταξή του είναι:

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

Η if… elseδήλωση αξιολογεί το conditionεσωτερικό της παρένθεσης.

Εργασία του C ++ εάν… αλλιώς

Εάν οι conditionαξιολογήσεις true,

  • ifεκτελείται ο κωδικός μέσα στο σώμα του
  • ο κωδικός μέσα στο σώμα elseπαραλείπεται από την εκτέλεση

Εάν οι conditionαξιολογήσεις false,

  • elseεκτελείται ο κωδικός μέσα στο σώμα του
  • ο κωδικός μέσα στο σώμα ifπαραλείπεται από την εκτέλεση

Παράδειγμα 2: C ++ εάν… αλλιώς Δήλωση

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

Έξοδος 1

 Εισαγάγετε έναν ακέραιο: 4 Εισαγάγατε έναν θετικό ακέραιο: 4. Αυτή η γραμμή εκτυπώνεται πάντα.

Στο παραπάνω πρόγραμμα, έχουμε την προϋπόθεση number>= 0. Εάν εισαγάγουμε τον αριθμό μεγαλύτερο ή ίσο με 0, τότε η συνθήκη αξιολογείται true.

Εδώ, μπαίνουμε στο 4. Έτσι, η προϋπόθεση είναι true. Ως εκ τούτου, η δήλωση μέσα στο σώμα του ifεκτελείται.

Έξοδος 2

Εισαγάγετε έναν ακέραιο: -4 Εισαγάγατε έναν αρνητικό ακέραιο: -4. Αυτή η γραμμή είναι πάντα τυπωμένη.

Εδώ, μπαίνουμε στο -4. Έτσι, η κατάσταση είναι false. Ως εκ τούτου, η δήλωση μέσα στο σώμα του elseεκτελείται.

C ++ εάν… αλλιώς… αλλιώς εάν δήλωση

Η if… elseδήλωση χρησιμοποιείται για την εκτέλεση ενός μπλοκ κώδικα μεταξύ δύο εναλλακτικών λύσεων. Ωστόσο, εάν χρειαστεί να κάνουμε μια επιλογή μεταξύ περισσότερων από δύο εναλλακτικών, χρησιμοποιούμε τη if… else if… elseδήλωση.

Η σύνταξη της if… else if… elseδήλωσης είναι:

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

Εδώ,

  • Εάν condition1αξιολογηθεί true, code block 1εκτελείται.
  • Εάν condition1αξιολογηθεί false, τότε condition2αξιολογείται.
  • Εάν condition2είναι true, code block 2εκτελείται.
  • Εάν condition2είναι false, code block 3εκτελείται.
Πώς αν… αλλιώς αν… αλλιώς λειτουργεί η δήλωση

Σημείωση: Μπορεί να υπάρχουν περισσότερες από μία else ifδηλώσεις αλλά μόνο μία ifκαι elseδηλώσεις.

Παράδειγμα 3: C ++ εάν… αλλιώς… αλλιώς εάν

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

Έξοδος 1

 Εισαγάγετε έναν ακέραιο: 1 Εισαγάγατε έναν θετικό ακέραιο: 1. Αυτή η γραμμή εκτυπώνεται πάντα.

Έξοδος 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

Σε ορισμένες περιπτώσεις, ένας τριμερής χειριστής μπορεί να αντικαταστήσει μια if… elseδήλωση. Για να μάθετε περισσότερα, επισκεφτείτε το C ++ Ternary Operator.

Εάν πρέπει να κάνουμε μια επιλογή μεταξύ περισσότερων από μία εναλλακτικών βάσει μιας δεδομένης συνθήκης δοκιμής, switchμπορεί να χρησιμοποιηθεί η δήλωση. Για να μάθετε περισσότερα, επισκεφτείτε το διακόπτη C ++.

Δείτε αυτά τα παραδείγματα για να μάθετε περισσότερα:

Πρόγραμμα C ++ για να ελέγξετε αν ο αριθμός είναι ζυγός ή μονός

Πρόγραμμα C ++ για να ελέγξετε αν ένας χαρακτήρας είναι φωνήεν ή σύμφωνος.

Πρόγραμμα C ++ για εύρεση μεγαλύτερου αριθμού μεταξύ τριών αριθμών

ενδιαφέροντα άρθρα...