Αποστολέας Θέμα: Γενικές ασκήσεις  (Αναγνώστηκε 5289 φορές)

Vagelis

  • Θαμώνας
  • ***
  • Μηνύματα: 31
  • Γράψτε το προσωπικό σας σλόγκαν!
Γενικές ασκήσεις
« στις: 27 Δεκ 2002, 12:29:43 μμ »
Προτείνετε ασκήσεις που δεν εντάσσονται στις άλλες κατηγορίες ή που περιέχουν και επιλογή και επανάληψη κλπ.

stam

  • Νέος
  • *
  • Μηνύματα: 1
  • Γράψτε το προσωπικό σας σλόγκαν!
    • Dotteam
Τραπεζικό ΑΤΜ
« Απάντηση #1 στις: 29 Δεκ 2002, 11:49:17 πμ »
Γεια σας και καλορίζικο το forum!
Ας αρχίσουμε με μία άσκηση όχι και τόσο δύσκολη, απλά λίγο πολύπλοκη!

ΕΚΦΩΝΗΣΗ:
Να γραφτεί πρόγραμμα το οποίο θα προορίζετε για αυτόματο μηχάνημα τράπεζας (ΑΤΜ)
Το πρόγραμμα πρέπει να κάνει τα εξής:

  • Έλεγχος κωδικού κάρτας πελάτη
  • 3 δυνατές επιλογές, κατάθεση, ανάληψη, και ενημέρωση λογαριασμού.

Να λάβετε υπόψιν σας τα εξής:

  • Το σωστό Pin της κάρτας είναι το 2003
  • Το μηχάνημα δίνει μόνο χαρτονομίσματα των 50, 20 και 10 ευρώ.
  • Να γίνετε έλεγος στην ανάληψη αν υπάρχει το ποσό που ζητάει ο πελάτης,
  • αν δεν υπάρχει να εισάγει νέο ποσό μικρότερο
  • Ότι περισσέυει από αυτό που ζητάει ο πελάτης να επιστρέφετε στον λογαριασμό του
  • Αρχικό ποσό για το βιβλιάριο του να είναι τα 1000 ευρώ.
  • Κάθε φορά ο πελάτης μπορεί να κάνει μόνο μία (1) εργασία.


ΛΥΣΗ:[/b]
Κώδικας: [Επιλογή]

Πρόγραμμα Τραπεζικό_ΑΤΜ
Μεταβλητές
 ακέραιες: card_id, poso_kata8eseon, poso_kata8esis, poso_analipsis_se_euro, ypoloipo_50, fores_50, ypoloipo_20, fores_20, ypoloipo_10, fores_10, perisevma_analipsis, teliko_analiptiko_poso
 χαρακτήρες: epilogi
Αρχή
 poso_kata8eseon <-- 1000
 Γράψε 'Καλώς ήλθες αγαπητέ πελάτη στην Αλγορυθμική Τράπεζα!'
 Γράψε 'Παρακαλούμε εισάγετε τον μυστικό κωδικό της κάρτας σας:'
 Διάβασε card_id
 Γράψε 'Περιμένετε ένα λεπτάκι τώρα να δούμε αν είναι σωστός...'
!Έλεγχος του Pin της κάρτας!
 Αν card_id = 2003 τότε
   Γράψε 'Ο κωδικός σας έγινε δεκτός!'
 αλλιώς
   Όσο card_id <> 2003 επανάλαβε
     Γράψε 'Χμμ, ο κωδικός που βάλατε είναι λάθος, για ξαναπροσπαθήστε...'
     Διάβασε card_id
   τέλος_επανάληψης
 τέλος_αν
 Γράψε 'Τι θέτε να κάνετε τώρα??? Αν θέλετε να κάνετε κατάθεση πατήστε Α'
 Γράψε 'αν θέλετε να κάνετε ανάληψη πατήστε Β'
 Γράψε 'και αν θέλετε να κάνετε ενημέρωση λογαριασμού πατήστε Γ'
!Επιλογή του τι θέλουμε να κάνουμε!
 Διάβασε epilogi
 Όσο epilogi <> 'Α' και epilogi <> 'A' και epilogi <> 'B' και epilogi <> 'C' και epilogi <> 'Β' και epilogi <> 'Γ' επανάλαβε
   Γράψε 'Α για κατάθεση, Β για ανάληψη και Γ για ενημέρωση!'
   Διάβασε epilogi
 τέλος_επανάληψης
!Κατάθεση!
 Αν epilogi = 'Α' ή epilogi = 'A' τότε
   Γράψε 'Χμμμ, κατάθεση ε?? Πληρωθήκαμε ε? Τέσπα...'
   Γράψε 'Γράψτε το ποσό που θέλετε να καταθέσετε:'
   Διάβασε poso_kata8esis
   poso_kata8eseon <-- poso_kata8eseon+poso_kata8esis
   Γράψε 'Η συναλλαγή σας ολοκληρώθηκε!'
   Γράψε 'Τώρα έχετε στο πουγκί σας στην τράπεζα μας ', poso_kata8eseon, ' ευρώπουλα!'
 αλλιώς_αν epilogi = 'Β' ή epilogi = 'B' τότε
!Ανάληψη!
   Γράψε 'Οικονομικές δυσκολίες και θέλουμε λεφτά ε? Για να δω αν έχω κιόλας...'
   Γράψε 'Τυχερός είσαι! Όλο και κάτι έχω! Για γράψε πόσα ευρώπουλα θες να πάρεις:'
   Διάβασε poso_analipsis_se_euro
   Γράψε 'Ξεχάσαμε να σας πούμε ότι το μηχάνημα μας δίνει μόνο 50ευρα, 20ευρα και 10ευρα'
   Γράψε 'Ότι περισέψει επιστρέφετε στον λογαριασμό σας!'
!Έλεγχος αν έχει τα λεφτά που θέλουμε!
   Όσο poso_analipsis_se_euro > poso_kata8eseon επανάλαβε
     Γράψε 'Χμ... Δεν έχετε στο λογαριασμό σας τόσα πολλά! Ζητήστε πιο λίγα!'
     Διάβασε poso_analipsis_se_euro
   τέλος_επανάληψης
!Πράξεις για να γίνει η διαλογή του ποσού των ευρώ σε 50ευρα,20ευρα και 10ευρα!
   ypoloipo_50 <-- poso_analipsis_se_euro mod 50
   fores_50 <-- poso_analipsis_se_euro-ypoloipo_50
   fores_50 <-- fores_50 div 50
   ypoloipo_20 <-- ypoloipo_50 mod 20
   fores_20 <-- ypoloipo_50-ypoloipo_20
   fores_20 <-- fores_20 div 20
   ypoloipo_10 <-- ypoloipo_20 mod 10
   fores_10 <-- ypoloipo_20-ypoloipo_10
   fores_10 <-- fores_10 div 10
   teliko_analiptiko_poso <-- fores_10*10+fores_20*20+fores_50*50
   perisevma_analipsis <-- poso_analipsis_se_euro-teliko_analiptiko_poso
   poso_kata8eseon <-- poso_kata8eseon-teliko_analiptiko_poso
   poso_kata8eseon <-- poso_kata8eseon+perisevma_analipsis
   Γράψε 'Λοιπόν θα σας δώσουμε ', fores_50, ' 50ευρα, ', fores_20, ' 20ευρα και ', fores_10, ' 10ευρα!'
   Γράψε 'Περισεύουνε ', perisevma_analipsis, ' ευρώ τα οποία δεν σας τα δίνουμε αλλά τα αφήνουμε στο λογαριασμό σας!'
   Γράψε 'Πάρτε τα λεφτά σας και άντε στο καλό! :Ρ'
 αλλιώς_αν epilogi = 'Γ' ή epilogi = 'C' τότε
!Ενημέρωση!
   Γράψε 'Ενημέρωση θέλατε ε? Πάρτε την τώρα!'
   Γράψε 'Έχετε ', poso_kata8eseon, ' ευρώ!'
 τέλος_αν
 Γράψε 'Μην ξεχάσετε να πάρετε την κάρτα σας, την απόδειξη σας και τα μυαλά σας!!!'
 Γράψε 'Καλή σας μέρα!'                                  !Τέλος
Τέλος_προγράμματος


Παρατηρήσεις, προτάσεις, διορθώσεις φυσικά και είναι δεκτές!  :) :) :)
(Στην εκφώνηση λίγο πρέπει να θέλει διόρθωση αλλά τέσπα  ::))
Φιλικά,
Γιάννης

[img]http://www.dotteam.gr/cgi-bin/sigs/stam.cgi[img]