Skip to content

GeorgeDimos/CE121-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Εργασία 1 – Βάση αντικειμένων

Εαρινό εξάμηνο 2017-2018

Αναπτύξτε ένα πρόγραμμα για την διαχείριση μιας βάσης ψηφιακών αντικειμένων (αντικείμενο = οτιδήποτε μπορεί να αναπαρασταθεί ως μια σειρά από bytes). Η επιθυμητή λειτουργικότητα περιγράφεται παρακάτω.

Περιγραφή λειτουργίας

Το πρόγραμμα δέχεται ως όρισμα εκκίνησης το όνομα του αρχείου που χρησιμοποιείται για την βάση των αντικειμένων. Αν το αρχείο δεν υπάρχει, δημιουργείται και αρχικοποιείται κατάλληλα. Στην συνέχεια, σε επανάληψη, το πρόγραμμα πρέπει να δέχεται από τον χρήστη και να εκτελεί τις εξής εντολές:

  • i(mport) name: Ο χρήστης δίνει το όνομα του αρχείου που περιέχει το αντικείμενο που θέλει να εισάγει στη βάση. Εκτός από το περιεχόμενο του αντικειμένου, το πρόγραμμα πρέπει να αποθηκεύει στην βάση και το όνομα του αρχείου (χωρίς το μονοπάτι των καταλόγων που πιθανόν προηγείται του ονόματος). Αν το αρχείο που έδωσε ο χρήστης δεν υπάρχει, εκτυπώνεται μήνυμα λάθους. Αν ήδη υπάρχει στην βάση ένα αντικείμενο με το ίδιο όνομα, τότε εκτυπώνεται μήνυμα λάθους.

  • f(ind) name: Ο χρήστης δίνει το όνομα του αντικειμένου που αναζητά. Το πρόγραμμα ψάχνει για όλα τα αντικείμενα στη βάση με ονόματα που εμπεριέχουν (σε οποιοδήποτε σημείο) το όνομα που έδωσε ο χρήστης, και εκτυπώνει τα πλήρη ονόματα τους. Εάν ο χρήστης δώσει ως όνομα το "*" τότε το πρόγραμμα πρέπει να εκτυπώνει τα ονόματα όλων των αντικειμένων που υπάρχουν στην βάση.

  • e(xport) src dest: Ο χρήστης δίνει το όνομα του αντικειμένου προς εξαγωγή και το όνομα του αρχείου στο οποίο θέλει να το αποθηκεύσει. Το πρόγραμμα εντοπίζει το αντικείμενο στην βάση και αντιγράφει τα περιεχόμενα του στο αρχείο που υπέδειξε ο χρήστης. Αν το αντικείμενο δεν υπάρχει στην βάση, εκτυπώνεται μήνυμα λάθους. Αν το αρχείο που υπέδειξε ο χρήστης δεν υπάρχει, δημιουργείται από το πρόγραμμα. Αν αυτό ήδη υπάρχει, εκτυπώνεται μήνυμα λάθους. Σε κάθε περίπτωση, το αντικείμενο παραμένει στην βάση.

  • d(elete) name: Ο χρήστης δίνει το όνομα του αντικειμένου που θέλει να διαγράψει από τη βάση. Το πρόγραμμα εντοπίζει το αντικείμενο και το διαγράφει. Αν αυτό δεν υπάρχει, εκτυπώνεται μήνυμα λάθους.

  • q(uit): Εντολή τερματισμού. Το πρόγραμμα τερματίζει, αφού προηγουμένως κλείσει το αρχείο της βάσης.

About

Προγραμματισμός 2

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published