AskisiG(1)

1
Άσκηση G Για την καταχώρηση των εισερχομένων κλήσεων που έγιναν προς έναν αριθμό τηλεφώνου η εταιρία κρατά ένα αρχείο κλήσεων για κάθε συνδρομητή. Το όνομα του αρχείου ταυτίζεται με τον αριθμό κλήσης του συνδρομητή. Όταν ο συνδρομητής έχει μια εισερχόμενη κλήση αναζητείται το αντίστοιχο αρχείο το οποίο ανοίγει για να προστεθεί στο τέλος του ο αριθμός του τηλεφώνου από το οποίο έγινε η κλήση. Να γραφεί το πρόγραμμα το οποίο αρχικά δημιουργεί ένα αρχείο με το όνομα numpers. Στη συνέχεια να διαβάζει τους αριθμούς κλήσης των συνδρομητών της εταιρίας και τους καταχωρεί με τη μορφή strings στο αρχείο. Αυτά τα strings θα είναι τα ονόματα των αρχείων που θα αντιστοιχούν σε κάθε συνδρομητή. Το πρόγραμμα να ορίζει μια ατέρμονα ανακύκλωση σε κάθε επανάληψη της οποίας να διαβάζεται ο αριθμός κλήσης ενός συνδρομητή και ο αριθμός του τηλεφώνου που πραγματοποίησε την κλήση. Στη συνέχεια να αναζητείται στο αρχείο numpers το όνομα του αρχείου που αντιστοιχεί στον συνδρομητή, να ανοίγει το αντίστοιχο αρχείο συνδεόμενο με ένα δυαδικό κανάλι και να καταχωρείται σε αυτό ο αριθμός του τηλεφώνου που τον κάλεσε. Η ανακύκλωση να σταματά αν ως αριθμός του συνδρομητή δοθεί το 0. Στην περίπτωση αυτή το πρόγραμμα να εκτυπώνει για κάθε συνδρομητή τους αριθμούς των τηλεφώνων που τον έχουν καλέσει. Βοηθητικές παρατηρήσεις Ο αριθμός του συνδρομητή να διαβάζεται και να καταχωρείται με τη μορφή string ενώ ο αριθμός του τηλεφώνου που τον καλεί με τη μορφή ακεραίου τύπου long. Για την καταχώρηση και ανάγνωση των ονομάτων των αρχείων που αντιστοιχούν στους συνδρομητές να χρησιμοποιήσετε τις συναρτήσεις fscanf και fprintf. Για τη σύγκριση των strings μπορείτε να χρησιμοποιήσετε έτοιμες συναρτήσεις που διαθέτει ο μεταγλωττιστής που χρησιμοποιείτε. (Η σχετική συνάρτηση στον μεταγλωττιστή της Borland είναι η strcmp και ορίζεται στο αρχείο string.h).

description

AskisiG(1)

Transcript of AskisiG(1)

G

G

. . .

numpers. strings . strings . . numpers , . 0. .

string long.

fscanf fprintf. strings . ( Borland strcmp string.h).