AEM LAB2 0001 Δεν είναι στοιχισµένες σωστά οι εντολές µέσα στη main. 0002 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. 0003 0004 Οι µεταβλητές πρέπει να δηλώνονται στην αρχή του block. 0005 Πρόσεχε τις διαφορές ανάµεσα σε µικρά και κεφαλαία γράµµατα: Συγκρίνεις 2 φορές µε 'Υ' αντί για 'Υ' και 'y' 0006 0007 οριακά 0008 Λάθη στη σύνταξη του if.. Δεν υπάρχουν σχόλια οριακά : Ο τελεστής της πρόσθεσης είναι + όχι & Άσχηµα ονόµατα µεταβλητών (x, y, k) 0009 Ο χαρακτήρας αλλαγής γραµµής είναι \n οχι /n Ελλειπή σχόλια. 0010 0011 Aντιγραφή 0012 Λανθασµένα αποτελέσµατα. Page 1
0013 0014 0015 0016 0017 Ο φόρος δεν εκτυπώνεται σωστά. 0018 NO EMAIL 0019 0024 0025 0026 Sheet3_2 Δεν υπάρχει στοίχιση. Ελλειπή σχόλια. Όλες οι εντολές µέσα στο block της main έπρεπε να είναι πιο µέσα κατά ένα tab. Άσχηµα ονόµατα µεταβλητών. Όταν ο πελάτης δεν έχει ζητήσει νερό, αυτό δεν πρέπει να εκτυπώνεται στην απόδειξη, ακόµη κι αν είναι 0. Δεν είναι στοιχισµένες σωστά οι εντολές µέσα στο if. Κακή στοίχιση.. Δεν υπάρχει στοίχιση. 0020 0021 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. Τα σχόλια στα printf δεν είναι απολύτως απαραίτητα γιατί 0022 είναι αρκετά καθαρός ο κώδικας. Καλύτερα θα ήταν να υπήρχε ένα σχόλιο στην αρχή του προγράµµατος που να περιγράφει τη γενική λειτουργία. 0023 οριακά Λόγω λάθους στο scanf (για το οποίο έδωσε warning o compiler) δεν υπολογίζεται σωστά η περίπτωση παραγγελίας νερού. Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf οριακά Page 2
0027 0028 0030 0031 0032 0033 0034 0638 1043 1067 1187 1188 1189 1190 1191 1192 1193 1072 1073 1074 1075 1076 Sheet3_2 Όλα τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. Λάθος στη σύνταξη του scanf όταν διαβάζει χαρακτήρες. Δεν εκτυπώνεται ο φόρος. οριακά οριακά Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. οριακά Inconsistent στοίχιση οριακά οριακά οριακά Όταν ο χρήστης απαντά αρνητικά για το νερό, το πρόγραµµα εξακολουθεί να ρωτάει πόσα µπουκάλια θέλει. Τα ονόµατα των µεταβλητών δεν είναι αρκετά περιγραφικά. Το νερό εκτυπώνεται ανεξάρτητα από την επιλογή του χρήστη λόγω λάθους στη σύνταξη του if. Το λάθος στο οποίο αναφέρεται το warning του compiler κάνει το πρόγραµµά σου να "σκάει". Όλα τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. Page 3
1077 1078 1079 Κακή στοίχιση. 1080 NO MAIL οριακά 1081 1082 1083 Aντιγραφή 1084 1085 1086 1087 Απέφευγε τεράστιες γραµµές. Αν µια εντολή είναι πολύ µεγάλη, σπάσε τη. 1088 Το output δεν παρουσιάζεται όπως ζητά η εκφώνηση. 1089 Η τιµή του νερού υπολογίζεται στο σύνολο ακόµη κι αν αυτό δε ζητηθεί. 1090 Λάθη στο output 1091 Η απόδειξη εκτυπώνεται όλη σε µία γραµµή, όχι όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf 1092 1093 1094 οριακά Γράφε ολόκληρες λέξεις στα σχόλια - το πρόγραµµα δεν είναι SMS 1095 Το κενό στοίχισης πρέπει να είναι λίγο µεγαλύτερο: είναι καλύτερα να χρησιµοποιείς tab. 1096 1097 Λάθη στη σύνταξη του scanf. οριακά 1098 Page 4
1099 1100 στο if. 1101 ERROR in attachment 1102 1103 Sheet3_2 Λάθη στην παρουσίαση του output λόγω κακής χρήσης ερωτηµατικού Το κενό στοίχισης πρέπει να είναι λίγο µεγαλύτερο: είναι καλύτερα να χρησιµοποιείς tab. Οι δηλώσεις µεταβλητών πρέπει να είναι κι αυτές στοιχισµένες όπως ο υπόλοιπος κώδικας. Όταν ο πελάτης δεν έχει ζητήσει νερό, αυτό δεν πρέπει να εµφανίζεται στην οθόνη ακόµη κι αν είναι 0. οριακά 1104 Λάθος στην παρουσίαση του output. 1105 1106 Λάθη στην παρουσίαση του output. Λάθος στην ανάγνωση χαρακτήρων. Κακή στοίχιση. 1107 1108 1109 Όταν διαβάζεις χαρακτήρες µε scanf πρέπει να βάζεις κενό ανάµεσα στο " και στο % 1110 1111 1112 οριακά 1113 Άσχηµη στοίχιση - δυσανάγνωστο πρόγραµµα. 1114 Τα σχόλια στα printf δεν είναι απολύτως απαραίτητα γιατί είναι αρκετά καθαρός ο κώδικας. Καλύτερα θα ήταν να υπήρχε ένα σχόλιο στην αρχή του προγράµµατος που να 1115 περιγράφει τη γενική λειτουργία. Μη γράφεις πέρα από την 80ή στήλη (σύνηθες µέγεθος στα περισσότερα τερµατικά), γιατί το κείµενο κάνει wrap και το πρόγραµµα είναι δυσανάγνωστο Ελλειπή σχόλια. 1116 Μη χρησιµοποιείς σύνταξη C++ για σχόλια. Page 5
1123 1124 1125 1126 1127 1128 1129 Προβλήµατα στη στοίχιση. 1130 1131 1132 1133 Sheet3_2 1117 Πρόσεχε λίγο τη στοίχιση. οριακά 1118 Δεν υπάρχουν σχόλια Άσχηµη στοίχιση 1119 1120 οριακά 1121 1122 Inconsistent στοίχιση Το πρόγραµµα δε λειτουργεί όταν ο χρήστης δώσει µικρούς χαρακτήρες στην απάντηση για το νερό. Τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται όλα ως σταθερές Το output δεν είναι ακριβώς όπως ζητά η εκφώνηση. Ελλειπή σχόλια οριακά οριακά Πρέπει όλες οι εντολές στο block της main να είναι ένα tab πιο µέσα. Το output δεν είναι όπως περιγράφει η εκφώνηση. Παρόλο που δηλώνεις σωστά τις σταθερές, δεν τις χρησιµοποιείς. Απέφευγε τεράστιες γραµµές. Αν µια εντολή είναι πολύ µεγάλη, σπάσε τη. Page 6
Το όνοµα του αρχείου πρέπει να είναι lab2.c, όχι lab.c 1134 Η απόδειξη δεν εκτυπώνεται όπως ζητά η εκφώνηση: Να χρησιµοποιείς \n στο printf. Δεν υπάρχει στοίχιση. 1135 Το output εµφανίζεται µε λάθος τρόπο και το Total εκτυπώνεται δύο φορές 1136 Όλα τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. 1137 Λάθη στη σύνταξη του printf οριακά 1138 Όταν ο χρήστης δε ζητά νερό, δεν πρέπει αυτό να εκτυπώνεται στην 1139 απόδειξη, ακόµη κι αν η τιµή είναι µηδέν. οριακά 1140 Άσχηµη στοίχιση 1141 1142 Κώδικας µέσα στο block του if πρέπει να είναι στοιχισµένος πιο µέσα. 1143 οριακά 1144 1145 1146 ERROR in attachment οριακά 1147 οριακά 1148.. 1149 Το πρόγραµµα δε λειτουργεί σωστά όταν ο χρήστης δίνει 'y' ως απάντηση. Οι δηλώσεις µεταβλητών πρέπει να στοιχίζονται όπως και ο υπόλοιπος κώδικας. 1150 Δεν υπάρχουν σχόλια 1151 1152 Το πρόγραµµα δε λειτουργεί σωστά αν η προτίµηση νερού δίνεται µε µικρά γράµµατα. Τα ονόµατα µεταβλητών πρέπει να είναι πιο περιγραφικά (tax, όχι t) Page 7
1153 1154 1155 Οι εντολές στο block της main πρέπει να είναι στοιχισµένες 1 tab πιο µέσα. 1156 οριακά 1157 (πρόσεχε τη διαφορά µεταξύ µηδέν και όµικρον) 1158 ERROR in attachment 1159 1160. 1161 Χρειάζεται µεγαλύτερο κενό στοίχισης µέσα στο if. Γράφε ολόκληρες λέξεις στα printf - το πρόγραµµα δεν είναι SMS οριακά 1162 Δεν υπάρχει στοίχιση 1163 Όταν διαβάζεις χαρακτήρες µε scanf πρέπει να βάζεις κενό ανάµεσα στο " και στο % Ο χαρακτήρας αλλαγής γραµµής είναι \n, όχι /n 1164 1165 1166 1167 Όταν ο χρήστης επιλέγει νερό, το output δεν είναι σωστό. 1168 Έχεις δηλώσει σωστά σταθερές όπου χρειάζεται, αλλά δεν τις χρησιµοποιείς. 1169 1170 1171 1172 1173 1174 Άσχηµη στοίχιση, δυσανάγνωστος κώδικας. οριακά Άσχηµη στοίχιση. Λανθασµένα αποτελέσµατα (λάθη στους υπολογισµούς) οριακά Εµφανίζονται compilation warnings Δεν υπάρχει στοίχιση Λάθη στη χρήση τελεστών (9/100 είναι 0) Οι format specifiers δεν αντιστοιχούν στους τύπους των µεταβλητών που εκτυπώνονται. 1175 1176 ERROR in attachment Page 8
1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 οριακά Μη χρησιµοποιείς σχόλια C++ Άσχηµη στοίχιση - πολυ δυσανάγνωστο πρόγραµµα. Τα αποτελέσµατα είναι λανθασµένα. Το output δεν εµφανίζεται όπως ζητά η εκφώνηση. Όλα τα literals (3.0, 1.5, κτλ) πρέπει να ορίζονται ως σταθερές. Πρόσεχε λίγο τη στοίχιση. Άφηνε µεγαλύτερα κενά στη στοίχιση - συνίσταται tab. Page 9