Πρόγραμμα: longjump.c
Γράψτε ένα πρόγραμμα το οποίο παίρνει ως όρισμα ένα αρχείο με τα άλματα που έκανε κάθε αθλητής και εκτυπώνει τους αθλητές σε φθίνουσα σειρά με βάση τα άλματα που έκαναν. Το αρχείο θα είναι σε μορφή JSON, δηλαδή θα αρχίζει με τον χαρακτήρα ‘{‘ και θα τελειώνει με τον χαρακτήρα ‘}’ και για κάθε όνομα αθλητή θα τυπώνει "όνομα": μήκος όπου το μήκος θα είναι ένας αριθμός κινητής υποδιαστολής. Ανάμεσα σε κάθε αθλητή-άλμα θα υπάρχει ο χαρακτήρας ‘,’. Δεν επιτρέπεται χρήση εξωτερικών βιβλιοθηκών. Παράδειγμα εκτέλεσης ακολουθεί:
$ cat jumps.json
{
"mcleod": 8.20,
"furlani": 8.21,
"montler": 7.80,
"batz": 8.06,
"williams": 7.83,
"lawson": 8.05,
"gayle": 7.89,
"tentoglou": 8.22
}
$ gcc -o longjump longjump.c
$ ./longjump jumps.json
tentoglou: 8.22
furlani: 8.21
mcleod: 8.20
batz: 8.06
lawson: 8.05
gayle: 7.89
williams: 7.83
montler: 7.80
Διαβάστε το αρχείο χαρακτήρα-χαρακτήρα ή με fscanf και αναλύστε το: {, μετά ζεύγη "όνομα": αριθμός χωρισμένα με ,, και }. Κρατήστε κάθε αθλητή σε struct και ταξινομήστε φθίνουσα με qsort. Αρχείο που δεν ακολουθεί τη μορφή είναι είσοδος εκτός προδιαγραφών.
Αριθμός στον οδηγό: Α18.21
(στο κεφάλαιο) ·
Μόνιμο αναγνωριστικό: exam-2023-fall-ex15-q3 ·
Σύνδεσμος: https://progintro.github.io/study/questions/exams/exam-2023-fall-ex15-q3.html ·
Markdown (GitHub)