Τώρα είναι Τρί 19 Μαρ 2024 12:29 pm

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]




Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 
Συγγραφέας Μήνυμα
 Θέμα δημοσίευσης: το απλούσερο ΑΤΜ
ΔημοσίευσηΔημοσιεύτηκε: Κυρ 06 Φεβ 2011 09:05 pm 
Χωρίς σύνδεση

Εγγραφή: Κυρ 03 Οκτ 2010 06:10 pm
Δημοσιεύσεις: 5
να λοιπον πως θα μπορούσε να είναι το απλούστερο ΑΤΜ που θα μπορούσε να υπάρξει!
Syntax: [ Download ] [ Hide ]
!                            Β Α Σ Ι Κ Ε Σ   Λ Ε Ι Τ Ο Υ Ρ Γ Ι Ε Σ
! ~~~ ΤΟ ΠΡΟΓΡΑΜΜΑ ΘΕΩΡΗΤΙΚΑ ΑΠΕΙΚΟΝΙΖΕΙ ΤΟ ΑΠΛΟΥΣΤΕΡΟ ΑΤΜ ΠΟΥ ΘΑ ΜΠΟΡΟΥΣΕ ΝΑ ΥΠΑΡΞΕΙ ~~~
!                            
! (ΓΙΑ ΤΟΝ ΔΙΑΧΕΙΡΙΣΤΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ)
!-ΧΡΗΣΗ ΣΤΑΘΕΡΩΝ
!-ΕΛΕΓΧΟΣ ΓΙΑ ΜΟΝΑΔΙΚΟ 'ΟΝΟΜΑ ΧΡΗΣΤΗ'
!-ΕΛΕΓΧΟΣ ΓΙΑ ΥΠΟΧΡΩΤΙΚΑ ΜΗ ΚΕΝΟ 'ΚΩΔΙΚΟ'
!-ΕΛΕΓΧΟΣ ΓΙΑ ΘΕΤΙΚΟ ΥΠΟΛΟΙΠΟ ΛΟΓΑΡΙΑΣΜΟΥ
!
! (ΓΙΑ ΤΟΝ ΧΡΗΣΤΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ)
!-ΕΛΕΓΧΟΣ 'ΟΝΟΜΑΤΟΣ' ΚΑΙ 'ΚΩΔΙΚΟΥ ΠΡΟΣΒΑΣΗΣ' ΜΕ ΣΥΓΚΕΚΡΙΜΕΝΟ ΑΡΙΘΜΟ ΠΡΟΣΠΑΘΕΙΩΝ
!-ΚΑΤΑΘΕΣΗ ΧΡΗΜΑΤΩΝ
!-ΑΝΑΛΗΨΗ ΧΡΗΜΑΤΩΝ ΜΕ 'ΠΟΣΟ ΑΝΑΛΗΨΗΣ' <= 'ΥΠΟΛΟΙΠΟΥ ΛΟΓΑΡΙΑΣΜΟΥ'
!ΧΡΗΣΗ ΜΕΝΟΥ 1,2,3

!ΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧΧ

! Για την καλύτερη κατανόηση του προγράμματος φανταστείτε ότι από την σειρά 51 μέχρι και την 100 το πρόγραμμα εκτελείτε στο παρασκήνιο λ.χ. το εκτελεί ο υπεύθυνος (είτε άνθρωπος, είτε αλγόριθμος) στα κεντρικά της τράπεζας. Δηλαδή αυτός εισάγει εκ' των προτέρων στο σύστημα το 'όνομα χρήστη', τον 'κωδικό' και το 'υπόλοιπο λογαριασμού' και έτσι αυτά θωρητικά δεν είναι ορατά από κανέναν.

!Δ. Μ. , μαθητής Γ' Λυκείου
!29-30-31 / 01 / 2011


ΠΡΟΓΡΑΜΜΑ ΑΤΜ
ΣΤΑΘΕΡΕΣ
  αριθμός_πελατών = 3
!προσαρμοσμένος_κωδ = 'αβ' !(προς το παρόν δεν χρειάζεται)
  όνομα_τράπεζας = 'ΘΑ ΣΟΥ ΚΛΕΨΩ ΤΑ ΛΕΦΤΑ'

ΜΕΤΑΒΛΗΤΕΣ
  ΑΚΕΡΑΙΕΣ: προσπάθειες, ι, κ, απάντηση, καταχωριμένοι_πελάτες, επιλογή
  ΠΡΑΓΜΑΤΙΚΕΣ: υπόλοιπο[αριθμός_πελατών], ποσό_κατάθεσης, ποσό_ανάληψης
  ΧΑΡΑΚΤΗΡΕΣ: πιν_χρήστη, πιν, όνομα[αριθμός_πελατών], κωδικός[αριθμός_πελατών], κωδικός_διαχ, όνομα_χρήστη, κωδικός_χρήστη
  ΛΟΓΙΚΕΣ: βρέθηκε_όνομα


ΑΡΧΗ
! η μεταβλητή "προσπάθειες δείχνει πόσες προσπάθειες έχει ο ΧΡΗΣΤΗΣ για να εισάγει με επιτυχία τα στοιχία του.
  προσπάθειες <-- 3
  καταχωριμένοι_πελάτες <-- 0

  ΓΡΑΨΕ 'Καλώς ήρθατε στο Σύστημα Αυτόματης Τραπεζικής, της "', όνομα_τράπεζας, '"'
  ΓΡΑΨΕ '                                  *****'
  ΓΡΑΨΕ ' '
!Σ' αυτήν την για... εισάγωνται οι πελάτες της τράπεζα ελέγχοντας το "όνομα" δηλαδή το username να είναι μοναδικό στον πίνακα "όνομα".
!π.χ. άν στον Πελάτη1 εισάγουμε ώς όνομα το "Dimitris" τότε είναι ΑΔΥΝΑΤΟ να χρησιμοποιήσουμε το όνομα "Dimitris" και για άλλο πελάτη.
!Επίσεις σ' αυτήν την για... εισάγουμε τον κωδικό πρόσβασης κάθε χρήστη (θα τον χρειαστεί στην ανάληψη) όπως και το υπόλοιπο του λογαριασμού του.
!Μπορείτε να χρησιμοποιήστε το αρχείο εισόδου

  ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
  ΓΡΑΨΕ 'ΕΙΣΟΔΟΣ ΣΤΙΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ ΔΙΑΧΕΙΡΙΣΤΗ.'
  ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
  ΓΡΑΨΕ 'Ο Δ Η Γ Ι Ε Σ'
  ΓΡΑΨΕ 'Εισάγετε τα εξής στοιχεία για τους ', αριθμός_πελατών, ' εις πελάτες μας.'
  ΓΡΑΨΕ '1ον - όνομα χρήστη'
  ΓΡΑΨΕ '2ον - κωδικός πρόσβασης'
  ΓΡΑΨΕ '3ον - υπόλοιπο λογαριασμού (Ευρώ)'


  ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ αριθμός_πελατών
    ΓΡΑΨΕ ' '
    ΓΡΑΨΕ '>> ΠΕΛΑΤΗΣ ', ι, ' ος/η'
    ΓΡΑΨΕ 'Όνομα χρήστη         : '
    ΔΙΑΒΑΣΕ όνομα[ι]
    ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
      βρέθηκε_όνομα <-- ΨΕΥΔΗΣ
      ΑΝ ι > 1 ΤΟΤΕ
        κ <-- 1
        ΟΣΟ όνομα[ι] <> όνομα[κ] ΚΑΙ κ <= ι - 1 ΕΠΑΝΑΛΑΒΕ
          κ <-- κ + 1
        ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
        ΑΝ κ < ι ΤΟΤΕ
          βρέθηκε_όνομα <-- ΑΛΗΘΗΣ
          ΓΡΑΨΕ '// Μή έγκυρο όνομα.'
          ΓΡΑΨΕ 'Όνομα χρήστη         : '
          ΔΙΑΒΑΣΕ όνομα[ι]
        ΤΕΛΟΣ_ΑΝ
      ΤΕΛΟΣ_ΑΝ
    ΜΕΧΡΙΣ_ΟΤΟΥ βρέθηκε_όνομα = ΨΕΥΔΗΣ

!Στις μεταβλητές χαρακτήρων ο χρήστης μπορεί αν θέλει να τις αφήσει null. Ωστόσο εμείς κάνουμε έλεγχο (ΟΣΟ κωδικός[ι] = '' )ώστε ο κωδικός να μην είναι ποτέ null και έτσι ο διαχειριστής να ΠΡΕΠΕΙ να εισάγει έναν κωδικό. Άρα κάνουμε ένα βήμα στον προστασία του χρήστη. Δίνοντάς του ΥΠΟΧΡΕΩΤΙΚΑ έναν κωδικό πρόσβασης!!
    ΓΡΑΨΕ 'Κωδικός πρόσβασης    : '
    ΔΙΑΒΑΣΕ κωδικός[ι]
    ΟΣΟ κωδικός[ι] = '' ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ '// Μη έγκυρος κωδικός.'
      ΓΡΑΨΕ 'Κωδικός πρόσβασης    : '
      ΔΙΑΒΑΣΕ κωδικός[ι]
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΓΡΑΨΕ 'Υπόλοιπο λογαριασμού : '
    ΔΙΑΒΑΣΕ υπόλοιπο[ι]
    ΟΣΟ υπόλοιπο[ι] < 0 ΕΠΑΝΑΛΑΒΕ
      ΓΡΑΨΕ '// Μη έγκυρο υπόλοιπο.'
      ΓΡΑΨΕ 'Υπόλοιπο λογαριασμού : '
      ΔΙΑΒΑΣΕ υπόλοιπο[ι]

    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
    καταχωριμένοι_πελάτες <-- καταχωριμένοι_πελάτες + 1
  ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ





  ΓΡΑΨΕ ' '
  ΓΡΑΨΕ ' '
  ΓΡΑΨΕ ' '
  ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
  ΓΡΑΨΕ 'ΕΙΣΟΔΟΣ ΣΤΙΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ ΧΡΗΣΤΗ.'
  ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'

  ΑΡΧΗ_ΕΠΑΝΑΛΗΨΗΣ
    ΓΡΑΨΕ ' '
    ΓΡΑΨΕ 'όνομα χρήστη      : '
    ΔΙΑΒΑΣΕ όνομα_χρήστη
    ΓΡΑΨΕ 'κωδικός πρόσβασης : '
    ΔΙΑΒΑΣΕ κωδικός_χρήστη
    κ <-- 1
    βρέθηκε_όνομα <-- ΨΕΥΔΗΣ
    ΟΣΟ βρέθηκε_όνομα = ΨΕΥΔΗΣ ΚΑΙ κ <= καταχωριμένοι_πελάτες ΕΠΑΝΑΛΑΒΕ
      ΑΝ όνομα_χρήστη = όνομα[κ] ΤΟΤΕ
        ΑΝ κωδικός_χρήστη = κωδικός[κ] ΤΟΤΕ
          βρέθηκε_όνομα <-- ΑΛΗΘΗΣ
        ΤΕΛΟΣ_ΑΝ
      ΑΛΛΙΩΣ
      ΤΕΛΟΣ_ΑΝ
      κ <-- κ + 1
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ

    ΑΝ βρέθηκε_όνομα = ΨΕΥΔΗΣ ΤΟΤΕ
      προσπάθειες <-- προσπάθειες - 1
      ΓΡΑΨΕ '// Λάθος όνομα ή κωδικός πρόσβασης.'
    ΤΕΛΟΣ_ΑΝ
  ΜΕΧΡΙΣ_ΟΤΟΥ βρέθηκε_όνομα = ΑΛΗΘΗΣ Η προσπάθειες - 1 < 0





  ΑΝ προσπάθειες = 0 ΤΟΤΕ
    ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
    ΓΡΑΨΕ '  Υπερβήκατε το όριο των προσπαθιών.'
    ΓΡΑΨΕ '  Πρόσβαση αδύνατη!'
    ΓΡΑΨΕ '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'
    επιλογή <-- 3
  ΑΛΛΙΩΣ
    ΓΡΑΨΕ '// Πρόσβαση Επιτεύχθει. Έχετε εισέλθει ως: "', όνομα[κ - 1], '".'
    ΓΡΑΨΕ ' '

    ΓΡΑΨΕ '~ Πιέστε(1) για κατάθεση , (2) για ανάληψη  και (3) για τερματισμό!'
    ΔΙΑΒΑΣΕ επιλογή
    ΟΣΟ επιλογή <> 3 ΕΠΑΝΑΛΑΒΕ
      ΟΣΟ επιλογή <> 1 ΚΑΙ επιλογή <> 2 ΚΑΙ επιλογή <> 3 ΕΠΑΝΑΛΑΒΕ
        ΓΡΑΨΕ '// Λάθος επιλογή.'
        ΓΡΑΨΕ '~ Πιέστε(1) για κατάθεση , (2) για ανάληψη  και (3) για τερματισμό!'
        ΔΙΑΒΑΣΕ επιλογή
      ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ


      ΑΝ επιλογή = 1 ΤΟΤΕ
        ΓΡΑΨΕ ' '
        ΓΡΑΨΕ '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _'
        ΓΡΑΨΕ 'Εισάγετε ποσό (Ευρώ) κατάθεσης'
        ΔΙΑΒΑΣΕ ποσό_κατάθεσης
        ΑΝ ποσό_κατάθεσης > 0 ΤΟΤΕ
          υπόλοιπο[κ - 1] <-- υπόλοιπο[κ - 1] + ποσό_κατάθεσης
          ΓΡΑΨΕ 'Το νέο σας υπόλοιπο είναι: ', υπόλοιπο[κ - 1], ' Ευρώ'
          ΓΡΑΨΕ '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _'
          ΓΡΑΨΕ ' '
          ΓΡΑΨΕ ' '
          ΓΡΑΨΕ '~ Πιέστε(1) για κατάθεση , (2) για ανάληψη  και (3) για τερματισμό!'
          ΔΙΑΒΑΣΕ επιλογή
        ΤΕΛΟΣ_ΑΝ

      ΑΛΛΙΩΣ_ΑΝ επιλογή = 2 ΤΟΤΕ
        ΓΡΑΨΕ '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _'
        ΓΡΑΨΕ 'Εισάγετε ποσό (Ευρώ) ανάληψης'
        ΔΙΑΒΑΣΕ ποσό_ανάληψης
        ΑΝ ποσό_ανάληψης > 0 ΤΟΤΕ
          ΑΝ ποσό_ανάληψης <= υπόλοιπο[κ - 1] ΤΟΤΕ
            υπόλοιπο[κ - 1] <-- υπόλοιπο[κ - 1] - ποσό_ανάληψης
            ΓΡΑΨΕ 'Το νέο σας υπόλοιπο είναι: ', υπόλοιπο[κ - 1], ' Ευρώ'
          ΑΛΛΙΩΣ
            ΓΡΑΨΕ '// Το υπόλοιπό σας είναι ', υπόλοιπο[κ - 1], 'Ευρώ. Η ανάληψη ', ποσό_ανάληψης, 'Ευρώ είναι αδύνατη'
            ΓΡΑΨΕ '// Μπορείτε να κάνετε ανάληψη μέχρι και: ', υπόλοιπο[κ - 1], 'Ευρώ'
          ΤΕΛΟΣ_ΑΝ
          ΓΡΑΨΕ '_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _'
          ΓΡΑΨΕ ' '
        ΑΛΛΙΩΣ
          ΓΡΑΨΕ '// Μη έγκυρη τιμή.'
        ΤΕΛΟΣ_ΑΝ
        ΓΡΑΨΕ ' '
        ΓΡΑΨΕ ' '
        ΓΡΑΨΕ '~ Πιέστε(1) για κατάθεση , (2) για ανάληψη  και (3) για τερματισμό!'
        ΔΙΑΒΑΣΕ επιλογή
      ΤΕΛΟΣ_ΑΝ
    ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ
  ΤΕΛΟΣ_ΑΝ
  ΑΝ επιλογή = 3 ΤΟΤΕ
    ΓΡΑΨΕ '// Το πρόγραμμα τερματίστηκε!'
    ΓΡΑΨΕ '     Σας ευχαριστούμε!'
  ΤΕΛΟΣ_ΑΝ




ΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ
 


Κορυφή
 Προφίλ  
Απάντηση με παράθεση  
Τελευταίες δημοσιεύσεις:  Ταξινόμηση ανά  
Δημιουργία νέου θέματος Απαντήστε στο θέμα  [ 1 Δημοσίευση ] 

Όλοι οι χρόνοι είναι UTC + 2 ώρες [ DST ]


Μέλη σε σύνδεση

Μέλη σε αυτή την Δ. Συζήτηση : Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης


Δεν μπορείτε να δημοσιεύετε νέα θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να απαντάτε σε θέματα σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επεξεργάζεστε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να διαγράφετε τις δημοσιεύσεις σας σε αυτή τη Δ. Συζήτηση
Δεν μπορείτε να επισυνάπτετε αρχεία σε αυτή τη Δ. Συζήτηση

Αναζήτηση για:
Μετάβαση σε:  
cron
Προβολές: