Προγραµµατισµός Ι Εργαστήριο 4ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Σχετικά έγγραφα
Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 8ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 8 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 3ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 6ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 6 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 13ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 13 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 5ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραμματισμός Ι Εργαστήριο 9ο Ακαδ. Έτος ΕΡΓΑΣΤΗΡΙΟ 9 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

Προγραµµατισµός Ι ΕΡΓΑΣΤΗΡΙΟ 5 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

abistarakis PASS - Σωστή κατασκευή tgz και ονοµασία αρχείων

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 25/11/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 6/11/11, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσμία: Τετάρτη 23/11/2016, 21:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 4/11/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσμία: Τετάρτη 9/11/2016, 21:00

lab7: Συμβολοσειρές Συμβολοσειρές Ασφάλεια εισόδου Αναγνωσιμότητα κώδικα (σχόλια, στοίχιση, περιγραφικά ονόματα μεταβλητών, κτλ.)

lab2grades - Στη scanf υπολογίζετε τουλάχιστον 5 χαρακτήρες %5.2f προδιαγραφές που ζητούνται στην εκφώνηση. -

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: Τρίτη 10/11/2015, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 13/1/13, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/2016, 21:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

lab2 -Στην printf να βάζεις \n έτσι ώστε να αλλάζει γραµµή όποτε σου εµφανίζει κάποιο µήνυµα.

Sheet3_2. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές.

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσμία: 17/1/14, 22:00

Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 22/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 25/11/12, 22:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Τετάρτη 7/12/2016, 21:00

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

Εξοικείωση με το πρόγραμμα DEV C++ Επικοινωνία Χρήστη - Υπολογιστή

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΕΡΓΑΣΤΗΡΙΟ 1 ΕΙΣΑΓΩΓΗ ΣΤΗ C. Τµήµα Πληροφορικής και Τηλεπικοινωνιών

Απλά Προγράμματα. Βήματα: 1. Καθορισμός παράστασης δεδομένων στη μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 3/12/2018, 23:59

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Εξοικ Εξ ε οικ ίωση ε με το το πρόγ ραμμα πρόγ DEV C++ Επικοι Επικ νωνία οι Χρήσ Χρήστη τη Υπολ Υπο ογισ λ τή

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Δεν έστειλες την άσκηση 1, και αυτό που έστειλες ήταν σκέτο αρχείο, όχι το tgz που ζητούσε η εκφώνηση.

Κεφάλαιο 2.6: Είσοδος / Έξοδος εδοµένων, Μορφοποίηση εδοµένων Εξόδου. ( ιάλεξη 7) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΑΕΜ ή username. Sheet2

lab4grades Παράδοση ασκήσεων: -Όλα καλά Άσκηση 1η: -Σωστή 357 PASS

ΣΕΤ ΑΣΚΗΣΕΩΝ 1. Προθεσµία: 10/11/12, 22:00

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 10/12/2014, 22:00

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

- Σωστή χρήση του προσδιοριστή const για την σταθερά pi. Καλό θα ήταν επιλέξετε κεφαλαία γράµµατα για το όνοµα της σταθεράς.

Βαθμός Σχόλια. lab5 PASS PASS PASS PASS PASS. Οριακά PASS - Καλή δουλειά

ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

Σκοπός. Αλγεβρικοί και Λογικοί Υπολογισμοί στη PASCAL

ΕΡΓΑΣΤΗΡΙΟ 9: Συμβολοσειρές και Ορίσματα Γραμμής Εντολής

lab1: Εισαγωγή σε Linux

ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ - ΜΕΡΟΣ Γ'

Π. Σταθοπούλου ή Οµάδα Α (Φοιτητές µε µονό αριθµό Μητρώου ) ιδασκαλία : Παρασκευή 11πµ-13µµ ΗΛ7

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

Ασκήσεις σε Επαναληπτικούς Βρόχους και Συναρτήσεις. Επανάληψη για την ενδιάμεση εξέταση. (Διάλεξη 13)

lab2grades printf("calculus: %.4lf\n", calculus);

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τύποι δεδομένων ΤΥΠΟΙ ΔΕΔΟΜΕΝΩΝ ΠΡΑΞΕΙΣ ΜΕΤΑΒΛΗΤΕΣ. Ακέραιοι αριθμοί (int) Πράξεις μεταξύ ακεραίων αριθμών

Βήματα: μνήμη 2. Αλγόριθμος βήματα που περιγράφουν την επεξεργασία των δεδομένων. Δομές Δεδομένων + Αλγόριθμοι = Προγράμματα

ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ Προθεσµία: 9/1/2015, 22:00

printf Οι κωδικοί (format codes) του printf για διάφορους τύπους δεδοµένων είναι:

CE 120. Φροντιστήριο 14/10/2011

Βαθμός Σχόλιο. lab3_grades

ΥΠΟΛΟΓΙΣΤΕΣ ΙI. Άδειες Χρήσης. Τύποι δεδομένων, μεταβλητές, πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7) Είσοδος/ Έξοδος

Κεφάλαιο 2.6: Είσοδος / Έξοδος Δεδομένων, Μορφοποίηση Δεδομένων Εξόδου. (Διάλεξη 7)

Βασικές Αρχές Προγραμματισμού

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Βιβλιοθήκες Αφηρημένοι τύποι δεδομένων. Προγραμματισμός II 1

ΑΣΚΗΣΗ 2: ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΣΤΗ C

lab0: Εισαγωγή σε Linux

ΥΠΟΛΟΓΙΣΤΕΣ ΙΙ. Τι είναι ; Συναρτήσεις. Παράδειγμα #1. double convert ( double cm ) { double inch;

ΣΧΟΛΙΑ ΓΙΑ ΤΟ LAB 1. Sheet3_2

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: ΕΠΛ 131 Αρχές Προγραµµατισµού I 4-2

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

lab5grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ ΑΣΚΗΣΗΣ ΑΛΛΑ ΣΧΟΛΙΑ

lab3grades - Δεν παραδόθηκε. - Προσπαθήστε να κάνετε την άσκηση στο σπίτι.

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

lab6grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ Διαδικαστικά: Όλα οκ.

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ

Transcript:

ΕΡΓΑΣΤΗΡΙΟ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Στόχοι Εξάσκηση στη βασική είσοδο / έξοδο Εξάσκηση στη χρήση µεταβλητών Φορµαρισµένη είσοδος και έξοδος Δοµές ελέγχου Πριν ξεκινήσετε Βήµα 1 (για όσους δεν το έκαναν την προηγούµενη φορά): Ανοίξτε ένα τερµατικό και γράψτε τα παρακάτω : chmod go-rwx ~/ce120 όπου ce120 είναι ο φάκελος του µαθήµατος. Αν είναι διαφορετικό π.χ ce_120 προσαρµόστε ανάλογα. Επίσης, ανάµεσα στα go και -rwx ΔΕΝ υπάρχει κενό. Βήµα 2: Πηγαίνετε στο φάκελο ce120 και κατασκευάστε µέσα σε αυτόν ένα φάκελο µε όνοµα lab4. Μέσα σε αυτό το φάκελο θα αποθηκεύσετε τις απαντήσεις σας για το σηµερινό εργαστήριο.

Άσκηση 1 Το πρόγραµµα που θα γράψετε για την άσκηση 1 πρέπει να το αποθηκεύσετε σε αρχείο µε όνοµα lab4a.c µέσα στο φάκελο lab4. Προσοχή! Διαβάστε όλη την εκφώνηση της άσκησης πριν αρχίσετε να γράφετε κώδικα! Γράψτε ένα πρόγραµµα σε C που υλοποιεί έναν αυτόµατο πωλητή κρύων ροφηµάτων και αναψυκτικών. Ο πωλητής διαθέτει τις παρακάτω κατηγορίες α) αναψυκτικά/χυµούς β) καφέ και γ) νερό. Οι τιµές τους ορίζονται ως εξής: 1. Τα αναψυκτικά τιµώνται προς 0.8 ευρώ και οι χυµοί προς 1.25 ευρώ, 2. ο καφές προς 1 ευρώ χωρίς γάλα και 1.10 ευρώ µε γάλα και Στις παραπάνω τιµές συµπεριλαµβάνεται ΦΠΑ ως εξής: Αναψυκτικά και χυµοί 13% Καφές 23% Αρχικά, ο πωλητής ρωτάει το είδος του ροφήµατος που επιθυµεί ο πελάτης. Η απάντηση του πελάτη γίνεται µε την υποβολή δύο χαρακτήρων κολλητά (χωρίς κενό µεταξύ τους), ως εξής: R for Refreshment/Juice + ( C for Cola ή L for Lemon Soda ή O for Orange Juice ή M for Mixed Juice). C for Coffee + ( D for dark (no milk) ή M for added milk) Επιτρέπονται πεζά και κεφαλαία γράµµατα κατά την επιλογή του χρήστη. Παραδείγµατα αποδεκτής επιλογής είναι τα παρακάτω: RO, Ro, ro, ro (Refreshment/Juice - Orange Juice) CD, cd, Cd, cd (Coffee Dark ) Αρχικά, το πρόγραµµα εκτυπώνει το παρακάτω µήνυµα: Select your drink: Εάν ο χρήστης βάλει ένα µη επιτρεπτό συνδυαµό (π.χ. cκ, 2C, PO, -J), το πρόγραµµα τερµατίζει αφού εκτυπώσει τον µήνυµα Bad selection! Αφού o χρήστης επιλέξει κάτι που έχει νόηµα, το πρόγραµµα ζητάει τα χρήµατα. Please pay X.XX euros:

Ο χρήστης βάζει ένα δεκαδικό ποσό σε ευρώ. Εάν το ποσό καλύπτει το κόστος της συναλλαγής τότε υπολογίζει τα ρέστα. Εάν το ποσό δεν καλύπτει το απαιτούµενο κόστος, το πρόγραµµα εκτυπώνει το παρακάτω µήνυµα και τερµατίζει. Insufficient Payment! Eάν όλα πάνε καλά, αλλά δεν υπάρχουν ρέστα εκτυπώνει το παρακάτω µήνυµα Please receive your drink. Διαφορετικά εκτυπώνει Please receive your drink and your change. Τέλος, εκτυπώνει την παρακάτω απόδειξη Lines Sub Total: XXXX.XX 1 VΑΤ : VVVV.VV 2 Total : YYYY.YY 3 Payment : PPPP.PP 4 Change : CCCC.CC 5 THANK YOU! 6 Αναλυτικά: οι γραµµές 1, 2,3 αφορούν την µοναδιαία τιµή του είδους που επιλέχθηκε, η γραµµή 4 στο ποσό που καταθέτει ο χρήστης η γραµµή 5 στο ποσό προς επιστροφή στον χρήστη (ρέστα) Οδηγίες µορφοποίησης: Μετά τον χαρακτήρια ':' ακολουθεί χαρακτήρας tab. Οι αριθµοί θα πρέπει να καταλαµβάνουν 4 ακέραια ψηφία και 2 δεκαδικά. Εάν είναι µικρότεροι από 4 ακέραια ψηφία δεν θα πρέπει να γεµίζουν µε µηδενικά. Οι γραµµές 1,2,3 κλπ µε γκρι στα δεξιά της σελίδας ΔΕΝ εκτυπώνονται. Απαραίτητος Κανόνας συγγραφής του προγράµµατος σας Στο πρόγραµµα σας θα πρέπει να χρησιµοποιήσετε την εντολή switch() τουλάχιστον µία φορά. Αρχεία άσκησης 1 προς παράδοση: lab4a.c

Στην παρακάτω εικόνα µπορείτε να δείτε µερικές ενδεικτικές εκτελέσεις του προγράµµµατος

Άσκηση 2 Το πρόγραµµα που θα γράψετε για την άσκηση 2 πρέπει να το αποθηκεύσετε σε αρχείο µε όνοµα lab4b.c µέσα στο φάκελο lab4. Στην άσκηση αυτή θα γράψετε ένα πρόγραµµα το οποίο, δεδοµένων κάποιων αρχικών παραµέτρων, µπορεί να προβλέψει αν ένα χτύπηµα πέναλτι θα καταλήξει σε γκολ, οριζόντιο δοκάρι ή πάνω από το δοκάρι. Στοιχεία προβλήµατος Γνωρίζετε τις παρακάτω πληροφορίες: Το σηµείο του πέναλτι βρίσκεται 11m από την εστία Το οριζόντιο δοκάρι βρίσκεται σε ύψος 2.44m Ο παίκτης στοχεύει ακριβώς ευθεία (πρός το κέντρο της εστίας) Η µπάλα φεύγει από το πόδι του παίκτη µε αρχική ταχύτητα 33.3m/sec Ο τερµατοφύλακας θα πέσει δεξιά (εποµένως δε θα µπορέσει να αποκρούσει) Το πρόγραµµα σας πρέπει να κάνει τα εξής: 1. Ρωτά το χρήστη τη γωνία βολής της µπάλας (σε σχέση µε το έδαφος), σε µοίρες. Η ερώτηση πρέπει να τεθεί ως εξής: Dwste gwnia bolhs se moires (0, 60): Μπορείτε να υποθέσετε ότι ο χρήστης δε θα δώσει ποτέ γωνία 60 µοιρών και πάνω. 2. Υπολογίζει αν η µπάλα θα καταλήξει πάνω από το οριζόντιο δοκάρι ή ακριβώς στο δοκάρι ή κάτω από το δοκάρι κι εκτυπώνει στην οθόνη αντίστοιχο µήνυµα. Αν η µπάλα βρεθεί σε ύψος 2.44m +/- 5cm τότε χτυπά στο δοκάρι και το πρόγραµµα εκτυπώνει στην οθόνη το µήνυµα DOKARI! Αν η µπάλα βρεθεί σε ύψος κάτω από το δοκάρι (δηλαδή κάτω από 2.44m - 5cm), τότε µπαίνει γκολ και το πρόγραµµα εκτυπώνει στην οθόνη το µήνυµα GOAL! Διαφορετικά, η µπάλα βγαίνει έξω και το πρόγραµµα εκτυπώνει το µήνυµα OUT! Οι βασικές ποσότητες µε τις οποίες θα δουλέψετε είναι: v0 : H αρχική ταχύτητα της µπάλας v0x : Η συνιστώσα της αρχικής ταχύτητας στον άξονα x v0y : Η συνιστώσα της αρχικής ταχύτητας στον άξονα y x : Η οριζόντια απόσταση (από την αρχή της βολής µέχρι το τέρµα)

y : Το ύψος (όταν η µπάλα βρίσκεται στο τέρµα) θ : Η γωνία βολής t : Ο χρόνος από την αρχή της βολής µέχρι το τέρµα. Θα χρειαστείτε τις παρακάτω εξισώσεις: Για να µετατρέψετε τις µοίρες σε radians (που είναι η µονάδα που χρησιµοποιούν οι τριγωνοµετρικές συναρτήσεις), πολλαπλασιάζετε τις µοίρες µε π/180. Για το π, χρησιµοποιείστε την τιµή 3.14159. Για να υπολογίσετε τις συνιστώσες της ταχύτητας: v0x = v0 * cos(θ) και v0y = v0 * sin(θ) x = v0x * t y = v0y * t - 0.5 * g * t 2 όπου g είναι η επιτάχυνση της βαρύτητας και έχει τιµή 9.8m/sec 2.

Χρήση των συναρτήσεων sin()/cos() Παράδειγµα χρήσης της συνάρτησης sin(). Αντίστοιχη είναι η χρήση της cos(). #include <stdio.h> /* printf */ #include <math.h> /* sin */ int main (int argc, char *argv[]) { double degrees, sine; const double PI = 3.14159; degrees = 30.0; sine = sin (degrees * PI/180); printf ("The sine of %f degrees is %f.\n", degrees, sine ); return 0; } Μεταγλώττιση προγράµµατος Για να µπορέσετε να χρησιµοποιήσετε µαθηµατικές συναρτήσεις στο πρόγραµµά σας (sin, cos), πρέπει να συµπεριλάβετε τους ορισµούς προτύπων της µαθηµατικής βιβλιοθήκης µε #include<math.h>. Επιπλέον, όταν κάνετε τη µεταγλώττιση πρέπει να χρησιµοποιήσετε και την επιλογή -lm (το πρώτο γράµµα είναι el), ώστε να συνδέσετε το πρόγραµµα σας µε την βιβλιοθήκη µαθηµατικών συναρτήσεων της C. Για παράδειγµα, gcc -Wall penalty.c -o penalty -lm Αρχεία άσκησης 2 προς παράδοση: lab4b.c

Αποστολή του προγράµµατος για διόρθωση και σχολιασµό Για να στείλετε το πρόγραµµά σας για βαθµολόγηση, ανοίξτε ένα τερµατικό (ή χρησιµοποιήστε αυτό του Kate), πηγαίνετε στο φάκελο lab4, και χρησιµοποιήστε την εντολή mkdir για να κατασκευάσετε ένα νέο φάκελο µέσα στο lab4 µε βάση τα ονόµατα των δύο µελών της οµάδας. Για την ακρίβεια, το όνοµα του φακέλου πρέπει να είναι (µε λατινικούς χαρακτήρες) : επώνυµο1_am1_επώνυµο2_αμ2, όπου ΑΜ είναι ο τετραψήφιος αριθµός µητρώου σας. Για παράδειγµα, mkdir doufexi_1234_antonopoulos_5678 Αντιγράψτε τα lab4α.c και lab4b.c µέσα στο νέο φάκελο, όπως παρακάτω: cp -v lab4?.c doufexi_1234_antonopoulos_5678/ Τέλος πακετάρετε και συµπιέστε το φάκελο µε το πρόγραµµά σας. Η εντολή είναι: tar cvzf επώνυµο1_αμ1_επώνυµο2_αμ2.tgz επώνυµο1_αμ1_επώνυµο2_αμ2 Θα πρέπει να δηµιουργηθεί το αρχείο µε όνοµα επώνυµο1_αμ1_επώνυµο2_αμ2.tgz. Αν εµφανιστεί κάποιο µήνυµα λάθους ή δε δηµιουργηθεί το αρχείο, ζητήστε βοήθεια! Στη συνέχεια στείλτε ένα email: στη διεύθυνση: ce120lab@gmail.com µε τίτλο (subject): CE120 lab4 sectionx όπου X είναι ο αριθµός του τµήµατος, πχ section6 για µια οµάδα του τµήµατος 6. CC στο άλλο µέλος της οµάδας σας και στον εαυτό σας συνηµµένο (attached) το αρχείο: επώνυµο1_αμ1_επώνυµο2_αμ2.tgz µέσα στο email γράψτε τα ονόµατα των δύο µελών της οµάδας. Αφού στείλετε το email, επιβεβαιώστε ότι είχε σωστό attachment κι ότι έλαβε αντίγραφο και το άλλο µέλος της οµάδας. Το άλλο µέλος της οµάδας µπορεί να ξεπακετάρει το tgz αρχείο στο δικό του υπολογιστή µε την εντολή tar xvzf επώνυµο1_αμ1_επώνυµο2_αμ2.tgz ΜΗΝ ΞΕΧΑΣΕΤΕ ΝΑ ΚΑΝΕΤΕ LOGOUT ΠΡΙΝ ΦΥΓΕΤΕ!!