lab7 Α. Μ. Βαθμός Σχόλια 1183 1194 1238 1239 1240 1241 1242 1243 1244 1246 - Η συνθήκη του do/while είναι λάθος µε αποτέλεσµα να µπορεί ο χρήστης να βάζει στοιχεία περισσότερα του SIZE. - Στην συνθήκη for έχεις µπερδέψει την µεταβλητή size µε την σταθερά SIZE µε αποτέλεσµα όποιον αριθµό και να βάζω πάντα να µου ζητά 5 τίτλους. Γι' αυτό είναι καλύτερο να χρησιµοποιείς διαφορετικά ονόµατα έτσι ώστε να µην τα µπερδεύεις. - Το πρόγραµµα λειτουργεί σωστά. - Η µεταβλητή userchoice_ptr δε χρειάζεται, µπορούσες να χρησιµοποιείς την userchoice στη θέση της, µια και υπάρχει ήδη δηλωµένη στη main() - Οι συναρτήσεις που όρισες είναι µάλλον τετριµµένες, πιο χρήσιµη θα ήταν π.χ. Μια Συνάρτηση search() που θα έκανε αναζήτηση στον πίνακα. - Πρόσεχε τα όρια των loops. Αν διατρέχεις πίνακα, το i πρέπει να πηγαίνει από 0 µέχρι και SIZE-1, κι όχι από 1 µέχρι και SIZE. - Δίνε καλύτερα ονόµατα στις µεταβλητές (πχ το k θα µπορούσες να το ονοµάσεις found) - Καλή δουλειά κατά τα άλλα - Kαλή δουλειά. - Θα έπρεπε να χρησιµοποιήσεις συναρτήσεις για τµήµατα του κώδικα που επαναλαµβάνονται. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση του κώδικα και όχι SPACE. - Kαλή δουλειά. - Η αναζήτηση στη βιβλιοθήκη µπορούσε να γίνει πιο απλά και να επιστρέφει τα σωστά αποτελέσµατα. - Λειτουργεί σωστά το διάβασµα των βιβλίων και η αποθήκευσή τους στον πίνακα από structs, αλλά όχι η αποθήκευση των αποτελεσµάτων της αναζήτησης σε βοηθητικό πίνακα. - Η εκφώνηση έλεγε ότι ο πίνακας vivliothiki είναι µεγέθους SIZE, όχι µεγέθους 5. - Καλή δουλειά γενικά. - Επειδή το µέγεθος των συµβολοσειρών είναι 20 θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Για την στοίχιση να χρησιµοποιείς µόνο ΤΑΒ. - Πολύ καλή δουλειά. Page 1
1247 1248 Δεν έχεις συναρτήσεις και δεν εκτυπώνεις αποτελέσµατα, αλλά κατά τα άλλα καλή δουλειά. 1249 1251 1252 1253 - Πολύ καλή λύση. 1255 1256 1258 - Πολλά λάθη κατά τη µεταγλώττιση 1260 lab7 - Η συνθήκη answer<1 && answer>size) είναι πάντα ψευδής - Για να λειτουργήσει σωστά ο έλεγχος if(strcmp(pinakas[j].titlos,epikefalida)==0) έπρεπε να είχες εισάγει το πρώτο στοιχείο στον πίνακα. - Τι ρόλο παίζει η µεταβλητή antitypa? - Δε χρησιµοποιείς συναρτήσεις - Γενικά καλή προσπάθεια και σωστός αλγόριθµος. Compilation errors: -γρ.15: int name -> char name[] -γρ. 46: int i; -γρ. 56: plithos=sinartisi(pinakas, name, pinakas2, books); Αλλά δίνει segfault. Χρειάζεται στη γρ.19 plithos=0; (αντί για plithos==0;) - Στους βρόχους ο µετρητής i έπρεπε να τρέχει από 0 έως <books, όχι <=books - Πολύ καλή δουλειά. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση και όχι SPACE. - Πολύ καλή δουλειά. - Καλή δουλειά γενικά. - Επειδή το µέγεθος των συµβολοσειρών είναι 20 θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Για την στοίχιση να χρησιµοποιείς µόνο ΤΑΒ. - Χρησιµοποιείς µεταβλητές χωρίς να τις έχεις αρχικοποιήσει - Η συνθήκη του while που ελέγχει το πλήθος των βιβλίων είναι λάθος. - Όταν το µέγεθος της συµβολοσειράς είναι 20, το scanf πρέπει να διαβάζει 19 χαρακτήρες. - Δε χρησιµοποιείς συναρτήσεις - Βάζοντας ερωτηµατικό στο τέλος του while((vivlia > 0) && (vivlia < SIZE)); τερµατίζεις την εντολή while, οπότε δεν υπάρχει περίπτωση να διαβάσει την τιµή για τα vivlia. - Βάζεις ερωτηµατικό στο τέλος του if που συγκρίνει τίτλους και συγγραφείς και ως αποτέλεσµα το library[j].num_books++ ; εκτελείται πάντα. - Το εξωτερικό for δεν τερµατίζει ποτέ. Page 2
lab7 1261 1262 1265 1267 1269 1271 1274 1276 1278 - Προσοχή µε την στοίχιση του κώδικά σου. Να χρησιµοποιείς µόνο ΤΑΒ και όχι SPACE. - Θα έπρεπε να ελέγχεις και τον author και τον title γιατί το όνοµα που ψάχνω θα µπορούσε να είναι σε οποιαδήποτε απο αυτές τις κατηγορίες. - Γενικά καλή δουλειά. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση του κώδικα και όχι SPACE. - Η συνθήκη books>size && books<0 είναι πάντα ψευδής - Όταν το µέγεθος ενός string είναι 20, τότε το scanf πρέπει να διαβάζει 19 χαρακτήρες - Λάθος στον αλγόριθµο: Το νέο βιβλίο έπρεπε να εισάγεται στον πίνακα µόνο αν δεν υπάρχει ήδη. - Λάθος στην αρχικοποίηση του αριθµού αντιτύπων. - Πρόσεχε τα όρια των loops!!! - Δεν υπάρχουν συναρτήσεις - Δεν προσδιορίζεται το µήκος του string σε όλες τις scanf. - Δεν κάνει σωστά αναζήτηση γιατί ελέγχεις µόνο τον τίτλο αν είναι ίδιος µε τον τίτλο και τον συγγραφέα. - Θα έπρεπε να χρησιµοποιήσεις συναρτήσεις για τµήµατα του κώδικα που επαναλαµβάνονται. - Θα έπρεπε στο τέλος να εκτυπώνει όλους τους τίτλους που βρίσκονται στον κατάλογο µε την ένδειξη 'Available'/'Not Available' είτε βρεί το βιβλίο που ψάχνουµε έιτε όχι. - από τη στιγµή που ορίζεις το SIZE, να χρησιµοποιείς αυτό, και όχι 5 όπου χρειάζεται. - Άσχηµα ονόµατα µεταβλητών k, l - Έπρεπε να ελέγχεις αν ταιριάζει ο τίτλος ή ο συγγραφέας (κι όχι αν ταιριάζει και ο τίτλος και ο συγγραφέας) - ΜΗ ΒΑΖΕΙΣ \n ΜΕΣΑ ΣΤΟ FORMAT STRING TOY scanf!!! - Μην ανακατεύεις τα includes µε τα defines. - Καθόλου σχόλια. - Προσπάθησε να αφήνεις κενές γραµµές. - Στην συνάρτηση av() έπρεπε να περνάς και το αριθµό των χρησιµοποιηµένων θέσεων στο πίνακα καθώς δεν είναι όλες οι θέσεις έγκυρες/χρησιµοποιηµένες. - Δεν προσδιορίζεις το µέγεθος του string στις scanf. - Ο κώδικάς σου δεν είναι ολοκληρωµένος. Θα έπρεπε να χρησιµοποιήσεις struct και τουλάχιστον άλλη µια συνάρτηση. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση. Page 3
lab7 1280 1281 1282 1283 1284 1286 1288 1289 1292 - Κακή στοίχιση. - Δεν χρησιµοποίησες συναρτήσεις. - Διαβάζεις +1 βιβλία. - Κάνεις 2 φορές τις συγκρίσεις. Μια για το αν υπάρχει και µια για το αν δεν υπάρχει. - Δεν εκτυπώνεις όλα τα βιβλία στο τέλος. - Πολύ καλή δουλειά. - Σωστή δοµή προγράµµατος. - Τα αποτελέσµατα δεν εκτυπώνονται σωστά, επειδή ο πίνακας table2 δεν έχεις φροντίσει να περιέχει έγκυρα δεδοµένα για το πεδίο author. Έπρεπε να αντιγράφονται από τον table1, όπως αντιγράφονται οι τίτλοι των βιβλίων στη γρ.23. - Επίσης, στη γρ. 67 έπρεπε να τυπώνονται µόνο counter το πλήθος στοιχεία του table2 (όχι όλα, γιατί τα υπόλοιπα περιέχουν "σκουπίδια") - Καλή λύση. - Τα αποτελέσµατα δεν τυπώνονται ακριβώς όπως λένε οι προδιαγραφές, δλδ. δεν τυπώνεται σε κάθε γραµµή ο συγγραφέας - Οι γρ. 61-65 είναι ισοδύναµες µε printf("%s ", key); - Πολύ καλή δουλειά. - Δεν χρειαζόταν να φτιάξεις µια καινούρια struct για τα αποτελέσµατα εφόσον είναι ίδια µε αυτή των βιβλίων. - Να προσθέτεις σχόλια στον κώδικά σου για να είναι πιο ευνόητος. - Χρήση καθολικών µεταβλητών. - Στην συνάρτηση if_diathesimo γιατί έχεις σαν παράµετρο int iparxei?. Δεν είναι πίνακας για να αλλάξεις τις τιµές του. Έπρεπε να το δηλώσεις µέσα στην συνάρτηση. - Στην αναζήτηση διαπερνάς όλο τον πίνακα παρόλο που κάποιες θέσεις δεν χρησιµοποιούνται. - Η µεταβλητή yparxei γίνεται 1 µόνο αν το τελευταίο στοιχείο στο πίνακα ταιριάζει. - Δεν εκτυπώνεις τα αποτελέσµατα όπως ζητά η άσκηση. - Καθόλου σχόλια. - Προσπάθησε να αφήνεις κενές γραµµές. - Δεν χρησιµοποίησες συναρτήσεις. - Μόνο µια αναζήτηση θα κάνεις. Δεν έπρεπε να ζητάς σε for τίτλο και συγγραφέα για αναζήτηση. - Λάθος χρήση του enum στα ifs. - Θα έπρεπε να εκτυπώνει ξανά το µήνυµα 'Enter number of books' όταν βάζω αριθµό εκτός κλίµακας. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση και όχι SPACE. - Θα έπρεπε να εκτυπώνει 'Available'/'Not Available' και όχι 0/1. Page 4
lab7 1294 1295 1297 1300 1303 1304 1305 1306 1307 1309 1310 1311 - Αν το βιβλίο υπάρχει τότε εκτυπώνει available όσες φορές υπάρχει το βιβλίο στο πίνακα. - Πολύ καλό. - Το πρόγραµµα λειτουργεί όπως προβλέπεται. - (Λύση που χρησιµοποιεί Variable Length Arrays). - Θα µπορούσαν να µην αποθηκεύονται εγγραφές µε κενές συµβολοσειρές στον βοηθητικό πίνακα, αλλά µόνο τα αποτελέσµατα της Αναζήτησης. - Kαλή δουλειά. - Θα ήταν καλύτερα αν χρησιµοποιούσες do while για έλεγχο του αριθµού βιβλίων αντι while. - Θα ήταν καλύτερα αν η µεταβλητή dia8esimotita στο struct σήµαινε ότι το βιβλίο είναι διαθέσιµο όταν έχει τιµή 1 αντί για 0. - Πολύ καλό. - Στην εκτύπωση τυπώνεις ακόµα ένα βιβλίο που δεν υπάρχει στον πίνακα. - Όταν διαβάζεις µια συµβολοσειρά µε scanf να προσδιορίζεις πάντα το πλήθος των στοιχείων που πρέπει να διαβαστούν. - Πολύ καλή δουλειά κατά τα άλλα - Καθόλου σχόλια. - Προσπάθησε να αφήνεις κενές γραµµές. - Κάνεις 2 φορές αναζήτηση. Μια για αν υπάρχει και µια αν δεν υπάρχει. - Καλή δουλειά. - Να αποφεύγεις την χρήση global µεταβλητών. - Γενικά πολύ καλή λύση. - Αλλά η συνάρτηση diathesimo() δεν κάνει τίποτα χρήσιµο, απλώς καλεί την strcmp(). Πιο χρήσιµη θα ήταν µια π.χ. συνάρτηση search() που θα έκανε αναζήτηση στον πίνακα. - Πολύ καλή λύση. - Έχεις δηλώσει µια σταθερά SIZE ίση µε 20, που χρησιµοποιείται για δύο πράγµατα, το µήκος των συµβολοσειρών και το µέγεθος του πίνακα της βιβλιοθήκης αλλά πιο Λογικό θα ήταν να είχες δύο διαφορετικές σταθερές. Καλή προσπάθεια, αλλά δε χρησιµοποιείς καθόλου συναρτήσεις όπως ζητούσε η εκφώνηση. Επίσης, το νέο βιβλίο δεν έπρεπε να εισάγεται στον πίνακα αν ήδη υπάρχει. Στο εσωτερικό for το j έπρεπε να πηγαίνει µέχρι και i-1, γιατί όταν πηγαίνει µέχρι και i είναι εγγυηµένο ότι θα µπει στο αληθές κοµµάτι του if. Page 5
1312 1314 1315 1316 Κενό αρχείο 1317 1319 1321 1324 - Δεν παραδόθηκε άσκηση 1327 1328 - Ο κώδικάς σου δεν κάνει compile. Να ζητάς βοήθεια την ώρα του εργαστηρίου για να διορθώνεις τα λάθη. - Η στοίχιση να γίνεται µόνο µε ΤΑΒ και οχι µε SPACE. - Να βάζεις σχόλια για να είναι πιο ευνόητος ο κώδικάς σου. - Πρόσεχε την σύνταξη της scanf. lab7 - Δε λειτουργεί σωστά το loop για τον έλεγχο του αριθµού βιβλίων. Έπρεπε να µπορείς να το κάνεις σωστά αυτό! Η συνθήκη ελέγχει το αντίθετο από αυτό που θα έπρεπε. - Να χρησιµοποιείς κατάλληλες συναρτήσεις για τη διαχείριση συµβολοσειρών. Για παράδειγµα, strcpy αντί για επανάληψη που αντιγράφει έναν-ένα χαρακτήρα. - Η ιδέα σου είναι σωστή για την εισαγωγή του πρώτου στοιχείου, αλλά την υλοποιείς λάθος: υποθέτεις ότι ο συγγραφέας και ο τίτλος έχουν το ίδιο µήκος. - Η εκφώνηση έλεγε ξεκάθαρα ότι απαγορεύεται η χρήση καθολικών µεταβλητών - Λάθος στο όριο του πρώτου for. - Λάθη στη χρήση struct - ξαναδιάβασε τη θεωρία! - Δεν γεµίζεις το πίνακα µε τα structs. - Δεν κάνεις σωστά αναζήτηση. - Δεν είναι σωστός ο τρόπος που δήλωσες την συνάρτηση για τον έλεγχο. - Καλή δουλειά γενικά. - Επειδή το µέγεθος των συµβολοσειρών είναι 20 θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Για την στοίχιση να χρησιµοποιείς µόνο ΤΑΒ. - Kαλή δουλειά. - Ο κώδικάς σου δεν είναι ολοκληρωµένος. Δεν υπάρχει η main. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση. - Πολύ καλή προσπάθεια. - Λύση που χρησιµοποιεί Variable Length Arrays. - Τα αποτελέσµατα βγαίνουν λάθος επειδή στη γρ.58 έπρεπε να διαβάζονται από τον πίνακα apotelesmata, όχι από τον pinakas. Page 6
lab7 1330 1332 1334 1336 1337 1339 1341 1342 1345 - Το εσωτερικό for δεν έπρεπε να πηγαίνει µέχρι SIZE, γιατί δεν υπάρχουν τόσα στοιχεία στον πίνακα. Θα δούλευε σωστά η ιδέα σου αν είχες αρχικοποιήσει όλες τις θέσεις του πίνακα µε κάποιο τρόπο. - Δεν υπάρχουν συναρτήσεις - Η συνθήκη που ελέγχει τον αριθµό των βιβλίων που εισάγει ο χρήστης είναι λάθος µε αποτέλεσµα να δέχεται αριθµό µεγαλύτερο του προκαθορισµένου µεγέθους SIZE. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση και όχι SPACE. - Θα έπρεπε να χρησιµοποιήσεις έναν βοηθητικό πίνακα που θα αποθηκεύει όσα βιβλία ταιριάζουν µε αυτό που ψαχνουµε. - Θα έπρεπε να χρησιµοποιήσεις τουλάχιστον άλλη µια συνάρτηση επιπλέον της main στον κώδικά σου. - H στοίχιση να γίνεται µόνο µε ΤΑΒ και όχι µε SPACE. - Επειδή το µέγεθος των συµβολοσειρών είναι 20 θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Προσπάθησε να αφήνεις κενές γραµµές. - Λάθος στην αναζήτηση. Βρίσκεις αν υπάρχει βιβλίο µε τον τίτλο και µετά αν υπάρχει οποιοδήποτε βιβλίο από τον συγγραφέα που δόθηκε. - Όχι και τόσο καλή στοίχιση. - Καλή δουλειά. - Να αποφεύγεις την χρήση global µεταβλητών. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση του κώδικα και όχι SPACE. - Καλή δουλειά γενικά. - Επειδή το µέγεθος των συµβολοσειρών είναι 20 θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Για την στοίχιση να χρησιµοποιείς µόνο ΤΑΒ. - Μη χρησιµοποιείς ΠΟΤΕ καθολικές µεταβλητές - Όταν διαβάζεις µια συµβολοσειρά µε scanf να προσδιορίζεις πάντα το πλήθος των στοιχείων που πρέπει να διαβαστούν. - Λάθος στη λογική όταν εισάγεις νέο βιβλίο στον πίνακα: δοκίµασε να τρέξεις το πρόγραµµα µέσω gdb για να το εντοπίσεις. - Πάντως γενικά καλή προσπάθεια. Θα έπαιρνες καθαρό αν δεν είχες καθολικές µεταβλητές. Page 7
1346 1353 1354 1355 temp1 temp12 temp13 temp15 Εξαιρετική δουλειά, µπράβο! temp19 temp20 temp21 temp22 temp23 - Kαλή δουλειά. lab7 - Καλή προσπάθεια, το πρόγραµµα λειτουργεί όπως προβλέπεται. - Αλλά χρησιµοποιεί καθολικές µεταβλητές. Έπρεπε οι δύο πίνακες να είναι δηλωµένοι Μέσα στη main() και να περνάνε ως ορίσµατα µέσα στην booksearch() - Χρήση καθολικών µεταβλητών. - Δεν προσδιορίζεις το µέγεθος του string στις scanf. - Στην αναζήτηση διαπερνάς όλο τον πίνακα παρόλο που κάποιες θέσεις δεν χρησιµοποιούνται. - Για αριθµό βιβλίων = 0 δεν επαναλαµβάνει το βήµα 1. - Η συνάρτηση για την αναζήτηση καλείται 2 φορές. - Καθόλου σχόλια. - ΜΗ ΒΑΖΕΙΣ \n ΣΤΟ FORMAT STRING TOY scanf! - Λάθος στα όρια των loops. - Όταν ένα string έχει 20 θέσεις, το scanf πρέπει να διαβάζει 19 χαρακτήρες. - Ξαναδιάβασε πώς λειτουργεί η strcmp. Δεν επιστρέφει true/false! - Ξαναδιάβασε πώς λειτουργεί η strcpy. Έχεις βάλει ανάποδα τα ορίσµατα. - Θα έπρεπε να εκτυπώνει όλους τους τίτλους τις βιβλιοθήκης µε την ένδειξη 'Available'/'Not Available'. - Η συνάρτηση elegxos() δεν κάνει κάτι χρήσιµο, απλώς καλεί την scanf(). Πιο χρήσιµη θα ήταν µια π.χ. συνάρτηση search() που θα έκανε αναζήτηση στον πίνακα. - Λύση που χρησιµοποιεί Variable Length Arrays. - Ο πίνακας new[] τι µέγεθος έχει; Νοµίζω ότι δεν είναι σωστά δηλωµένος, παρόλα αυτά το πρόγραµµα τυχαίνει να δουλεύει σωστά Κάνει compile, αλλά ο πίνακας από structs δεν διαβάζεται σωστά, Ούτε η αναζήτηση µέσα σε αυτόνγίνεται µε σωστό τρόπο. - Καλή προσπάθεια. - Στους βρόχους ο µετρητής i έπρεπε να τρέχει από 0 έως <num_books, όχι <=num_books. - Οµοίως και στη συνάρτηση teliki_ektyposi() - Στο βρόχο ο µετρητής i έπρεπε να τρέχει από 0 έως <num, όχι <=num - Έχεις παραλείψει µια εντολή: στη γρ. 28: strcpy (pinaka[i].author, table[i].author); - Σαν αποτέλεσµα, έπρεπε αντί να τυπώνεται ολόκληρος ο βοηθητικός πίνακας από 0 έως SIZE (όπου περιέχονται και σκουπίδια ), να τυπώνεις µόνο τις Εγγραφές που το όνοµα του συγγραφέα ταιριάζει. - Το πρόγραµµα δε λειτουργεί. Πουθενά στον κώδικα δεν υπάρχει πίνακας από struct βιβλία. Page 8
temp33 temp35 temp36 - Δεν παραδόθηκε άσκηση temp39 Καλή δουλειά temp4 temp40 temp41 temp44 temp5 temp6 lab7 - Compilation errors: Γρ. 17, 18: σύγκριση συµβολοσειρών γίνεται µε τη συνάρτηση strcmp() όχι µε ==, ανάθεση µιας συµβολοσειράς σε άλλη γίνεται µε strcpy() όχι µε =. - Γρ. 48: authorfound -> authorfound.author. - H sum() έπρεπε αντί για void ναι είναι int και να επιστρέφει τιµή που να αποθηκεύεται στη µεταβλητή sum της main(), γιατί τώρα η µεταβλητή sum είναι πάντα µηδέν και δεν εκτυπώνονται τα αποτελέσµατα (γρ. 52-55). - Πάντως γενικά ο κώδικας είναι σωστά δοµηµένο - Το πρόγραµµα δεν κάνει compile κι έχει σοβαρά λάθη. - Δεν ζητάς αριθµό βιβλίων επειδή αρχικοποίησες το plithos = 0. - Δεν προσδιορίζεις το µέγεθος του string στις scanf. - Δεν κάνεις σωστά αναζήτηση. - Δεν εκτυπώνεις τον πίνακα στο τέλος. - Δεν χρησιµοποίησες συναρτήσεις. - Η συνθήκη NumOfBooks<0 && NumOfBooks>SIZE είναι πάντα ψευδής - Έπρεπε πρώτα να ελέγχεις αν το βιβλίο υπάρχει και µετά να το εισάγεις στον πίνακα (αν δεν υπάρχει ήδη). - Τι ακριβώς προσπαθείς να κάνεις στο loop που ξεκινά στη γραµµή 67? Γιατί αλλάζεις τα περιεχόµενα του Board? Έπρεπε να ελέγχεις αν ταιριάζει ο τίτλος ή ο συγγραφέας κι όχι αν ταιριάζουν και τα δύο ταυτόχρονα. - Όταν διαβάζεις µια συµβολοσειρά µε scanf να προσδιορίζεις πάντα το πλήθος των στοιχείων που πρέπει να διαβαστούν. - Άσχηµα ονόµατα µεταβλητών - Ξαναδιάβασε πώς λειτουργεί η strcmp. ΔΕΝ επιστρέφει true/false - Λάθος χρήση της µεταβλητής antitupa. Έπρεπε να χρησιµοποιείς το πεδίο copies - Καλή δουλειά γενικά. - Tο µέγεθος των συµβολοσειρών είναι 20 και όχι 21. Επιπλέον θα έπρεπε µε την scanf να ελέγχεις το µήκος της συµβολοσειράς που εισάγει ο χρήστης. - Θα έπρεπε να χρησιµοποιήσεις την συνάρτηση strcpy και να µην κάνεις απλά ανάθεση µε το '='. - Προσπάθησε να αφήνεις κενές γραµµές. - Στην συνάρτηση check() έπρεπε να περνάς και το αριθµό των χρησιµοποιηµένων θέσεων στο πίνακα καθώς δεν είναι όλες οι θέσεις έγκυρες/χρησιµοποιηµένες. - Διαβάζεις number +1 βιβλία. - Στην εκτύπωση τυπώνεις όλες τις θέσεις και όχι µόνο τις χρησιµοποιηµένες. Page 9
temp7 temp9 - Είναι συνάρτηση η check??? ποια η χρησιµότητα µιας συνάρτησης που σου επιστρέφει ότι τις δίνεις??? - Δεν γίνεται έλεγχος για τον αριθµό των βιβλίων. - Λάθος αναζήτηση. - Δεν εκτυπώνει τον πίνακα στο τέλος. lab7 - Η συνθήκη της do/while είναι λάθος µε αποτέλεσµα να µπορώ να βάλω πάνω απο 5 τίτλους βιβλίων. Θα ήταν πολύ απλό να χρησιµοποιήσεις µια for. - Να χρησιµοποιείς µόνο ΤΑΒ για την στοίχιση του κώδικα και όχι SPACE. - Θα έπρεπε να τυπώνει όλα τα βιβλία που καταχωρούνται µε την ένδειξη 'Available'/'Not Available' και όχι µε τους αριθµούς 1/0. Page 10