====== Μάθημα 6 ====== * Κείμενα * Εμβέλεια μεταβλητών * Δομές (structs) ===== Προετοιμασία ===== {{ :qna:hw:c-programming-l06-a.pdf | Διαφάνειες }}\\ [[https://youtube.com/playlist?list=PLKr1MzPLfrfelm7eV9IcbQ5BeFxzTzNRQ | Βίντεο]] ===== Εργαστηριακή διάλεξη ===== {{ :qna:hw:c-programming-l06-b.pdf | Διαφάνειες }} \\ {{ :qna:hw:c-programming-exercise-6.pdf | Εκφώνηση }} \\ {{ :qna:hw:smproject-has-suffix.zip | smProject-HAS-SUFFIX}} \\ {{ :qna:hw:live-06.zip | Κώδικες }} ===== Εργασία 6.1 ===== ==== Ερώτημα 6.1.1 ==== Συνάρτηση ''hasSuffix'' === Έλεγχοι === Τα μηνύματα λάθους εμφανίζονται με τη μορφή: !hasSuffix("text", "suf", true/false) FAILED : μηνυμα όπου: * ''!'' σημαίνει ότι αναμενόταν ψευδές αποτέλεσμα, αλλά ήρθε αληθές, φυσικά εάν δεν υπάρχει σημαίνει το αντίθετο. * ''text'' είναι το κείμενο στο οποίο ψάχνουμε την κατάληξη * ''suf'' είναι η κατάληξη η οποία ψάχνουμε * ''true/false'' είναι το κατά πόσο η σύγκριση θα πρέπει να είναι ''caseSensitive'', δηλαδή για ''true'' θα είναι ''caseSensitive'', άρα το ίδιο γράμμα της αλφαβήτου σε πεζά και τα κεφαλαία θεωρείται διαφορετικό.\\ **Προσοχή! Αυτό είναι το αντίθετο από το παράδειγμα της τάξης που η παράμετρος ήταν ''caseInsensitive''** * ''μηνυμα'' είναι το συνοπτικό μήνυμα του λάθους, όπου ''CS'' σημαίνει Case Sensitive και το ''CI'' σημαίνει Case Insensitive. == Test 6-1-1-a == **Δεν εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ υπήρχε και θα έπρεπε να έχει εντοπιστεί__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive. Επίσης το κείμενο και η κατάληξη μπορεί να έχουν το ίδιο μήκος.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-b == **Εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ δεν υπήρχε ή δεν ταίριαζαν τα πεζά/κεφαλαία και **δεν θα έπρεπε να έχει εντοπιστεί**__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive. Επίσης το κείμενο και η κατάληξη μπορεί να έχουν το ίδιο μήκος.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-c == **Δεν εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ υπήρχε και θα έπρεπε να έχει εντοπιστεί__. Ο εντοπισμός ήταν **case insensitive**.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-d == **Εντοπίστηκε** η κατάληξη στο κείμενο, __**δεν θα έπρεπε να έχει εντοπιστεί**__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive.\\ Προσοχή! το κείμενο **ξεκινούσε** από την κατάληξη. Μήπως συγκρίνατε λάθος περιοχή των κειμένων;\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-f == **Εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ δεν υπήρχε ή δεν ταίριαζαν τα πεζά/κεφαλαία και **δεν θα έπρεπε να έχει εντοπιστεί**__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive.\\ Προσοχή! το κείμενο **περιείχε** την κατάληξη, αλλά όχι στο τέλος, ούτε και στην αρχή. Μήπως συγκρίνατε λάθος περιοχή των κειμένων;\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-g == **Δεν εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ υπήρχε και θα έπρεπε να έχει εντοπιστεί__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive. Επίσης το κείμενο και η κατάληξη μπορεί να έχουν το ίδιο μήκος.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//.\\ Προσοχή! το κείμενο **περιείχε** την κατάληξη και ενδιάμεσα και ως κατάληξη. == Test 6-1-1-h == **Εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ η κατάληξη ήταν **μεγαλύτερη** από το κείμενο και **δεν θα έπρεπε να έχει εντοπιστεί**__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-i == **Εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ το κείμενο ήταν κενό (''""'') αλλά η κατάληξη **δεν** ήταν και έτσι **δεν θα έπρεπε να έχει εντοπιστεί**__. Ο εντοπισμός μπορεί να ήταν case sensitive ή insensitive.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//. == Test 6-1-1-j == **Δεν εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ θα έπρεπε να έχει εντοπιστεί__.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//.\\ Προσοχή! η κατάληξη ήταν μία __κενή συμβολοσειρά__, άρα πάντα υπάρχει στο κείμενο. == Test 6-1-1-k == **Δεν εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ θα έπρεπε να έχει εντοπιστεί__.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//.\\ Προσοχή! η κατάληξη ήταν μία __κενή συμβολοσειρά__, άρα πάντα υπάρχει στο κείμενο, __ακόμα και αν αυτό είναι κενό__. == Test 6-1-1-l == **Εντοπίστηκε** η κατάληξη στο κείμενο, __ενώ **δεν** θα έπρεπε να έχει εντοπιστεί__.\\ //Δείτε το μήνυμα για τα ακριβή κείμενα που αφορούσε η δοκιμή//.\\ Προσοχή! η κατάληξη ξεκινούσε από την κατάληξη του κειμένου αλλά δεν ήταν η ίδια λέξη.