By DePaul Dimadis
Choose your prefered Language: greek_flag uk_flag

Οι τράπεζες δανείζουν χρήματα η μία στις άλλες. Το ενεργητικό μιας τράπεζας αποτελείται από τα υπόλοιπα των λογαριασμών που τηρεί συν τα δάνεια που έχει χορηγήσει σε άλλες τράπεζες. Αν το ενεργητικό μιας τράπεζας βρίσκεται κάτω από ένα συγκεκριμένο γνωστό όριο limit η τράπεζα δεν θεωρείται ασφαλής. Να θεωρήσετε ότι το όριο limit, για να θεωρηθεί μια τράπεζα ασφαλής, δίνεται ως σταθερά στην αρχή του προγράμματος.
Να ορίσετε μια δομή με όνομα bank και μέλη τα εξής :
1. Κωδικός τράπεζας , θετικός τύπου int με επιτρεπτές τιμές 1-10
2. Υπόλοιπο τηρούμενων λογαριασμών (σε εκατομμύρια ευρώ) σ’ αυτήν, θετικός τύπου int
3. 10 ζεύγη θετικών τιμών (int, int) , που περιέχουν τον κωδικό της τράπεζας στην οποία έχει δανείσει και το αντίστοιχο ποσό (αριθμός τύπου int που αντιπροσωπεύει δάνειο σε εκατομμύρια ευρώ).
Ένα σειριακό αρχείο με όνομα bankfile.txt περιέχει 10 εγγραφές, μία για κάθε τράπεζα. Παράδειγμα για την τράπεζα με κωδικό 1, τα δεδομένα στο αρχείο είναι (οι παρενθέσεις δεν υπάρχουν στο αρχείο):
1, 145, (1,0), (2, 70), (3,0), (4,0), (5,120), (6,0), (7,15), (8, 44), (9,0), (10,0)
Ένας πίνακας δομών τύπου bank περιέχει τα δεδομένα για όλες τις τράπεζες. Τα δεδομένα στον πίνακα δομών εισάγονται μέσω προσπέλασης του σειριακού αρχείου bankfile.txt.
Χρησιμοποιώντας όλα τα αντικείμενα του πίνακα δομών :
1. Να δημιουργήσετε και να εμφανίσετε έναν νέο πίνακα τύπου int που θα περιέχει, υπό μορφή ζευγών, ποιες από τις 10 τράπεζες δεν θεωρούνται ασφαλείς, δηλ. το ενεργητικό τους, όπως ορίστηκε στην αρχή, είναι μικρότερο από την τιμή limit, καθώς και το ποσό που απαιτείται για κάθε τράπεζα ώστε να καταστεί ασφαλής. Στους υπολογισμούς θα συμπεριλάβετε όλες τις τράπεζες στις οποίες έχουν χορηγηθεί δάνεια.
ΠΑΡΑΔΕΙΓΜΑ
Για το παράδειγμα της τράπεζας 1 το ενεργητικό είναι : 145 + (70 + 120 + 15 +44) = 394
Εάν limit = 300 τότε η τράπεζα είναι ασφαλής, και η τράπεζα 1 δεν θα συμπεριλαμβάνεται στον νέο πίνακα.
Εάν limit = 500 τότε η τράπεζα δεν είναι ασφαλής και στον πίνακα δομών θα συμπεριλαμβάνεται το ζεύγος (1,106) (το υπολειπόμενο ποσό είναι 500-394=106)
FILE *fp;
errno_t err;

if (err=(fopen_s(&fp,filename,mode))!=0)
{
printf("error reading file....\n");

exit(1);
}
else // reading from file
{