Συνθήκες (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;
}
Ο αριθμός 17 είναι μονός

Διάγραμμα ροής (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;
}
Ο αριθμός 17 είναι διψήφιος

Διάγραμμα ροής (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;
}
Πολύ καλά