Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

Σχετικά έγγραφα
Δομές δεδομένων (Structures) Εισαγωγή στη C++

Γ7.2 Συμβολοσειρές (Strings) Γ Λυκείου Κατεύθυνσης

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

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Πίνακες (Arrays) Εισαγωγή στη C++

ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Ινστιτούτο Επαγγελµατική Κατάρτιση Κορυδαλλού "ΤΕΧΝΙΚΟΣ ΣΥΣΤΗΜΑΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ" (Ερωτήσεις Πιστοποίησης στην γλώσσα προγραµµατισµού C)

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Γ7.1 Επανάληψη ύλης Β Λυκείου. Γ Λυκείου Κατεύθυνσης

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

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

Δομημένος Προγραμματισμός (ΤΛ1006)

Στο πρόγραμμα θα πρέπει να γίνει υποχρεωτικά χρήση κλάσεων. Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

Εργαστήριο 2ο. Περίγραμμα Εργαστηριακής Άσκησης

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ : ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΥ ΕΞΑΜΗΝΟ : Α. ΥΠΕΥΘΥΝΟΣ ΜΑΘΗΜΑΤΟΣ : Μάγια Σατρατζέµη

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL) (PASCAL ) Μεταβλητές- Τύποι- Τελεστές

Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

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

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

4.1 Αναζήτηση. Εισαγωγή στη C++

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Προγραμματισμός Υπολογιστών Τάξη Γ Αθανασιάδης Χρήστος ΠΕ19 ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

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

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

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

3ο σετ σημειώσεων - Πίνακες, συμβολοσειρές, συναρτήσεις

Τι είναι υποπρόγραμμα; Τμήμα προγράμματος το οποίο επιτελεί ένα αυτόνομο υπολογιστικό έργο (γράφεται χωριστά από το υπόλοιπο πρόγραμμα)

Κεφάλαιο V: Δομές και ενώσεις. 5.1 Δομές.

Μονοδιάστατοι πίνακες Πολυδιάστατοι πίνακες Μέθοδοι Μέθοδοι Recursive Overloading

Προγραμματισμός H/Y Ενότητα 6: Δομές (structures) Επικ. Καθηγητής Συνδουκάς Δημήτριος Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

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

Εισαγωγή στη γλώσσα προγραμματισμού C++

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

Προγραμματισμός Ι. Δομές & Ενώσεις. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Για την υλοποίηση του προγράμματος χρειάζονται 3 βασικές κλάσεις.

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

C: Από τη Θεωρία στην Εφαρμογή

ΜΑΗΣ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Γ7.5 Αλγόριθμοι Αναζήτησης. Γ Λυκείου Κατεύθυνσης

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


Εντολές εισόδου - εξόδου. Εισαγωγή στη C++

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

Βασικά στοιχεία της Java

C: Από τη Θεωρία στην Εφαρµογή 2 ο Κεφάλαιο

Τύποι Δεδομένων Είσοδος/Έξοδος

ΘΕΜΑ Α. Α2. Να αναφέρετε από τι εξαρτάται η επιλογή του καλύτερου αλγορίθμου ταξινόμησης. Μονάδες 4. Σελίδα 1 από 8

Mεταβλητές (variables) και Σταθερές (constants)

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

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

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

Α2. Να γράψετε στο τετράδιο απαντήσεών σας το κατάλληλο τμήμα κώδικα, κάνοντας τις απαραίτητες αλλαγές σύμφωνα με την εκάστοτε εκφώνηση:

Ηλεκτρονικοί Υπολογιστές

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 2 Εντολές Εισόδου/Εξόδου Τελεστές. Δρ. Γιώργος Λαμπρινίδης 23/10/2015 Η - Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ 1

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2018 ΤΟ ΕΞΕΤΑΣΤΙΚΟ ΔΟΚΙΜΙΟ ΑΠΟΤΕΛΕΙΤΑΙ ΑΠΟ ΔΕΚΑΤΡΕΙΣ (13) ΣΕΛΙΔΕΣ.

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στην Python

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

ΛΥΚΕΙΟ ΣΟΛΕΑΣ Σχολική χρονιά

ΒΑΣΙΚΟΙ ΤΥΠΟΙ ΚΑΙ ΠΙΝΑΚΕΣ

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

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

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

Τυχαίοι αριθμοί struct Αρχεία Διαμορφώσεις Συναρτήσεις Χειρισμός σφαλμάτων ΠΕΜΠΤΗ ΔΙΑΛΕΞΗ

Βασικοί τύποι δεδομένων (Pascal) ΕΠΑ.Λ Αλίμου Γ Πληροφορική Δομημένος Προγραμματισμός (Ε) Σχολ. Ετος Κων/νος Φλώρος

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΜΑΘΗΜΑ 10 Ο. Δομές Ενώσεις Απαριθμητοί τύποι δεδομένων ΣΙΝΑΤΚΑΣ Ι. ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

Προγραμματισμός ΙI (Θ)

Εργαστήριο 5. Εαρινό Εξάμηνο

3 ο Εργαστήριο Μεταβλητές, Τελεστές

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

Δομημένος Προγραμματισμός (ΤΛ1006)

Δομημένος Προγραμματισμός (ΤΛ1006)

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 3 ο (ΜΟΝΟΔΙΑΣΤΑΣΤΟΙ ΠΙΝΑΚΕΣ)

Προγραμματισμός I (Θ)

scanf() scanf() stdin scanf() printf() int float double %lf float

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

Εντολή Δεδομένα Περιεχόμενα μετά την εκτέλεση 1 read(x) 122 x= 2 read(a,b,c) a= b= c= 3 read(d,e)

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

Αλγοριθμική & Δομές Δεδομένων- Γλώσσα Προγραμματισμού Ι (PASCAL)

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

ΔΙΑΔΙΚΑΣΤΙΚΟΣ ΠΡΟΓΡΑ Ρ Μ Α ΜΑΤΙ Τ ΣΜΟΣ

Περιεχόμενα. Πρόλογος... 21

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Ανάπτυξη και Σχεδίαση Λογισμικού

επιστρέφει αριθµό που προκύπτει µε αντιστροφή των στοιχείων του πρώτου

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

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

Παίρνοντας Αποφάσεις 1

Καθηγητής Ε. Χ. ΖΙΟΥΛΑΣ

Προτεινόμενα Θέματα ΑΕΠΠ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. Εξετάσεις Προσομοίωσης 10/04/2018

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

Η SQL αποτελείται από δύο υποσύνολα, τη DDL και τη DML.

Εναλλακτικές εντολές για ανάγνωση/εγγραφή

Transcript:

Γ7.8 Εγγραφές (Structures) Γ Λυκείου Κατεύθυνσης

Εισαγωγή Εγγραφές ονομάζουμε συλλογές στοιχείων, οι οποίες μας δίνουν τη δυνατότητα να ομαδοποιήσουμε στοιχεία διαφορετικών τύπων. Για παράδειγμα, θα χρησιμοποιήσουμε εγγραφές όταν θέλουμε να αποθηκεύσουμε πληροφορίες για τους μαθητές ενός σχολείου, όπου ο κάθε μαθητής θα μας δίνει: αριθμό μητρώου (ακέραιος), όνομα (συμβολοσειρά), επίθετο (συμβολοσειρά), διεύθυνση (συμβολοσειρά) και ηλικία (ακέραιος). Τα στοιχεία που ανήκουν σε μία εγγραφή καλούνται μέλη. Σε αντίθεση με τους πίνακες, κάθε μέλος της εγγραφής μπορεί να έχει το δικό του αναγνωριστικό.

Εισαγωγή Τα μέλη μπορούν να ανήκουν στους βασικούς τύπους δεδομένων (integer, float, double, boolean, char), να είναι συμβολοσειρές (string), πίνακες ή ακόμη και άλλες εγγραφές.

Ορισμός εγγραφής Μία εγγραφή ορίζεται ως εξής: (α) Ξεκινά με τη δεσμευμένη λέξη struct και ακολουθεί το αναγνωριστικό. (β) Τα άγκιστρα οριοθετούν τα μέλη της εγγραφής. (γ) Το ερωτηματικό στο τέλος ορίζει το τέλος της εγγραφής.

Παράδειγμα Θέλουμε να αποθηκεύσουμε πληροφορίες για τα προϊόντα μίας υπεραγοράς. Για κάθε προϊόν έχουμε τις εξής πληροφορίες: κωδικός προϊόντος (ακέραιος), ποσότητα (ακέραιος), περιγραφή (συμβολοσειρά) και τιμή (πραγματικός). Η εγγραφή να δηλωθεί με το όνομα product.

Δήλωση μεταβλητών εγγραφής Για να δηλώσουμε μεταβλητές τύπου εγγραφής, μπορούμε να κάνουμε τα εξής: (α) Για μία μεταβλητή: product apple; (β) Για πλήθος μεταβλητών: product apple, banana, orange; (γ) Για δήλωση εγγραφής και μεταβλητών ταυτόχρονα: struct product { int code, quantity; string description; double price; } apple, banana, orange;

Απόδοση αρχικών τιμών

Αναφορά στα μέλη μίας εγγραφής Όταν θέλουμε να διαβάσουμε την τιμή ενός μέλους μίας εγγραφής: Ενώ αν θέλουμε να εκχωρήσουμε τιμές:

Πίνακες - Μέλη Ένα μέλος της εγγραφής μπορεί να είναι πίνακας. Αν θέλουμε, για παράδειγμα, στην εγγραφή για έναν μαθητή να μπορούμε να αποθηκεύσουμε τους βαθμούς τεσσάρων διαγωνισμάτων, θα το κάνουμε ως εξής:

Πίνακες - Μέλη Η εκχώρηση τιμών και η απόδοση αρχικών τιμών μπορεί να γίνει ως εξής:

Πίνακες εγγραφών Αν θέλουμε να αποθηκεύσουμε περισσότερα από ένα στοιχεία, μπορούμε να ορίσουμε έναν πίνακα εγγραφών. Για παράδειγμα, αν θέλουμε να αποθηκεύσουμε τις πληροφορίες τριών προϊόντων, θα το κάνουμε ως εξής:

Πίνακες εγγραφών Η αναφορά στα στοιχεία του πίνακα, όπως και στις μεταβλητές τύπου εγγραφής, γίνεται με τη χρήση μίας τελείας μεταξύ του στοιχείου του πίνακα και του μέλους του ως ακολούθως: for (int i=0; i<3; i++) { cin >> fruits[i].code >> fruits[i].quantity >> fruits[i].description >> fruits[i].price; }

Παράδειγμα 8.1 Να δημιουργήσετε πρόγραμμα το οποίο να ορίζει μία εγγραφή με το όνομα student, η οποία να περιέχει τα ακόλουθα μέλη: Αριθμός μητρώου (integer) Επώνυμο (string) Τηλέφωνο (integer) Εκτοπισμένος (boolean) Να ορίσετε έναν πίνακα εγγραφών 20 θέσεων τύπου student, με το όνομα B3. Το πρόγραμμα να δέχεται τα στοιχεία για τους 20 μαθητές από το πληκτρολόγιο. Κώδικας: https://ideone.com/aw7cei

Παράδειγμα 8.2 Να δημιουργήσετε πρόγραμμα το οποίο να ορίζει μία εγγραφή με το όνομα shape, η οποία να περιέχει τα μέλη height (double) και width (double). Το πρόγραμμα να διαβάζει και να αποθηκεύει τις διαστάσεις δέκα ορθογωνίων και να παρουσιάζει στην οθόνη το εμβαδόν και την περίμετρο για κάθε ένα από τα ορθογώνια. Κώδικας: https://ideone.com/zumen1

Ένθετες εγγραφές Μία εγγραφή μπορεί να χρησιμοποιηθεί ως μέλος άλλης εγγραφής. Η πρόσβαση στα μέλη της ένθετης εγγραφής γίνεται ιεραρχικά, με τη χρήση επιπρόσθετης τελείας, όπως θα δείτε στο πιο κάτω παράδειγμα.

Ένθετες εγγραφές Μία εγγραφή μπορεί να χρησιμοποιηθεί ως μέλος άλλης εγγραφής. Η πρόσβαση στα μέλη της ένθετης εγγραφής γίνεται ιεραρχικά, με τη χρήση επιπρόσθετης τελείας, όπως θα δείτε στο πιο κάτω παράδειγμα (Παράδειγμα 3).

Παράδειγμα 8.4 Να δημιουργήσετε πρόγραμμα το οποίο να ορίζει μία εγγραφή με το όνομα member, η οποία να έχει ως μέλη τον κωδικό (integer), το email (string) και μία ένθετη δομή (date), με μέλη την ημέρα (integer), τον μήνα (integer) και τη χρονολογία γεννήσεως (integer). Το πρόγραμμα να δέχεται τα δεδομένα για 50 άτομα και να εμφανίζει το email όσων έχουν γεννηθεί στις 5 Σεπτεμβρίου του 2005. Κώδικας: https://ideone.com/5cbesn

Εγγραφές και συναρτήσεις Οι εγγραφές μπορούν να δοθούν παραμετρικά σε συναρτήσεις όπως και οι μεταβλητές. Μία εγγραφή μπορεί να δοθεί ως παράμετρος αναφοράς, αλλά και ως παράμετρος τιμής. Παράδειγμα 8.5: https://ideone.com/35bc5h

Παράδειγμα 8.6 Να ορίσετε μία εγγραφή (advertising) που να κρατά δεδομένα για το πλήθος των διαφημίσεων (integer), το ποσοστό διαφημίσεων που έχει επιλεγεί για προβολή (double) και το ποσό που κερδίζετε από κάθε διαφήμιση που προβλήθηκε (double). Να δημιουργήσετε πρόγραμμα το οποίο να διαβάζει τα δεδομένα για τα μέλη της εγγραφής και να καλεί μία συνάρτηση (calculate), η οποία να δέχεται παραμετρικά μία εγγραφή advertising και να επιστρέφει τα συνολικά κέρδη από τις διαφημίσεις, που θα εμφανίζονται με δύο δεκαδικά ψηφία. Κώδικας: https://ideone.com/jcrgh9

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

Παράδειγμα 8.7 Το Υπουργείο Παιδείας και Πολιτισμού έχει καταγεγραμμένα τα στοιχεία (κωδικός, όνομα, τηλέφωνο, επαρχία) όλων των σχολείων, στο αρχείο schools.txt. Στο αρχείο αυτό υπάρχουν το πολύ 200 σχολεία. Να δημιουργήσετε πρόγραμμα το οποίο να δέχεται τον κωδικό ενός σχολείου και να τυπώνει στην οθόνη, σε μία γραμμή, τα στοιχεία του. Σε περίπτωση που ο κωδικός του σχολείου δεν υπάρχει στο αρχείο, τότε να τυπώνει το μήνυμα «School not found». Κώδικας: https://ideone.com/2hquyt

Παράδειγμα 8.8 Να δημιουργήσετε πρόγραμμα το οποίο να ορίζει μία εγγραφή με το όνομα student, η οποία να περιέχει τα εξής μέλη: όνομα (sting), βαθμός Α τετράμηνου (integer), βαθμός Β τετράμηνου (integer) και τελικός βαθμός (integer). Ο τελικός βαθμός είναι ο μέσος όρος των δύο βαθμών, στρογγυλοποιημένος προς τα πάνω (π.χ. αν έχουμε βαθμούς τετραμήνων 16 και 17, ο τελικός βαθμός θα είναι 17). Το πρόγραμμα να διαβάζει δεδομένα από το αρχείο students.txt (όνομα, βαθμός Α, βαθμός Β) για 20 μαθητές, να υπολογίζει τον τελικό βαθμό για κάθε μαθητή και να εμφανίζει στο αρχείο results.txt το όνομα και τον τελικό βαθμό, με δεξιά στοίχιση δέκα χαρακτήρων, ταξινομημένους σε φθίνουσα σειρά με βάση τον τελικό βαθμό. Κώδικας: https://ideone.com/lkxqvx