ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΑΤΙΣΜΟΣ Α (C++) ΤΜΗΜΑ ΑΥΤΟΜΑΤΙΣΤΩΝ Δρ. Νικόλαος Ζ. Ζάχαρης 1) Να δημιουργήσετε ένα νέο project όπου θα πληκτρολογείται 2 ακεραίους αριθμούς και θα υπολογίζεται αν και οι δύο αριθμοί ανήκουν στο διάστημα 1 έως 10. int x, y; cout << "Type two integer numbers : "; cin >> x >> y; if ((x > 1) && (x < 10)) if((y > 1) && (y < 10)) cout << "Both numbers belong to the group"; cout << "X belongs to the group but not Y; cout << "X does not belong"; if((y > 1) && (y < 10)) cout << "but y belongs to the group"; cout << "and Y does not belong"; Να δώσετε έμφαση : α) Το cin μπορεί να χρησιμοποιηθεί ώστε να αποδώσουμε δύο ή περισσότερες τιμές. β) Μπορούμε να έχουμε απεριόριστα εμφωλιασμένα (nested) if. γ) Να προσέξετε ότι η εργασία του υπολογισμού του Υ επαναλαμβάνεται δύο φορές μέσα στο πρόγραμμα. Όπως θα μάθουμε στα επόμενα μαθήματα οι συναρτήσεις μας επιτρέπουν να αποφεύγουμε την διπλή εργασία με αποτέλεσμα τον καλύτερο έλεγχο των σφαλμάτων στην ανάπτυξη του κώδικα. 1.1) Να επαναλάβετε την ανωτέρω εργασία με την χρήση του switch.
int x, y; int ypola, ypolb, sum; cout << "Type two integer numbers : "; cin >> x >> y; ypola = (x > 1) && (x < 10); ypolb = (y > 1) && (y < 10); sum = ypola + ypolb; switch(sum) case 0 : cout << "Both numbers does not belong to the group" << endl; case 2 : cout << "Both numbers belong to the group" << endl; default : if(ypola == 1) cout << "X belongs but not Y". cout << "Y belongs but not X". Να δώσετε έμφαση : α) H C++ δεν έχει λογική μεταβλητή (boolean) αλλά αντί αυτού χρησιμοποιεί το 0 σαν FALSE και οποιαδήποτε τιμή διάφορη του 0 σαν TRUE. β) Το ίδιο αποτέλεσμα θα είχαμε αν αντί του if(ypola == 1) γράφαμε if(ypola) 2) Να δημιουργήσετε ένα νέο project όπου θα πληκτρολογείτε την βαθμολογία ενός μαθητή από το 1 μέχρι το 10. Αν η βαθμολογία είναι από 9 έως 10 να εμφανίζετε το μήνυμα συγχαρητήρια. Από 7 έως 8 να εμφανίζετε το μήνυμα αρκετά καλά. Από 5 έως 6 να εμφανίζετε το μήνυμα καλά. Από 1 έως 4 να εμφανίζετε το μήνυμα αποτυχία.
int A; cout << "Type an integet number (0..10) : "; cin >> A; if ((A <= 10) && (A >= 9)) cout << "Congratulation"; if ((A <= 8) && (A >= 7)) cout << "Very Good"; if ((A <= 6) && (A >= 5)) cout << "Good"; cout << "Failure"; 3) Να δημιουργήσετε ένα πρόγραμμα φορολογίας το οποίο θα δέχεται έναν πραγματικό αριθμό ο οποίος αντιστοιχεί στο εισόδημα ενός πολίτη και υπολογίζει το φόρο όπως παρακάτω : Έως 1000 Ευρό, ο φόρος είναι 0 Από 1000 μέχρι 2000 Ευρό, ο φόρος είναι 200 Ευρό. Από 2000 μέχρι 3000 ο φόρος είναι 15 % του εισοδήματος πέραν των 2000 Ευρό Για μεγαλύτερα ποσά είναι 25 % του εισοδήματος, πέραν των 3000 Ευρό. Επεξήγηση Για εισόδημα < 1000 Τότε ο φόρος είναι 0 Για εισόδημα < 2000 ο φόρος είναι 200 Ευρό. Για εισόδημα < 3000 ο φόρος είναι : 200 γιατί αυτό το ποσό πληρώνει κάποιος για εισόδημα μέχρι 2000 Ευρό (Εισόδημα - 2000) * 0.15 Για εισόδημα > 3000 ο φόρος είναι : 200 γιατί αυτό το ποσό πληρώνει κάποιος για εισόδημα μέχρι 2000 Ευρό
(1000) * 0.15, Το 1000 είναι η διαφορά από 2000 έως 3000 (Εισόδημα 3000) * 0.25 float money, tax; cout << "Type your income : "; cin >> money; if(money < 1000) tax = 0; if(money < 2000) tax = 200; if(money < 3000) tax = 0 + 200 + ((money - 2000) * 0.15); tax = 0 + 200 + (1000 * 0.15) + ((money - 3000) * 0.25); cout << "Tax = " << tax; 4) Να δημιουργήσετε ένα νέο project όπου θα πληκτρολογείται ένα χαρακτήρα. Αν o χαρακτήρας είναι Α τότε να εμφανίζετε το μήνυμα "Excellent", αν είναι το Β να εμφανίζετε το μήνυμα "Good", αν είναι το C να εμφανίζετε το μήνυμα OK", αν είναι το D να εμφανίζετε το μήνυμα "You Failed., διαφορετικά να εμφανίζετε το μήνυμα "Wrong character." Η υλοποίηση θα γίνει με χρήση της switch int main(int argc, char *argv[]) char Grade; cout << "Type your grade : ";
cin >> Grade; switch( Grade ) case 'A' : cout << "Excellent" ; case 'B' : cout << "Good" ; case 'C' : cout << "OK" ; case 'D' : cout << "You Failed." ; default : cout << "Wrong character."; cout << endl; 5) Να δημιουργήσετε ένα νέο project όπου θα πληκτρολογείται ένα ακέραιο αριθμό. Αν ο αριθμός δεν είναι μέσα στο διάστημα 1..7 να εμφανίζετε το μήνυμα Wrong number, διαφορετικά να εμφανίζετε η ημέρα που αντιστοιχεί στο κάθε αριθμό π.χ. 1 Μonday 2 Tuesday 3 Wednesday 4 Thursday 5 Friday 6 Saturday 7 - Sunday Η υλοποίηση θα γίνει με χρήση των εντολών if και switch int main(int argc, char *argv[]) int day; cout << "Type a number 1..7 : "; cin >> day; if ((day < 1) (day > 7)) cout << "Wrong number"; switch(day) case 1 : cout << "Monday"; case 2 : cout << "Tuesday"; case 7 : printf("sunday");