Συνθήκες (Conditions)
Με τις συνθήκες μπορείτε να ελέγξετε τη ροή του προγράμματος ανάλογα με το αν η συνθήκη ισχύει ή όχι.
Στη C++ μπορείτε να χρησιμοποιήσετε διαφορετικές προτάσεις-συνθήκες ανάλογα με την περίπτωση όπως θα δούμε στη συνέχεια.
Η πρόταση if
Η σύνταξη της πρότασης είναι:
if(συνθήκη) { ... }
Αν η συνθήκη ικανοποιείται, τότε ο κώδικας μέσα στα άγκιστρα εκτελείται, διαφορετικά αγνοείται και το πρόγραμμα συνεχίζει με τις εντολές που ακολουθούν.
#include <iostream> using namespace std; int main() { int n = 17; if (n%2 == 1) { cout << "Ο αριθμός είναι μονός"; } return 0; }
Διάγραμμα ροής (flow chart) για την εντολή if.

Η πρόταση if ... else
Η σύνταξη της πρότασης είναι:
if(συνθήκη) { ... } else { ... }
Αν η συνθήκη ικανοποιείται τότε εκτελείται ο κώδικας στο μπλοκ if, διαφορετικά εκτελείται το μπλοκ else.
Σε κάθε περίπτωση θα πρέπει να εκτελεστεί οπωσδήποτε ένα από τα δύο μπλοκ, ή το if ή το else.
#include <iostream> using namespace std; int main() { int n = 17; if (n%2 == 1) { cout << "Ο αριθμός είναι μονός"; } else { cout << "Ο αριθμός είναι ζυγός"; } return 0; }
Διάγραμμα ροής (flow chart) για την εντολή if else.

Η πρόταση if...else if...else
Μπορείτε να έχετε συνθήκες if...else σε ένθεση
Η σύνταξη της πρότασης είναι:
if (συνθήκη1) { ... } else if (συνθήκη2) { ... } else { ... }
#include <iostream> using namespace std; int main() { unsigned int n = 17; if(n < 10) { cout << "ο αριθμός είναι μονοψήφιος\n"; } else if (n > 9 && n < 100) { cout << "Ο αριθμός είναι διψήφιος\n"; } else { cout << "Ο αριθμός είναι πολυψήφιος\n"; } return 0; }
Διάγραμμα ροής (flow chart) για την εντολή if else if.

Η πρόταση switch
Μπορείτε να επιλέξετε μία επιλογή από μια σειρά περιπτώσεων (cases)
Η σύνταξη της πρότασης είναι:
switch(n) { case 1: ... break; case 2: ... break; case 3: ... break; default: ... }
Ανάλογα με την τιμή ('A' - 'F') εκτελείται και το αντίστοιχο μπλοκ. Στο τέλος κάθε μπλοκ πρέπει να υπάρχει η εντολή break. Επίσης, το τελευταίο μπλοκ είναι το default και εκτελείται όταν δεν βρεθεί αντίστοιχη τιμή case.
Αν για παράδειγμα η μεταβλητή grade έχει την τιμή 'W', τότε θα εκτελεστεί το μπλοκ default: αφού δεν υπάρχει case με τιμή 'W'.
#include <iostream> using namespace std; int main () { char grade = 'B'; switch(grade) { case 'A' : cout << "Άριστα!"; break; case 'B' : cout << "Πολύ καλά\n"; break; case 'C' : cout << "Καλά\n"; break; case 'D' : cout << "Μέτρια\n"; break; case 'F' : cout << "Αποτυχία\n"; break; default : cout << "Μη έγκυρος βαθμός\n"; } return 0; }