By Thanos Stantzouris
Choose your prefered Language: greek_flag uk_flag

Μία μονάδα παραγωγής κατασκευάζει ένα προϊόν. Η ημερήσια ποσότητα παραγωγής του προϊόντος σε τεμάχια, η ημερομηνία σε μορφή ΗΗΜΜ (ΗΗ=ημέρα ΜΜ=μήνας), καθώς και η ημερήσια ζήτηση για το προϊόν αυτό από τα 10 διαφορετικά σημεία διανομής που διαθέτει η παραγωγική μονάδα υπάρχουν σε σειριακό αρχείο orders.txt. Για κάθε διαφορετική ημερομηνία υπάρχει μόνο 1 εγγραφή στο αρχείο, δηλαδή κάθε γραμμή του αρχείου αφορά μόνον μία ημέρα, και το αρχείο δεν είναι ταξινομημένο ημερολογιακά.

Παράδειγμα: (ημ/νια 26/03, ποσότητα παραγωγής 2000, ημερήσια ζήτηση, οι υπόλοιπες τιμές)

2603 2000

50 100 240 80 350 90 100 70 200 320

Να γραφεί μία κλάση με όνομα alfa που θα διαχειρίζεται τα δεδομένα από το αρχείο orders.txt. Τα δεδομένα θα διαβάζονται σειριακά από το αρχείο (απαιτείται έλεγχος για την ύπαρξη του αρχείου). Τα private μέλη - δεδομένα της κλάσης είναι :

   1. Ο κωδικός μήνα, τιμές 1-12

   2. Ο κωδικός του σημείου διανομής, τιμές int 1-10

   3. Η συνολική μηνιαία ζήτηση για το προϊόν από αυτό το σημείο διανομής

Η κλάση πρέπει να περιέχει:

   Ένα constructor για την απόδοση μηδενικών τιμών στα μέλη αντικειμένων της.

   Ένα constructor για την εκχώρηση τιμών στα αντικείμενα της κλάσης μέσω της ανάγνωσης (προσπέλασης) αρχείου.

Στη συνάρτηση main() να δηλώσετε ένα πίνακα αντικειμένων της κλάσης alfa μεγέθους Ν = 120 θέσεων και να αρχικοποιήσετε όλες τις θέσεις του πίνακα με χρήση του κατάλληλου constructor, θέτοντας ως εξορισμού μηδενικές τιμές για όλα τα μέλη - δεδομένα.

Στη συνέχεια μέσω της προσπέλασης του αρχείου:

   1. Να γίνει εισαγωγή τιμών στα αντικείμενα του πίνακα, με την χρήση του κατάλληλου constructor. Οι τιμές θα εισαχθούν κατα αύξουσα σειρά του σημείου     διανομής και κατά αύξουσα σειρά του αριθμού μήνα, δηλαδή πρώτα από όλα τα μηνιαία σύνολα για το σημείο διανομής 1, έπειτα όλα τα μηνιαία σύνολα για το σημείο διανομής 2 κ.ο.κ. (Υπόδειξη: να χρησιμοποιήσετε έναν ενδιάμεσο πίνακα 12x10 τύπου int)

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

(π.χ. Για την πρώτη εγγραφή του αρχείου ο δυναμικός πίνακα θα περιλαμβάνει το ζεύγος :{3,400})

(400 = 2000 - Σχι = 2000 - 1600 ), όπου χι η κάθε θέση του πίνακα.

   3. Χρησιμοποιώντας όλα τα στοιχεία του πίνακα αντικειμένων της κλάσης alfa να βρείτε και να εμφανίσετε τη συνολική ετήσια ζήτηση του προϊόντος από το κάθε ένα από τα 10 σημεία διανομής

   4. Χρησιμοποιώντας όλα τα στοιχεία του δυναμικού πίνακα να βρείτε και να εμφανίσετε, πόσες ημέρες καθενός από τους 12 μήνες η παραγωγή είναι ελλειματική και πόσες ημέρες είναι πλεονάζουσα.