Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια.

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

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

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

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

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

lab6grades - Δεν έχετε δηλώσει το βαθµό βάσης ως σταθερά. - Το µήνυµα εισόδου θέλει χαρακτήρα κενού ' ' στο τέλος και όχι TAB '\t'.

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ 321 FAIL

-Δεν έχεις σχόλια, καλό θα ήταν να έχεις πιο περιγραφικό σχόλιο στην αρχή

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

Άσκηση 2: -Δεν παραδόθηκε. Το εµαιλ είχε λάθος θέµα. Έπρεπε να είναι CE120 lab6

FAIL PASS PASS οριακά

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

Εισαγωγή στην C. Μορφή Προγράµµατος σε γλώσσα C

ΑΕΜ ή username. Sheet2

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

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

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

Sheet2 Α.Μ FAIL. οριακό PASS. - Έπρεπε να χρησιµοποιήσετε συναρτήσεις από τη string.h

Sheet1_2. - Δεν υπάρχουν σχόλια συναρτήσεων - Να χρησιµοποιείς πιο περιγραφικά ονόµατα µεταβλητών (και σίγουρα όχι απλούς χαρακτήρες όπως c, d) Page 1

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

lab4grades Παρακαλούµε µη γράφετε σχόλια στα ελληνικά!

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

Βαθμός Σχόλια. lab6 PASS PASS. - Πολύ καλή δουλειά, αλλά προσπάθησε να κάνεις την άσκηση χρησιµοποιώντας συναρτήσεις από το string.

lab5grades Διαδικαστικά: όλα οκ, αλλά καθυστερήσατε στην αποστολή. Να προσέχετε να στέλνετε τις ασκήσεις σας εντός της προθεσµίας.

lab5 -Ο κώδικάς σου είναι σωστός αλλά από εδώ και στο εξής προσπάθησε να βάζεις σχόλια στην µορφή που ζητάει το φυλλάδιο

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab3_all Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

lab7grades -Σωστή χρήση της sprintf -Σωστά ανιχνεύετε τον χαρακτήρα που πρέπει να αφαιρέσετε. -Σωστή µεταφορά στοιχείων µια θέση αριστερά.

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

Sheet PASS 1426 PASS 1428 PASS. Page 1

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

Εισαγωγή στον Προγραμματισμό

Λύσεις για τις ασκήσεις του lab5

lab9grades -Έπρεπε να χρησιµοποιήσεις την sprintf για το formatting των strings.

for for for for( . */

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

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ. οριακό PASS

lab9grades Άσκηση 1 - Σωστοί τύποι (παραµέτρων και επιστρεφόµενης τιµής) της series_cosh.

Sheet2. Σωστή, και µπράβο που µεριµνήσατε για λίστες διαφορετικών µεγεθών.

- Ο τελευταίος έλεγχος στη συνάρτηση είναι περιττός. Αν έχει φτάσει µέχρι εκεί το πρόγραµµα, τότε αναγκαστικά το µήκος είναι >= του PASSWD_MIN_LEN.

to post PASS PASS FAIL

lab10grades - Το αποτέλεσµα της τοµής θα έπρεπε να εµφανίζετε µέσα σε εισαγωγικά "Helo".

Δείτε τώρα και πώς θα έπρεπε να ήταν το παραπάνω: Page 1

Sheet2. - Άσκηση 1 οκ - Άσκηση 2 οκ. Σκέψου πώς θα µπορούσες να την

lab11 - Να εκτυπώνεις πιο κατατοπιστικά µηνύµατα λάθους. Αν είναι όλα ίδια, δεν είναι ξεκάθαρο ποιο αρχείο έχει πρόβληµα.

- Το πρόγραµµα σας δίνει τα αναµενόµενα αποτελέσµατα.

lab7grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

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

Χρησιμοποιείται για να αποφασίσει το πρόγραμμα αν θα κάνει κάτι σε ένα σημείο της εκτέλεσής του, εξετάζοντας αν ισχύει ή όχι μια συνθήκη.

Ο βρόχος for Η εντολή for χρησιμοποιείται για τη δημιουργία επαναληπτικών βρόχων στη C

Οι εντολές ελέγχου της ροής ενός προγράμματος.

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

Βαθμός Σχόλια. lab8. οριακά PASS 1194 PASS

lab3grades οριακό PASS

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

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

Sheet1_2. - Δεν απελευθερώνεις τη δυναµικά δεσµευµένη µνήµη. - Η έξοδος του προγράµµατός σου δεν είναι ακριβώς όπως ζητούσε η άσκηση.

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

Παράδοση άσκησης: Εστάλη με καθυστέρηση. Να μην επαναληφθεί Προσέξτε τις νέες οδηγίες για την ονομασία του φακέλου.

Δομημένος Προγραμματισμός

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

Παράδοση άσκησης: οκ, αλλά προσέξτε τις νέες οδηγίες για την ονοµασία του φακέλου.

Sheet1_2 FAIL. - To πρόγραµµα δεν κάνει compile Δεν παρέδωσε FAIL

lab14grades ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ

ΗΥ-150. Προγραµµατισµός. Εντολές Ελέγχου Ροής

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

Γλώσσα Προγραμματισμού C

Στην clearlist: - Όλα ok. οριακό PASS

Διαδικασιακός Προγραμματισμός

LAB1 ΛΥΣΗ. Ευρετήριο απαντήσεων ανά τµήµα: Ευρετήριο απαντήσεων ανά µήνυµα λάθους/προειδοποίησης

ΕΡΓΑΣΤΗΡΙΟ 11 - Απαντήσεις

403 FAIL Λάθος στο πακετάρισµα του αρχείου.

lab1_grades Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 29/11/07

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

Διάλεξη 5η: Εντολές Επανάληψης

ΠΛΗΡΟΦΟΡΙΚΗ ΙI Ενότητα 3: Έλεγχος ροής προγράμματος

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 3, 7, 8 & 9 22/11/07

Εισαγωγή στον Προγραμματισμό

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

Υπολογισμός - Εντολές Επανάληψης

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

9. Εντολές επανάληψηςκαι η εντολή

Υπολογισμός - Εντολές Ελέγχου

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

ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ. 812 PASS Καλή δουλειά

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

Δομές ελέγχου & επανάληψης

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

5. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Β' μέρος: while - do..while)

ΗΥ-150. Προγραμματισμός

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Κεφάλαιο : Επαναλήψεις (o βρόγχος While) (Διάλεξη 9) Δομές Έλεγχου Προγράμματος

Transcript:

Α.Μ. ΒΑΘΜΟΣ ΣΧΟΛΙΑ Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! 321 Υπάρχουν σχόλια π.χ. µε do{ }while τα οποία είναι καλό να µην υπάρχουν. - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! - Όχι και τόσο καλός έλεγχος για το τύπο του εισιτηρίου. Δείτε τη λύση.

Τα ονόµατα των φακέλων πρέπει να έχουν το επίθετά σας και όχι τα username που χρησιµοποιείτε στα εργαστήρια. 1058 FAIL 1349 FAIL - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. - Επίσης κακή αριστερή στοίχιση. π.χ. το else στη γραµµή 31, δεν ανήκει στο if της γραµµής 19 αλλά στο if της γραµµής 21. Όµως κάτι τέτοιο δε φαίνεται στη στοίχιση. Οι γραµµές 29-34 θέλουν ένα tab προς τα δεξιά. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Ακολουθήστε ακριβώς τις προδιαγραφές του output. -Το πρόγραµµα δε λειτουργεί ακριβώς βάσει προδιαγραφών. Η επιλογή 2.Exit δε λειτουργεί ποτέ. Συγκεκριµένα θέλαµε if(option == 1){...} else if (option ==2) {return 0; /*ή µε κάποιο τρόπο έξοδος από while*/} else {/*wrong number, ignore*/} Αυτό το κοµµάτι θα µπορούσε να γίνει και µε switch. - Η συνθήκη while(tickets<=100) θα είναι πάντα αληθής για αυτό και το πρόγραµµα δε φτάνει ποτέ στο return και πέφτει σε ατέρµονο loop. - H if(counter<= 100) θα είναι αληθής 101 φορές και όχι 100. Θέλετε if(counter < 100). Δεν παραδόθηκε Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, κολλάει σε ατέρµονο loop. Αυτό συµβαίνει γιατί όταν ο χρήστης εισάγει ως επιλογή το 2, βγαίνει από το do while, προσπερνάει το πρώτο if, η συνθήκη στο else if δεν είναι αληθής, οπότε γυρίζει στην for αντί να τερµατίσει το πρόγραµµα( που το σωστό ). Θα µπορούσατε να βάλετε ακόµα ένα else {return 0;} µετά το else if. - Η µορφή της εξόδου του προγράµµατος είναι τραγική. Δεν αλλάζετε γραµµή µετά από κάθε επιλογή του µενού, δεν αφήνετε καθόλου κενά. Είναι πολύ σηµαντικό (και εύκολο) να ακολουθήσετε τις οδηγίες που σας δίνονται στις εκφωνήσεις. - Η στοίχιση είναι οκ

Άσκηση 1η - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! 1482 Υπάρχουν σχόλια π.χ. µε do{ }while τα οποία είναι καλό να µην υπάρχουν. - Θα µπορούσατε να κάνετε µία do while για τον έλεγχο της επιλογής και κατά συνέπεια, µια printf/scanf για την επιλογή - ΛΑΘΟΣ: δηλώσατε το τύπο της επιλογής σαν char ενώ θα έπρεπε να είναι int! - Όχι και τόσο καλός έλεγχος για το τύπο του εισιτηρίου. Δείτε τη λύση. 1546 1556 FAIL - Πολύ καλή, σας ξέφυγε µόνο το \t στο τελευταίο printf. - Το αρχικό printf/scanf/while θα µπορούσε να είχε αντικατασταθεί από ένα do-while. Είναι κλασική περίπτωση χρήσης do-while - Η σειρά από if θα µπορούσε να είχε αντικατασταθεί από switch. - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης. Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, δεν χρησιµοποιεί καθόλου επανάληψη. Εκεί που έχετε την for ουσιαστικά εκτελείται "max" φορές ο βρόχος, δίνοντας κάθε φορά στο x την τιµή max-1. - Τα ονόµατα των µεταβλητών πρέπει να είναι πιο περιγαφικά. - Η στοίχιση είναι οκ - Η έξοδος του προγράµµατος είναι σχεδόν οκ, καλό είναι να µην προσθέτετε παραπάνω κενά ή αλλαγές γραµµών όπου δεν σας ζητείται

Άσκηση1: 1559 1561 -Πολύ καλή, µπράβο. Πολύ καλή στοίχιση, ονόµατα µεταβλητών και σωστή χρήση της switch. -Υπάρχει καλό σχόλιο στην αρχή. -Το µόνο που ξεχάσατε είναι τα \n \t πριν την τελευταία printf. Επίσης θα µπορούσατε να έχετε χρησιµοποιήσει κάποια σταθερά για το µέγιστο πλήθος φοιτητών. Ασκηση 2: -Πολύ καλή δουλειά ξανά. Συνεχίστε έτσι. -Ισχύουν οι προηγούµενες επισηµάνσεις. - Γενικά καλή µορφή κώδικα, σχόλια, ονόµατα µεταβλητών. Σου έχει ξεφύγει λίγο η στοίχιση σε µερικά σηµεία - Δε χρειαζόταν να ρωτάς πόσα εισιτήρια θέλει ο χρήστης. Κάθε φορά που επιλέγει να αγοράσει εισιτήριο, ο αριθµός τους µειώνεται κατά 1. - Γενικά φαίνεται να έχεις µπερδευτεί λίγο όσον αφορά τις τιµές της choice και τους ελέγχους. Δε χρειάζεται η τιµή 3. Μπορούσες να χρησιµοποιήσεις do-while για την εξωτερική επανάληψη (ώστε να είναι εγγυηµένο ότι θα γίνει τουλάχιστον µια επανάληψη), και η συνθήκη να είναι : do {...} while (choice!= 2); Μετά θα µπορούσες να κάνεις το choice 2 και στην περίπτωση που δεν έχουν µείνει εισιτήρια, ώστε να εγγυηθείς την έξοδο από την επανάληψη. Εναλλακτικά, στην περίπτωση που δεν υπάρχουν άλλα εισιτήρια µπορούσες να κάνεις: return 0; για να τερµατίσει η main (kαι κατά συνέπεια το πρόγραµµα). - Η getchar() θα διαβάσει πρώτα το enter που έχει ξεµείνει από την εισαγωγή του ακεραίου. Θα πρέπει ή να χρησιµοποιήσεις και δεύτερη getchar() για να διαβαστεί το γράµµα, ή scanf(" %c", &place); µε ένα κενό ανάµεσα στο " και το % - Η συνθήκη στην εξωτερική while δεν είναι ακριβώς αυτό που θέλουµε. Το πρόγραµµα πρέπει να τερµατίζει αν ζητηθεί τύπος εισιτηρίου που έχει εξαντληθεί, ακόµη κι αν υπάρχουν άλλοι τύποι εισιτηρίων. Δες τη λύση. 1562 -Καλή δουλειά. -Οι θέσεις καλό είναι να δηλώνονται ως σταθερές µε define ή µε const για να µπορούν να αλλάζουν εύκολα. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Πολύ καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Οµοίως για τις σταθερές.

1563 -Δεν έχετε σχόλιο στην αρχή και έχετε παντού στον κώδικα και σε σηµεία που δε χρειάζεται. Προτιµούµε ένα καλό σχόλιο στην αρχή. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Το πρόγραµµα πρέπει να διαβάζει τους βαθµούς µε κεφαλαία και όχι µε µικρά που έχετε. -Καλή η επιλογή της switch. 1565 -Ισχύει ό,τι και πριν για στοίχιση, µεταβλητές, σχόλιο. -Ας βάζατε µια αλλαγή σειράς µετά το invalid grade να µην κολλά µε την επόµενη εκτύπωση. -Κατά τα άλλα πολύ καλή δουλειά. Λάθος όνοµα στο φάκελο. Δε βάζουµε το όνοµα του εργαστηρίου, αλλά τα επίθετα µε τα ΑΜ σας. -Καλό σχόλιο, αλλά δε γράφουµε µε ελληνικούς χαρακτήρες. -Καλά ονόµατα µεταβλητών. -Καλή στοίχιση. Λίγο στην αρχή είναι προβληµατική. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Η while για τον έλεγχο των αριθµών των φοιτητών είναι λάθος. Θέλει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Δε συµβαδίζετε µε την έξοδο που σας δώσαµε. -Αν εξαιρέσουµε το λάθος µε τη while, αυτή η άσκηση είναι πολύ καλύτερη από την 1, γιατί διορθώσατε κάποια πράγµατα που δεν ήταν ωραία στην 1. -Και πάλι λίγη διαφορετική έξοδος, όµως πολύ καλύτερα απο πριν.

Το εµαιλ δεν είχε θέµα. Να ακολουθείτε προσεκτικά τις οδηγίες! 1566 1567 -Πολύ καλά. Σωστός κώδικας και ευανάγνωστος. -Σωστή χρήση switch, ωστόσο, καλό είναι να µη βάζετε πολλές εντολές σε µία γραµµή: π.χ. case 'A' : gra++; break; -Το αρχικό σχόλιο δεν είναι περιγραφικό -Στην τελευταία printf ξεχάσατε το \t. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών -Η άσκηση σας δεν δίνει σωστά αποτελέσµατα, µιας και ο τρόπος που υπολογίζετε το ποσοστό δεν είναι σωστός και επίσης ο αριθµός αυτός δεν τυπώνεται σωστά. Δείτε τη λύση. -Επιπλέον, στον έλεγχο της γραµµής 22 δεν έχετε συµπεριλάβει και τα µικρά γράµµατα, µε αποτέλεσµα να τα δέχεται µεν το πρόγραµµα, αλλά να τυπώνει και µήνυµα λάθους. -Κατά τα άλλα, ισχύει ότι και για την πρώτη άσκηση. -Ακολουθήστε ακριβώς τις προδιαγραφές στα µηνύµατα που τυπώνονται. -Η επιλογή choice==2 δεν ελέγχεται πουθενά και λόγω του while(1) το πρόγραµµα δεν τερµατίζει ποτέ! Έτσι όπως δοµήσατε τον κώδικα, θα µπορούσατε να βάλετε return 0; ή break; για να βγείτε από το while υπό συνθήκες... -Οι θέσεις δηλώθηκαν ως σταθερές. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Η µεταβλητή i είναι πρακτικά άχρηστη. Δηλώνεται και χρησιµοποιείται µεν αλλά δεν αλλάζει πουθενά τιµή. Το if (i<seats) µπορεί να γίνει if(0<seats). -Προσέξτε τη στοίχιση του κώδικα. Μην αφήνετε πολλές άσκοπες κενές γραµµές µεταξύ εντολών. Μία κενή γραµµή αρκεί. Επίσης οι εντολές στις γραµµές 28-39 καλό θέλουν ένα tab η καθεµία αριστερά. -Tip για γρήγορη µορφοποίηση: επιλογή εντολών και µετά Tab για να πάνε δεξιά όλες µαζί. επιλογή και µετά Shift+Tab για να πάνε αριστερά όλες µαζί. -Σε γενικές γραµµές καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Υπάρχει το ίδιο πρόβληµα µε τον τερµατισµό του προγράµµατος και το exit.

1568 1570 -Πάρα πολύ καλή δουλειά. -Καλό σχόλιο, καλά ονόµατα µεταβλητών και καλή στοίχιση. -Πολύ καλή η χρήση της switch. -Το µέγιστο αριθµό φοιτητών θα µπορούσατε να τον κρατάτε σε µια σταθερά. -Δεν κάνει compile. Ξεχάσατε µια αγκύλη και µια άλλη την κλείνετε λάθος. -Έχετε warnings επειδή έχετε µεταβλητές που δεν τις χρησιµοποιείτε. -Δεν υπολογίζετε κάπου ποσοστό. -Το πρόγραµµα σας δε δουλεύει σωστά γιατί υπάρχει λάθος στη συνθήκη ελέγχου του δεύτερου do-while. Θα έπρεπε να χρησιµοποιήσετε && αντί για. Αν γίνει αυτή η αλλαγή ο κώδικας σας δουλεύει σωστά. -Πολύ καλή στοίχιση, ονόµατα µεταβλητών και υπάρχει αρχικό σχόλιο. -Προσέξτε λίγο περισσότερο τη µορφοποίηση της εξόδου. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Ο κώδικας δεν κάνει compile γιατί υπάρχουν συντακτικά λάθη κυρίως σε κάποιες printf. Επίσης ο έλεγχος στο while όπως και πριν δεν είναι σωστός και δεν υπάρχει τίποτα στο σώµα του while (λείπουν οι {} και υπάρχει ; µετά τη συνθήκη). Τις εντολές που χρειάζονται τις αφήσατε εκτός του while. Η πράξη που κάνετε για το ποσοστό είναι ακέραια διαίρεση και έτσι πρέπει να γίνει type casting. Αν γίνουν αυτές οι αλλαγες δουλεύει σωστά. 1571 FAIL Στείλατε µόνο µία άσκηση η οποία δεν δουλεύει σωστά. Διαβάζετε σωστά τον αριθµό των φοιτητών, αλλά στη συνέχεια το σώµα του while δεν κλείνει στο σωστό σηµείο. Έπρεπε να κλείνει µετά την τελευταία else if ώστε να γίνουν οι έλεγχοι για τους βαθµούς και έπρεπε να έχετε αρχικοποιήσει τις µεταβλητές σας (δείτε τα warnings του compiler). Επίσης η scanf που έχετε στο τέλος δεν έχει κανένα λόγο ύπαρξης, η στοίχιση δεν είναι παντού καλή και δεν υπάρχει σχόλιο.

1572 Λάθος όνοµα στο φάκελο. Δε βάζουµε το όνοµα του εργαστηρίου, αλλά τα επίθετα µε τα ΑΜ σας. -Καλό σχόλιο, αλλά δε γράφουµε µε ελληνικούς χαρακτήρες. -Καλά ονόµατα µεταβλητών. -Καλή στοίχιση. Λίγο στην αρχή είναι προβληµατική. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Η while για τον έλεγχο των αριθµών των φοιτητών είναι λάθος. Θέλει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Δε συµβαδίζετε µε την έξοδο που σας δώσαµε. 1573 -Αν εξαιρέσουµε το λάθος µε τη while, αυτή η άσκηση είναι πολύ καλύτερη από την 1, γιατί διορθώσατε κάποια πράγµατα που δεν ήταν ωραία στην 1. -Και πάλι λίγη διαφορετική έξοδος, όµως πολύ καλύτερα απο πριν. -Πολύ καλά. -Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά. -Θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Αντί για if, θα µπορούσατε να είχατε switch. -Στην τελευταία printf ξεχάσατε το \n πριν το \t. 1574 -Ο κώδικας σας δε λειτουργεί σωστά. Η συνθήκη στο while δεν είναι σωστή, και ο κώδικας εγκλωβίζεται εκεί. Επίσης έχετε λάθος στην τελευταία printf, εσείς µπορεί να θέλετε να τυπώσετε double, αλλά η πράξη σας είναι ακέραια διαίρεση και γι'αυτό σας ενηµερώνει ο compiler. - Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Οι σταθερά είναι οκ. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Δεν παραδόθηκε.

Το εµαιλ δεν είχε θέµα. Να ακολουθείτε προσεκτικά τις οδηγίες! 1577 1578 FAIL 1579 -Πολύ καλά. Σωστός κώδικας και ευανάγνωστος. -Σωστή χρήση switch, ωστόσο, καλό είναι να µη βάζετε πολλές εντολές σε µία γραµµή: π.χ. case 'A' : gra++; break; -Το αρχικό σχόλιο δεν είναι περιγραφικό -Στην τελευταία printf ξεχάσατε το \t. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών -Η άσκηση σας δεν δίνει σωστά αποτελέσµατα, µιας και ο τρόπος που υπολογίζετε το ποσοστό δεν είναι σωστός και επίσης ο αριθµός αυτός δεν τυπώνεται σωστά. Δείτε τη λύση. -Επιπλέον, στον έλεγχο της γραµµής 22 δεν έχετε συµπεριλάβει και τα µικρά γράµµατα, µε αποτέλεσµα να τα δέχεται µεν το πρόγραµµα, αλλά να τυπώνει και µήνυµα λάθους. -Κατά τα άλλα, ισχύει ότι και για την πρώτη άσκηση. -Το πρόγραµµα πετάει warning επειδή προσπαθείτε να κάνετε σύγκριση στην if µε (=) και όχι µε (==). -Σε κάθε επάναληψη της for µηδενίζετε τις µεταβλητές, οπότε δεν κρατάτε το συνολικό αριθµό των βαθµών. -Η έξοδό σας δε συµβαδίζει µε την έξοδο που δίνουµε. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Κατά τα άλλα καλό σχόλιο και καλή στοίχιση. -Δεν εστάλη. -Πολύ καλά. -Τα ονόµατα των µεταβλητών θα µπορούσαν να είναι πιο περιγραφικά. -Θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Αντί για if, θα µπορούσατε να είχατε switch. -Στην τελευταία printf ξεχάσατε το \n πριν το \t. -Ο κώδικας σας δε λειτουργεί σωστά. Η συνθήκη στο while δεν είναι σωστή, και ο κώδικας εγκλωβίζεται εκεί. Επίσης έχετε λάθος στην τελευταία printf, εσείς µπορεί να θέλετε να τυπώσετε double, αλλά η πράξη σας είναι ακέραια διαίρεση και γι'αυτό σας ενηµερώνει ο compiler.

1580 Οριακό Pass Άσκηση 1η - Στοίχιση µέτρια - H πρώτη do while θα έπρεπε να καλύψει όλο το πρόγραµµα και όχι µόνο τη πρώτη printf/scanf καθώς θέλουµε να επιλαµβάνεται ολόκληρη η διαδικασία. - Καλό θα είναι στις δοµές ελέγχου, ακόµη και αν αυτές περιέχουν ουσιαστικά µία εντολή, να βάζετε { } - Λάθος στον έλεγχο για τη διαθεσιµότητα εισιτηρίων. Δείτε τις λύσεις. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση µέτρια - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Η scanf για τύπους char γράφετε ως εξής: scanf( %c,&name); Δηλαδή µε ένα κενό πριν το %. 1582 1583 FAIL - Κακή στοίχιση κώδικα. Συγκεκριµένα, πολλές άσκοπες κενές γραµµές µετά από κάποιες εντολές. Μία κενή γραµµή αρκεί για να οµαδοποιείτε εντολές κώδικα. Σε άλλα σηµεία που θα έπρεπε να υπάρχει µία κενή γραµµή, δεν υπάρχει. π.χ. µετά τη δήλωση του include. - Οι θέσεις προτιµάται να δηλώνονται ως σταθερές µε χρήση const ή define (προτιµότερο). - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Το πρόγραµµα περιέχει αδικαιολόγητα πολλά λάθη. Αν γράφατε κώδικα λίγο λίγο και µετά κάνατε compile και execute, αυτό δε θα συνέβαινε... - Κώδικας που δεν κάνει compile είναι σα να µην παραδόθηκε. - Τα λάθη του compiler είναι ---επαναδήλωση µεταβλητής ---Τα s, g, b στη γραµµή 24, o compiler τα αντιλαµβάνεται ως µεταβλητές επειδή δεν είναι µέσα σε ' '. Επίσης τα γράµµατα θα έπρεπε να είναι κεφαλαία. ---Το if else στη γραµµή 29 είναι else if. Συγκεκριµένα ο compiler σας λέει ότι το if που προηγείται δεν έχει συνθήκη! -Αν τα διορθώνατε το πρόγραµµα θα έβγαζε κάποια αποτελέσµατα... Στείλατε µόνο ένα πρόγραµµα το οποίο δεν κάνει compile. 1584 FAIL Δεν εστάλη άσκηση

1587 -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Πολύ καλή στοίχιση. -Γενικά πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Γενικά πολύ καλή δουλειά και πάλι. 1589 Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c 1590 Κατά τα άλλα καλογραµµένο πρόγραµµα, καλές µεταβλητές, σχόλια, στοίχιση και σωστή χρήση switch - Πολύ καλή, µπράβο. Υπάρχει αρχικό σχόλιο (θα έπρεπε να ήταν λίγο πιο περιγραφικό), ο κώδικας έχει πολύ καλή στοίχιση και σωστά ονόµατα µεταβλητών. -Σας λείπει µόνο το \t στην τελευταία printf. -Στην εισαγωγή των µαθητών και των βαθµών, θα µπορούσατε να χρησιµοποιήσετε do-while αντί για printf/scanf/while. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλά, µπράβο σας. Ισχύουν οι ίδιες παρατηρήσεις µε πριν. -Δείτε και την ενδεικτική λύση

1591 FAIL 1592 Οριακό Pass -Δεν υπάρχει σχόλιο στην αρχή του προγράµµατος. -Καλά ονόµατα µεταβλητών. -'Οχι καλή στοίχιση. -Η µεταβλητή eisodos είναι char και στη while την ελέγχεται σαν int. Θέλει '1' και όχι σκέτο 1. -Ο έλεγχος στη while για την eisodo είναι λάθος. Σωστά θα έπρεπε while(eisodos!='1' && eisodos!='2'). -Στο σηµείο που βάλατε το µετρητή ticket και έτσι όπως κάνετε ελέγχους σε while και if δεν εκτυπώνεται το Not available. -Ο συνολικός αριθµός των διαθέσιµων εισιτηρίων θα ήταν καλό να ήταν σταθερά. -Ο κώδικας δεν κάνει compile: -Έχετε ξεχάσει ένα ; στη σειρά 11. -Έχετε µπερδέψει τις αγκύλες. Ξεκινάτε στη σειρά 17 µε do και όταν φθάνετε στη while ανοίγετε και άλλη αγκύλη. -Έχετε αδήλωτη µεταβλητή ticket. -Ακόµα έχετε και warning επειδή κανετε σύγκριση χαρακτήρων µε "G" και όχι µε 'G'. -Η scanf θέλει ένα κενό πριν το %c. -Οι µεταβλητές που κρατάνε το συνολικό αριθµό των διαθέσιµων εισητηρίων πρέπει να είναι και πάλι σταθερές. -Δείτε την ενδεικτική λύση. Άσκηση 1η Μην αφήνετε µεγάλα κενά! - Στη περίπτωση που έχει δώσει ο χρήστης άλλη επιλογή εκτός του 1-2 θα πρέπε να επαναλαµβάνεται ο βρόγχος και να µην τερµατίζει. -Δεν εστάλη

Άσκηση 1η 1593 FAIL -Το πρόγραµµα έχει πολλά συντακτικά και λογικά λάθη. -Σχόλιο στην αρχή της πρότασης ποτέ σε ελληνικούς χαρακτήρες. -Στοίχιση όχι και τόσο καλή. -Λείπουν ερωτηµατικά σε αρκετά σηµεία του κώδικα. -Δήλωση µεταβλητών τύπου char χωρίς λόγο (αν και το όνοµα τους είναι λάθος!). -Λάθος σύνταξη στον έλεγχο των do while (για το λογικό Ή έχουµε και όχι ) στη πρώτη ενώ η δεύτερη είναι τελείως λάθος! -Για τη σύνταξη της scanf µε το τύπο char (%c), πρέπει να έχουµε ένα κενό δηλαδή: scanf( %c,&name); -Λάθος χρήση της case (το κόµµα για ποιο λόγο το χρησιµοποιείς;). -Καθόλου καλή εκτύπωση στη τελευταία printf (καλό είναι να ακολουθούµε την εκφώνηση της άσκησης). 1594 Οριακό -Δεν εστάλη -Πολύ καλά. Ευανάγνωστος κώδικας, σωστά ονόµατα µεταβλητών και υπάρχει αρχικό σχόλιο. -Προσοχή στη µορφοποίηση της εξόδου, δεν είναι σωστή. -Αντί για if, θα µπορούσατε να είχατε switch και επίσης θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών. -Το πρόγραµµα σας δε δουλεύει σωστά. Υπάρχει πρόβληµα στη σύνταξη της while στη γραµµή 26. Έχετε βάλει ; πριν το σώµα της while. Επίσης η έξοδος σας δεν είναι σωστή.

1595 - Κακή στοίχιση κώδικα. Συγκεκριµένα, πολλές άσκοπες κενές γραµµές µετά από κάποιες εντολές. Μία κενή γραµµή αρκεί για να οµαδοποιείτε εντολές κώδικα. Σε άλλα σηµεία που θα έπρεπε να υπάρχει µία κενή γραµµή, δεν υπάρχει. π.χ. µετά τη δήλωση του include. - Οι θέσεις προτιµάται να δηλώνονται ως σταθερές µε χρήση const ή define (προτιµότερο). - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Το πρόγραµµα περιέχει αδικαιολόγητα πολλά λάθη. Αν γράφατε κώδικα λίγο λίγο και µετά κάνατε compile και execute, αυτό δε θα συνέβαινε... - Κώδικας που δεν κάνει compile είναι σα να µην παραδόθηκε. - Τα λάθη του compiler είναι ---επαναδήλωση µεταβλητής ---Τα s, g, b στη γραµµή 24, o compiler τα αντιλαµβάνεται ως µεταβλητές επειδή δεν είναι µέσα σε ' '. Επίσης τα γράµµατα θα έπρεπε να είναι κεφαλαία. ---Το if else στη γραµµή 29 είναι else if. Συγκεκριµένα ο compiler σας λέει ότι το if που προηγείται δεν έχει συνθήκη! -Αν τα διορθώνατε το πρόγραµµα θα έβγαζε κάποια αποτελέσµατα... Άσκηση 1η 1596 - Το πρόγραµµα έχει συντακτικά λάθη. Λείπει ένα ερωτηµατικό στο τέλος της do while. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. - H προσπάθεια όµως είναι καλή.

1597 Οριακό Pass Άσκηση 1η - Το πρόγραµµα δουλεύει κανονικά. - Λάθος ονόµατα µεταβλητών (ολόκληρα ονόµατα ΛΕΜΕ ΣΥΝΕΧΩΣ στο εργαστήριο). - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Το πρόγραµµα έχει πολλά συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε αρκετά σηµεία του κώδικα. - Λάθος ονόµατα µεταβλητών (ολόκληρα ονόµατα ΛΕΜΕ ΣΥΝΕΧΩΣ στο εργαστήριο). - Αρκετά λογικά λάθη και τοποθέτηση ελέγχου σε λάθος σηµείο. 1598 1599 FAIL - Πολύ καλή, µπράβο. Υπάρχει αρχικό σχόλιο (θα έπρεπε να ήταν λίγο πιο περιγραφικό), ο κώδικας έχει πολύ καλή στοίχιση και σωστά ονόµατα µεταβλητών. -Σας λείπει µόνο το \t στην τελευταία printf. -Στην εισαγωγή των µαθητών και των βαθµών, θα µπορούσατε να χρησιµοποιήσετε do-while αντί για printf/scanf/while. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλά, µπράβο σας. Ισχύουν οι ίδιες παρατηρήσεις µε πριν. -Δείτε και την ενδεικτική λύση Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, δεν χρησιµοποιεί καθόλου επανάληψη. Εκεί που έχετε την for ουσιαστικά εκτελείται "max" φορές ο βρόχος, δίνοντας κάθε φορά στο x την τιµή max-1. - Τα ονόµατα των µεταβλητών πρέπει να είναι πιο περιγαφικά. - Η στοίχιση είναι οκ - Η έξοδος του προγράµµατος είναι σχεδόν οκ, καλό είναι να µην προσθέτετε παραπάνω κενά ή αλλαγές γραµµών όπου δεν σας ζητείται

1600 1601 1602 Άσκηση 1η: - Έχετε καλή στοίχιση. βάζετε καλά ονόµατα στις µεταβλητές & έχετε βάλει περιγραφικά σχόλια. - Δεν ορίζετε ως σταθερά το πλήθος των εισιτηρίων (µε const ή define) - Η πρόταση "not available" πρέπει να εκτυπωθεί όταν ο χρήστης ζητάει εισιτήριο, ενώ έχουν µείνει 0, όχι µε το που τελειώνουν τα εισιτήρια. Αυτό συµβαίνει γιατί ο έλεγχος περνάει και στην δεύτερη if όπου το answer == 1 και πλέον το available == 0. : - Έχετε καλή στοίχιση. βάζετε καλά ονόµατα στις µεταβλητές & έχετε βάλει περιγραφικά σχόλια. - Δεν ορίζετε ως σταθερά το πλήθος των εισιτηρίων (µε const ή define) - Κατά τα άλλα είναι σωστή. -Πάρα πολύ καλή δουλειά. -Καλό σχόλιο, καλά ονόµατα µεταβλητών και καλή στοίχιση. -Πολύ καλή η χρήση της switch. -Το µέγιστο αριθµό φοιτητών θα µπορούσατε να τον κρατάτε σε µια σταθερά. -Δεν κάνει compile. Ξεχάσατε µια αγκύλη και µια άλλη την κλείνετε λάθος. -Έχετε warnings επειδή έχετε µεταβλητές που δεν τις χρησιµοποιείτε. -Δεν υπολογίζετε κάπου ποσοστό. -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Πολύ καλή στοίχιση. -Γενικά πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Γενικά πολύ καλή δουλειά και πάλι.

-Καλό σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές -Καλή δουλειά. 1604 -Ανύπαρκτο σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές - Το ποσοστό βγαίνει λάθος εξαιτίας του τελεστή div..το είχαµε δει σε προηγούµενο εργαστήριο -Καλή δουλειά. 1606 Οριακό Pass Άσκηση 1η - Στοίχιση µέτρια - H πρώτη do while θα έπρεπε να καλύψει όλο το πρόγραµµα και όχι µόνο τη πρώτη printf/scanf καθώς θέλουµε να επιλαµβάνεται ολόκληρη η διαδικασία. - Καλό θα είναι στις δοµές ελέγχου, ακόµη και αν αυτές περιέχουν ουσιαστικά µία εντολή, να βάζετε { } - Λάθος στον έλεγχο για τη διαθεσιµότητα εισιτηρίων. Δείτε τις λύσεις. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση µέτρια - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Η scanf για τύπους char γράφετε ως εξής: scanf( %c,&name); Δηλαδή µε ένα κενό πριν το %.

1607 - Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Οι σταθερά είναι οκ. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. 1608 1609 -Δεν παραδόθηκε. -Ακολουθήστε ακριβώς τις προδιαγραφές στα µηνύµατα που τυπώνονται. -Η επιλογή choice==2 δεν ελέγχεται πουθενά και λόγω του while(1) το πρόγραµµα δεν τερµατίζει ποτέ! Έτσι όπως δοµήσατε τον κώδικα, θα µπορούσατε να βάλετε return 0; ή break; για να βγείτε από το while υπό συνθήκες... -Οι θέσεις δηλώθηκαν ως σταθερές. -Εναλλακτικά τα choice µπορούν να υλοποιηθούν µε switch. Βέβαια µε τον τρόπο που έχεις δοµήσει τον κώδικα, αυτό θα σου άλλαζε όλη τη λογική... -Η µεταβλητή i είναι πρακτικά άχρηστη. Δηλώνεται και χρησιµοποιείται µεν αλλά δεν αλλάζει πουθενά τιµή. Το if (i<seats) µπορεί να γίνει if(0<seats). -Προσέξτε τη στοίχιση του κώδικα. Μην αφήνετε πολλές άσκοπες κενές γραµµές µεταξύ εντολών. Μία κενή γραµµή αρκεί. Επίσης οι εντολές στις γραµµές 28-39 καλό θέλουν ένα tab η καθεµία αριστερά. -Tip για γρήγορη µορφοποίηση: επιλογή εντολών και µετά Tab για να πάνε δεξιά όλες µαζί. επιλογή και µετά Shift+Tab για να πάνε αριστερά όλες µαζί. -Σε γενικές γραµµές καλή δουλειά και πολύ ωραία στοίχιση κώδικα. -Υπάρχει το ίδιο πρόβληµα µε τον τερµατισµό του προγράµµατος και το exit. - Κακή στοίχιση κώδικα. To kate είναι αρύθµιστο και αυτό δε σας διευκολύνει στην αριστερή στοίχιση του κώδικα. Για τη ρύθµιση του kate συµβουλευτείτε τις οδηγίες που υπάρχουν στη σελίδα. - Το 100 έπρεπε να είχε ανατεθεί σε σταθερά. - Δεν ελέγχεις αν οι θέσεις τύπου box είναι > 0 µε αποτέλεσµα να πέφτει σε αρνητικές τιµές η ποσότητα των υπόλοιπων εισιτηρίων. - Πρόσεχε τη στοίχιση! - Οι αρχικές ποσότητες θέσεων έπρεπε να είναι δηλωµένες ως σταθερές.

1611 Οριακό Άσκηση 1η - Το πρόγραµµα σας έχει ένα συντακτικό λάθος γιατί έχει ένα ερωτηµατικό στο µετρητή της for. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε διάφορο (!=). - Το πρόγραµµα σας δεν έχει συντακτικό λάθος. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε το διάφορο 1612 -Καλό σχόλιο. -Kαλές µεταβλητές. -Περισσότερη προσοχή στη στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Σωστός ο έλεγχος για τη βαθµολογία µε χρήση while επίσης το printf θα έπρεπε να µπει µέσα στο while - Αντί για if, µια πολύ καλή επιλογή είναι η switch.

1613 -Δεν έχετε σχόλιο στην αρχή και έχετε παντού στον κώδικα και σε σηµεία που δε χρειάζεται. Προτιµούµε ένα καλό σχόλιο στην αρχή. -Καλή στοίχιση και καλά ονόµατα µεταβλητών. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Το πρόγραµµα πρέπει να διαβάζει τους βαθµούς µε κεφαλαία και όχι µε µικρά που έχετε. -Καλή η επιλογή της switch. 1617 -Ισχύει ό,τι και πριν για στοίχιση, µεταβλητές, σχόλιο. -Ας βάζατε µια αλλαγή σειράς µετά το invalid grade να µην κολλά µε την επόµενη εκτύπωση. -Κατά τα άλλα πολύ καλή δουλειά. -Δεν έχετε σχόλιο στην αρχή. -Καλά περιγραφικά ονόµατα µεταβλητών και καλή στοίχιση. -Ο έλεγχος στη while είναι λάθος. Εξετάζετε αν είναι µικρότερο του 200 και όχι µεγαλύτερο που ζητάµε. Ακόµα χρησιµοποιείτε && ενώ πρεπει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Αντί για if καλή θα ήταν η χρήση της switch. -Η έξοδο δε συµβαδίζει µε αυτή που σας δώσαµε. πχ Ήθελε ενα \t για την εκτύπωση στην τελευταία σειρά. -Ισχύει ό,τι και πριν. -Στο τέλος το ποσοστό βγαίνει πάντα 0 επειδή κάνετε διαίρεση µε ακεραίους. Για να είναι σωστό χρειάζεται να βάλετε (double) µπροστά από την πράξη.

-Καλό σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές -Καλή δουλειά. 1618 -Ανύπαρκτο σχόλιο. -Kαλές µεταβλητές. -Καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) και αλλαγή στις τιµές - Το ποσοστό βγαίνει λάθος εξαιτίας του τελεστή div..το είχαµε δει σε προηγούµενο εργαστήριο -Καλή δουλειά. 1619 1622 -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Προσοχή στη στοίχιση στη δοµή επιλογής. -Πολύ καλή έξοδος - Αντί για if, µια πολύ καλή επιλογή είναι η switch. -Πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Πολύ καλή δουλειά και πάλι. Άσκηση 1η: -Έχετε καλά ονόµατα µεταβλητών & βάζετε σχόλια στην αρχή του κώδικα. -Η στοίχιση είναι καλή -Δεν ορίζετε ως σταθερά (µε const ή #define) τον αριθµό των εισιτηρίων -Το πρόγραµµα συνεχίζει να εκτελείται ακόµα κι όταν ο χρήστης εισάγει 2 σαν επιλογή. : -Δεν ορίζετε ως σταθερές (µε const ή #define) τον αριθµό των εισιτηρίων για κάθε κατηγορία -Το πρόγραµµα συνεχίζει να εκτελείται ακόµα κι όταν ο χρήστης εισάγει 2 σαν επιλογή. -Η έξοδος και στα δύο προγράµµατα έχει πολύ σωστή δοµή

1624 1625 FAIL 1627 1628 FAIL 1629 - Πολύ καλή, σας ξέφυγε µόνο το \t στο τελευταίο printf. - Το αρχικό printf/scanf/while θα µπορούσε να είχε αντικατασταθεί από ένα do-while. Είναι κλασική περίπτωση χρήσης do-while - Η σειρά από if θα µπορούσε να είχε αντικατασταθεί από switch. - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης. - Έχει σταλεί το lab1 (a & b). Αριστες ολες οι ασκήσεις Άσκηση 1η: - Τα σχόλια στην αρχή του κώδικα πρέπει να είναι πιο περιγραφικά - Η τιµή των θέσεων ή εισιτηρίων έπρεπε να δηλωθεί ως σταθερά ( είτε µε const είτε µε #define στην αρχή του προγράµµατος - Ο κώδικας σας δεν είναι σωστός, κολλάει σε ατέρµονο loop. Αυτό συµβαίνει γιατί όταν ο χρήστης εισάγει ως επιλογή το 2, βγαίνει από το do while, προσπερνάει το πρώτο if, η συνθήκη στο else if δεν είναι αληθής, οπότε γυρίζει στην for αντί να τερµατίσει το πρόγραµµα( που είναι το σωστό ). Θα έπρεπε να κάνετε return στην περίπτωση που η επιλογή είναι 2. - Η µορφή της εξόδου του προγράµµατος είναι τραγική. Δεν αλλάζετε γραµµή µετά από κάθε επιλογή του µενού, δεν αφήνετε καθόλου κενά. Είναι πολύ σηµαντικό (και εύκολο) να ακολουθήσετε τις οδηγίες που σας δίνονται στις εκφωνήσεις. - Η στοίχιση είναι οκ. Άσκηση 1η - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n) - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n και αντίστοιχα count_s κ.τ.λ.)

1630 Οριακό Pass Άσκηση 1η Μην αφήνετε µεγάλα κενά! - Στη περίπτωση που έχει δώσει ο χρήστης άλλη επιλογή εκτός του 1-2 θα πρέπε να επαναλαµβάνεται ο βρόγχος και να µην τερµατίζει. -Δεν εστάλη Άσκηση1: 1632 -Πολύ καλή, µπράβο. Πολύ καλή στοίχιση, ονόµατα µεταβλητών και σωστή χρήση της switch. -Υπάρχει καλό σχόλιο στην αρχή. -Το µόνο που ξεχάσατε είναι τα \n \t πριν την τελευταία printf. Επίσης θα µπορούσατε να έχετε χρησιµοποιήσει κάποια σταθερά για το µέγιστο πλήθος φοιτητών. 1633 Oριακό Pass Ασκηση 2: -Πολύ καλή δουλειά ξανά. Συνεχίστε έτσι. -Ισχύουν οι προηγούµενες επισηµάνσεις. Άσκηση 1η - Δεν έγινε έλεγχος σε περίπτωση που δώσει ο χρήστης 2! Έπρεπε να έχετε και εκείνον τον έλεγχο προκειµένου να τερµατίζει το πρόγραµµα σας - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Λείπει το σχόλιο στην πρώτη γραµµή. - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Δεν κάνετε σωστό έλεγχο για τους χαρακτήρες! Δείτε λύσεις!

1634 1635 Οριακό -Σε γενικές γραµµές, πολύ καλή προσπάθεια. Μπράβο. -Οι διαθέσιµες θέσεις καλό είναι να δηλώνονται ως σταθερές µε χρήση define (προτιµότερο) ή const. -Η µεταβλητή temp δεν έχει περιγραφικό όνοµα. -Οµοίως για τις σταθερές. -Τα ονόµατα µεταβλητών choice1 και choice2 δεν είναι περιγραφικά. Είναι κακή πρακτική να συνδέεται ονόµατα µεταβλητών µε αριθµούς... -Οι γραµµές 18-22 και 26-27 θέλουν ένα tab δεξιά, για να είναι πιο ευδιάκριτη η στοίχιση στα do-while. Άσκηση 1η - Στοίχιση σχετικά καλή, µην αφήνετε τόσο πολύ κενό όµως! - Δεν κάνετε σωστή µείωση των εισιτηρίων, θα πρέπει να είχατε είτε remainingtic=remainingtic-1; είτε remainingtic--; - Στο case 2 θα πρέπει να έχετε return 0 για να τερµατίσει το πρόγραµµα. Το break σε βγάζει απλώς από τη switch. - Καλό θα ήταν να προσέξετε λίγο πως θα τοποθετήσετε τις do while. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε κάποια σηµεία του κώδικα. - Αρκετά λογικά λάθη. Δε χρειαζόταν να switch µέσα σε switch. - Επίσης δε δίνεται στο χρήστη τη δυνατότητα να δίνει το eidos όπως το έχετε του εισιτηρίου. 1636 FAIL Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το θέµα του εµαιλ ήταν λάθος, το όνοµα του tgz ήταν λάθος

Άσκηση 1η - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. 1637 - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. - Δεν γίνεται σωστός υπολογισµός του ποσοστού! Δείτε λύση. Το πρόγραµµα έχει warnings λόγω σοβαρού λάθους στον κώδικα: χρησιµοποιείτε ανάθεση (=) σε σηµεία που έπρεπε να κάνετε σύγκριση (==) Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && 1640 FAIL Λάθος στη σύνταξη της for: τα τρία της τµήµατα είναι αρχικοποίηση, συνθήκη, ανανέωση µετρητή, κι εσείς έχετε βάλει τη συνθήκη στη θέση της αρχικοποίησης και την την ανανέωση µετρητή στη θέση της συνθήκης. Πάντως αυτό που µάλλον θέλατε να κάνετε είναι έξυπνο. Ο σωστός τρόπος θα ήταν: for ( ; students!= 0 ; students = students-1) και θα ήταν καλή ιδέα µόνο αν µετά δε χρειαζόµασταν το πλήθος των φοιτητών (καθότι θα έχει µηδενιστεί) Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c 1641 FAIL Απαράδεκτα ονόµατα µεταβλητών. Σας είπαµε ειδικά να ΜΗ χρησιµοποιήσετε X, Y, Z κτλ. Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το θέµα του εµαιλ ήταν λάθος, το όνοµα του tgz ήταν λάθος

1642 1643 Τα ονόµατα των φακέλων δεν πρέπει να περιέχουν ποτέ κενά. Βάλτε "_" αντί κενού. - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. Μην αφήνετε πολλές κενές γραµµές ανάµεσα στις εντολές. - Επίσης προσέξτε λίγο καλύτερα την αριστερή στοίχιση. Τα include, κεφαλίδα main και το άγγιστρο κλεισίµατος της main θέλουν να είναι στοιχισµένα τέρµα αριστερά. Τα άλλα είναι οκ. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Όταν στέλνετε ασκήσεις, βεβαιωθείτε να έχουν τη σωστή κατάληξη ή όνοµα. Επίσης βεβαιωθείτε ότι ο κώδικας κάνει compile στο µέχρι στιγµής κοµµάτι που γράψατε. Για αυτό λίγο λίγο κώδικα που γράφετε πρέπει να το δοκιµάζετε. - Γενικά κώδικας που δεν κάνει compile δε βαθµολογείται. Δεν ονοµάσατε το φάκελο και το tgz όπως ζητά η εκφώνηση (βάλατε κενά αντί για underscores) - Έχετε σχόλια, µπράβο - Άσχηµη στοίχιση. Τώρα που ξεκινήσαµε σύνθετες δοµές πρέπει να το προσέχετε ιδιαιτέρως αυτό - Καλά ονόµατα µεταβλητών, µπράβο - Σοβαρό λάθος στην πρώτη scanf. Ουσιαστικά λέτε ότι το πρόγραµµα πρέπει να διαβάσει έναν ακέραιο, ένα slash κι ένα n. - Λάθος στη συνθήκη της do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && - Λάθος και στη δεύτερη scanf. Δείτε παραπάνω σχόλιο - Αντί για if, θα µπορούσατε να είχατε switch - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης.

1644 -Καλό σχόλιο. -Kαλές µεταβλητές. -Περισσότερη προσοχή στη στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Σωστός ο έλεγχος για τη βαθµολογία µε χρήση while επίσης το printf θα έπρεπε να µπει µέσα στο while - Αντί για if, µια πολύ καλή επιλογή είναι η switch. 1645 FAIL -Το πρόγραµµα πετάει warning επειδή προσπαθείτε να κάνετε σύγκριση στην if µε (=) και όχι µε (==). -Σε κάθε επάναληψη της for µηδενίζετε τις µεταβλητές, οπότε δεν κρατάτε το συνολικό αριθµό των βαθµών. -Η έξοδό σας δε συµβαδίζει µε την έξοδο που δίνουµε. -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Εκτός από if µια καλη επιλογη είναι η switch. -Κατά τα άλλα καλό σχόλιο και καλή στοίχιση. 1646 -Δεν εστάλη. Δεν ονοµάσατε το φάκελο και το tgz όπως ζητά η εκφώνηση (βάλατε κενά αντί για underscores) - Έχετε σχόλια, µπράβο - Άσχηµη στοίχιση. Τώρα που ξεκινήσαµε σύνθετες δοµές πρέπει να το προσέχετε ιδιαιτέρως αυτό - Καλά ονόµατα µεταβλητών, µπράβο - Σοβαρό λάθος στην πρώτη scanf. Ουσιαστικά λέτε ότι το πρόγραµµα πρέπει να διαβάσει έναν ακέραιο, ένα slash κι ένα n. - Λάθος στη συνθήκη της do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && - Λάθος και στη δεύτερη scanf. Δείτε παραπάνω σχόλιο - Αντί για if, θα µπορούσατε να είχατε switch - Ισχύουν τα παραπάνω σχόλια - Κατά τα άλλα σωστές οι αλλαγές σας. Δείτε και τη λύση για ένα πιο κοµψό τρόπο υλοποίησης.

1648 -Πολύ καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) -Καλή δουλειά. 1649 -Ισχύει ό,τι και πάνω. -Καλή δουλειά και πάλι. -Καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) επίσης το printf θα έπρεπε να µπει µέσα στη do...while - Συνηθίζεται να αρχικοποιούµε τις µεταβλητές στην αρχή του κώδικα - Αντί για if, µια πολύ καλή επιλογή είναι η switch.

1650 Τα ονόµατα των φακέλων δεν πρέπει να περιέχουν ποτέ κενά. Βάλτε "_" αντί κενού. - Κακή στοίχιση κώδικα. Γιατί µετά από κάθε εντολή αφήνετε και µία κενή γραµµή; Προσπαθήστε να οµαδοποιείτε τις εντολές βάσει του τι κάνουν. π.χ. 1η οµάδα δηλώσεις µεταβλητών, 2η οµάδα αρχικοποίση, 3η οµάδα έναρξη επεξεργασίας µε το while... κ.ο.κ. και στο τέλος κάθε οµάδας αφήστε µια κενή γραµµή. Μην αφήνετε πολλές κενές γραµµές ανάµεσα στις εντολές. - Επίσης προσέξτε λίγο καλύτερα την αριστερή στοίχιση. Τα include, κεφαλίδα main και το άγγιστρο κλεισίµατος της main θέλουν να είναι στοιχισµένα τέρµα αριστερά. Τα άλλα είναι οκ. - Οι σταθερές (στην περίπτωσή µας ο αριθµός θέσεων) πρέπει να δηλώνεται ως σταθερά µε const ή µε define (προτιµότερο). Ο λόγος είναι οι εύκολες αλλαγές για πειράµατα. - Το πρόγραµµα δουλεύει αρκετά καλά. Μία µικρή λεπτοµέρεια, το Not available θα έπρεπε να εµφανίζεται στην επόµενη αίτηση του χρήστη και όχι αµέσως µόλις δεν υπάρχουν άλλα διαθέσιµα εισητήρια. -Όταν στέλνετε ασκήσεις, βεβαιωθείτε να έχουν τη σωστή κατάληξη ή όνοµα. Επίσης βεβαιωθείτε ότι ο κώδικας κάνει compile στο µέχρι στιγµής κοµµάτι που γράψατε. Για αυτό λίγο λίγο κώδικα που γράφετε πρέπει να το δοκιµάζετε. - Γενικά κώδικας που δεν κάνει compile δε βαθµολογείται. Άσκηση 1η - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. 1651 - Μπράβο καλή προσπάθεια! - Στο τελευταίο Print έχετε ανάποδα την \. - Δεν γίνεται σωστός υπολογισµός του ποσοστού! Δείτε λύση. 1652 FAIL Δεν εστάλη άσκηση

1653 1654 1655 -Πολύ καλά. Σωστή στοίχιση, ονόµατα µεταβλητών και µορφοποίηση εξόδου. -Καλή χρήση του do-while. -Το αρχικό σας σχόλιο πρέπει να είναι πιο περιγραφικό. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλή, µπράβο σας. Το µόνο που ξεχάσατε ήταν το \n στην τελευταία printf. -Ισχύουν τα ίδια µε πριν για το σχόλιο. -Καλό σχόλιο. -Πολύ καλές µεταβλητές. -Προσοχή στη στοίχιση στη δοµή επιλογής. -Πολύ καλή έξοδος - Αντί για if, µια πολύ καλή επιλογή είναι η switch. -Πολύ καλή δουλειά. -Ισχύει ό,τι και πάνω. -Πολύ καλή δουλειά και πάλι. Άσκηση 1η - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n) - Δεν έχετε δώσε σωστό όνοµα για τη µεταβλητή που χρησιµοποιείται για το πλήθος! (Ν σκέτο;;; καλύτερα count_n και αντίστοιχα count_s κ.τ.λ.)

1656 -Δεν έχετε σχόλιο στην αρχή. -Καλά περιγραφικά ονόµατα µεταβλητών και καλή στοίχιση. -Ο έλεγχος στη while είναι λάθος. Εξετάζετε αν είναι µικρότερο του 200 και όχι µεγαλύτερο που ζητάµε. Ακόµα χρησιµοποιείτε && ενώ πρεπει. -Όταν διαβάζετε χαρακτήρα στη scanf θέλετε ένα κενό. πχ " %c". -Θα ήταν καλό να χρησιµοποιούσατε σταθερά για να κρατάτε το µέγιστο αριθµό φοιτητών. -Αντί για if καλή θα ήταν η χρήση της switch. -Η έξοδο δε συµβαδίζει µε αυτή που σας δώσαµε. πχ Ήθελε ενα \t για την εκτύπωση στην τελευταία σειρά. 1657 1658 -Ισχύει ό,τι και πριν. -Στο τέλος το ποσοστό βγαίνει πάντα 0 επειδή κάνετε διαίρεση µε ακεραίους. Για να είναι σωστό χρειάζεται να βάλετε (double) µπροστά από την πράξη. Αριστες ολες οι ασκήσεις -Πολύ καλά. Σωστή στοίχιση, ονόµατα µεταβλητών και µορφοποίηση εξόδου. -Καλή χρήση του do-while. -Το αρχικό σας σχόλιο πρέπει να είναι πιο περιγραφικό. -Επίσης, θα µπορούσατε να χρησιµοποιήσετε κάποια σταθερά για τον µέγιστο αριθµό φοιτητών και αντί για if, να είχατε switch. -Πολύ καλή, µπράβο σας. Το µόνο που ξεχάσατε ήταν το \n στην τελευταία printf. -Ισχύουν τα ίδια µε πριν για το σχόλιο. 1659 -Πολύ καλό σχόλιο. -Kαλές µεταβλητές. -Πολύ καλή στοίχιση. -Υπάρχει λογικό λάθος στη συνθήκη της do...while µε αποτέλεσµα να µη γίνεται έλεγχος..µε ένα παράδειγµα θα το είχατε διαπιστώσει..θέλετε λογικό OR( ) αντί για λογικό AND(&&) -Καλή δουλειά. -Ισχύει ό,τι και πάνω. -Καλή δουλειά και πάλι.

Στείλατε χύµα τα αρχεία χωρίς να τα έχετε µέσα σε φάκελο. 1660 FAIL -Η συνθήκη στη while που µετράτε φοιτητές είναι λάθος. Αφού θέτετε i=0 έπρεπε να είχατε i<students. -Διαβάζετε χαρακτήρα µε λάθος τρόπο. Το σωστό για να αποφύγετε τα προβλήµατα µε τη getchar() θα ήταν scanf(" %c", &grade); -Δεν έχετε printf που να λέει Enter Grade:. -Ο έλεγχος στην τελευταία while για µη αποδεκτούς βαθµούς είναι λάθος. -Μεταβλητές, στοίχιση και σχόλιο οκ. -Η χρήση switch θα ήταν κατάλληλη και αυτή σε σχεση µε την if. -Θα µπορούσατε να δηλώσετε το µέγιστο αριθµό φοιτητών µε σταθερά. -Δείτε την ενδεικτική λύση. 1662 -Έχετε και εδώ τα ίδια λάθη. -Επιπλέον δεν έχετε βάλει (double) µπροστά από την πράξη για το ποσοστό και κάνετε ακέραια διαίρεση. -Δείτε και εδω την ενδεικτική λύση. Άσκηση 1η - Το πρόγραµµα δουλεύει κανονικά. - Στοίχιση σχετικά καλή, µην αφήνετε τόσο πολύ κενό όµως! - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Στοίχιση όχι και τόσο καλή. - Λείπουν ερωτηµατικά σε κάποια σηµεία του κώδικα. - Αρκετά λογικά λάθη. Δε χρειαζόταν να βάλετε while µέσα σε while! Γινόταν µε άλλο τρόπο! Δείτε τις λύσεις! 1663 -Σε γενικές γραµµές, πολύ καλή προσπάθεια. Μπράβο. -Οι διαθέσιµες θέσεις καλό είναι να δηλώνονται ως σταθερές µε χρήση define (προτιµότερο) ή const. -Η µεταβλητή temp δεν έχει περιγραφικό όνοµα. -Οµοίως για τις σταθερές. -Τα ονόµατα µεταβλητών choice1 και choice2 δεν είναι περιγραφικά. Είναι κακή πρακτική να συνδέεται ονόµατα µεταβλητών µε αριθµούς... -Οι γραµµές 18-22 και 26-27 θέλουν ένα tab δεξιά, για να είναι πιο ευδιάκριτη η στοίχιση στα do-while.

1664 FAIL Δε στάλθηκαν τα σωστά αρχεία. Συγκεκριµένα στάλθηκε το lab1 Άσκηση 1η 1666 - Το πρόγραµµα έχει συντακτικά λάθη. Λείπει ένα ερωτηµατικό στο τέλος της do while. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. - H προσπάθεια όµως είναι καλή. 1668 Οριακό Άσκηση 1η - Το πρόγραµµα σας έχει ένα συντακτικό λάθος γιατί έχει ένα ερωτηµατικό στο µετρητή της for. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε διάφορο (!=). - Το πρόγραµµα σας δεν έχει συντακτικό λάθος. - Στις εκτυπώσεις ακολουθούµε την εκφώνηση της άσκησης. Για παράδειγµα, θέλουµε να εµφανίζονται οι πιθανές επιλογές του χρήστη όσον αφορά τη βαθµολογία A-B-C-F. Μπορεί να πάρει λάθος αποτελέσµατα αν δώσει κάτι άλλο. - Επίσης δεν έχετε σωστό τον έλεγχο της 2ης do while. Χρειάζεται λογικό KAI και επίσης θα έπρεπε να είχατε το διάφορο

Άσκηση 1η 1669 - Το πρόγραµµα έχει συντακτικά λάθη. - Δεν έχετε ολοκληρώσει το πρόγραµµα αλλά η σκέψη σας είναι σωστή. Δείτε λύση. 1670 FAIL Δεν εστάλη άσκηση 1671 FAIL Δε στάλθηκαν τα σωστά αρχεία. Συγκεκριµένα στάλθηκε το lab1 Το πρόγραµµα έχει warnings λόγω σοβαρού λάθους στον κώδικα: χρησιµοποιείτε ανάθεση (=) σε σηµεία που έπρεπε να κάνετε σύγκριση (==) Λάθος στη συνθήκη της πρώτης do-while. Δεν είναι δυνατόν να βγεί ποτέ true: Ζητάτε από το loop να επαναλαµβάνεται όσο ο αριθµός είναι ταυτόχρονα αρνητικός και µεγαλύτερος του 200. Το σωστό θα ήταν να είχατε αντί για && 1672 FAIL Λάθος στη σύνταξη της for: τα τρία της τµήµατα είναι αρχικοποίηση, συνθήκη, ανανέωση µετρητή, κι εσείς έχετε βάλει τη συνθήκη στη θέση της αρχικοποίησης και την την ανανέωση µετρητή στη θέση της συνθήκης. Πάντως αυτό που µάλλον θέλατε να κάνετε είναι έξυπνο. Ο σωστός τρόπος θα ήταν: for ( ; students!= 0 ; students = students-1) και θα ήταν καλή ιδέα µόνο αν µετά δε χρειαζόµασταν το πλήθος των φοιτητών (καθότι θα έχει µηδενιστεί) Όταν διαβάζετε χαρακτήρες µε scanf, να βάζετε ένα κενό ανάµεσα στο " και το %c Απαράδεκτα ονόµατα µεταβλητών. Σας είπαµε ειδικά να ΜΗ χρησιµοποιήσετε X, Y, Z κτλ.

1673 -Άσκηση 1η: -Έχετε καλά ονόµατα µεταβλητών, ωραία στοίχιση και σχόλια στην αρχή του κώδικα. - Δεν έχετε ορίσει ως σταθερά (µε const ή #define) το συνολικό πλήθος των εισιτηρίων. - Έτσι πως είναι οι βρόχοι, ποτέ δεν εκτελείται η printf("not available"); γιατί η συνθήκη της πρώτης while είναι seats<100. Θα δούλευε κανονικά αν είχατε βάλει <101 ή <=100 εκεί και στην if(seats<=100) να είχατε if(seats<100). - Το "κόλπο" µε το seats=101; είναι κακή τακτική. Αρκούσε ένα return 0 σε αυτό το σηµείο. 1674 Άσκηση 1η - Σχόλιο στην αρχή της πρότασης δεν υπάρχει (Έχουµε πει τόσες φορές ΝΑ ΥΠΑΡΧΕΙ!). - Αντί για for θα µπορούσες να έχεις do while. Δεν είναι ωραίο να εµφανίζεται 2 φορές το ίδιο µήνυµα της printf. Αν το έκανες µε do while θα µπορούσες να το κάνεις αυτό. - Δε γίνεται έλεγχος για το choice == 2 που σηµαίνει τερµατισµός του προγράµµατος. - Σχόλιο στην αρχή της πρότασης δεν υπάρχει. - Στοίχιση όχι και τόσο καλή. Στη switch case να µην τα έχεις µαζεµένα. - Το πρόγραµµα σου έπρεπε να δίνει στο χρήστη την επιλογή της 1ης άσκησης!!! Ουσιαστικά έπρεπε να ενσωµατώσεις αυτό που έχεις εδώ στη λύση της πρώτης. 1675 FAIL Στείλατε µόνο µια άσκηση, η οποία δεν έκανε compile, το αρχείο εστάλη "χύµα" και όχι σε tgz

1676 Οριακό Pass Άσκηση 1η - Δεν έγινε έλεγχος σε περίπτωση που δώσει ο χρήστης 2! Έπρεπε να έχετε και εκείνον τον έλεγχο προκειµένου να τερµατίζει το πρόγραµµα σας - Το πρόγραµµα έχει συντακτικά και λογικά λάθη. - Λείπει το σχόλιο στην πρώτη γραµµή. - Λάθος ονόµατα και δήλωση µεταβλητών! Δεν έχετε δηλώσει καν τύπο. - Δεν κάνετε σωστό έλεγχο για τους χαρακτήρες! Δείτε λύσεις! Στείλατε χύµα τα αρχεία χωρίς να τα έχετε µέσα σε φάκελο. 1677 FAIL -Η συνθήκη στη while που µετράτε φοιτητές είναι λάθος. Αφού θέτετε i=0 έπρεπε να είχατε i<students. -Διαβάζετε χαρακτήρα µε λάθος τρόπο. Το σωστό για να αποφύγετε τα προβλήµατα µε τη getchar() θα ήταν scanf(" %c", &grade); -Δεν έχετε printf που να λέει Enter Grade:. -Ο έλεγχος στην τελευταία while για µη αποδεκτούς βαθµούς είναι λάθος. -Μεταβλητές, στοίχιση και σχόλιο οκ. -Η χρήση switch θα ήταν κατάλληλη και αυτή σε σχεση µε την if. -Θα µπορούσατε να δηλώσετε το µέγιστο αριθµό φοιτητών µε σταθερά. -Δείτε την ενδεικτική λύση. -Έχετε και εδώ τα ίδια λάθη. -Επιπλέον δεν έχετε βάλει (double) µπροστά από την πράξη για το ποσοστό και κάνετε ακέραια διαίρεση. -Δείτε και εδω την ενδεικτική λύση.