• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
June 17, 2025, 00:51:47 am

Login with username, password and session length
Links
  Thmmy.gr portal
   Forum
   Downloads
   Ενεργ. Λογαριασμού
   Επικοινωνία
  
  Χρήσιμα links
   Σελίδα τμήματος
   Βιβλιοθήκη Τμήματος
   Elearning
   Φοιτητικά fora
   Πρόγραμμα Λέσχης
   Πρακτική Άσκηση
   Ηλεκτρονική Εξυπηρέτηση Φοιτητών
   Διανομή Συγγραμμάτων
   Ψηφιακό Καταθετήριο Διπλωματικών
   Πληροφορίες Καθηγητών
   Instagram @thmmy.gr
   mTHMMY
  
  Φοιτητικές Ομάδες
   ACM
   Aristurtle
   ART
   ASAT
   BEAM
   BEST Thessaloniki
   EESTEC LC Thessaloniki
   EΜΒ Auth
   IAESTE Thessaloniki
   IEEE φοιτητικό παράρτημα ΑΠΘ
   SpaceDot
   VROOM
   Panther
  
Πίνακας Ελέγχου
Welcome, Guest. Please login or register.
June 17, 2025, 00:51:47 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Ισραήλ - Ιράν: Πόλεμος στ...
by Yamal
[June 16, 2025, 23:46:31 pm]

[Οργάνωση Υπολογιστών] Γε...
by RAFI
[June 16, 2025, 22:46:54 pm]

[Σ.Π.Η.Ε.] Γενικές απορίε...
by Nikos_313
[June 16, 2025, 19:49:00 pm]

[ΘΤΠΑ] Γενικές απορίες κα...
by Nikos_313
[June 16, 2025, 16:56:56 pm]

[Εφ.Θερμοδυναμική] Γενικέ...
by Λαμπτήρας
[June 16, 2025, 15:55:08 pm]

[Αρχές Οικονομίας] Να επι...
by _Trob
[June 16, 2025, 13:28:21 pm]

[Σ.Α.Π.Γ.] Εργασία 2025
by Nikos_313
[June 16, 2025, 12:13:45 pm]

Αποτελέσματα Εξεταστικής ...
by Nikos_313
[June 16, 2025, 12:01:53 pm]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by George_RT
[June 16, 2025, 10:22:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[June 16, 2025, 01:56:37 am]

Αντικατάστασης πυκνωτή σε...
by nmpampal
[June 15, 2025, 16:25:56 pm]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
by nmpampal
[June 15, 2025, 06:43:15 am]

Το thmmy.gr στο instagram...
by Mr Watson
[June 15, 2025, 00:50:23 am]

[Λογισμός ΙΙ] Απορίες σε...
by el mariachi
[June 14, 2025, 20:47:07 pm]

ΠΡΟΣΟΧΗ στο ανέβασμα θεμά...
by tzortzis
[June 14, 2025, 16:54:08 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by el mariachi
[June 14, 2025, 11:56:45 am]

Πότε θα βγει το μάθημα; -...
by Nikos_313
[June 14, 2025, 10:00:55 am]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]

Αλέξης Τσίπρας, η επιστρο...
by Yamal
[June 14, 2025, 04:42:23 am]

Έναρξη Δηλώσεων Συμμετοχή...
by IEEE SB
[June 14, 2025, 00:10:19 am]
Στατιστικά
Members
Total Members: 9960
Latest: valco08
Stats
Total Posts: 1426678
Total Topics: 31710
Online Today: 164
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 43
Guests: 106
Total: 149
Yamal
fkagk
sofoklhs_pizza
Zaxarenia
ඞ
el mariachi
Nikos_313
mavropan
acolak
Saint_GR
panos98
Athinaaz
fpapat
noys
Deviate
daphnenik
christinabisdeki
Kwst@ss_
kimxnas
freskoulhs
Chr1sgr
george polymeros
Elenit
aalmpanb
Northern Eagle
andyy
miltan8
Mikekmp
Giorgos2222
DemetriosL
Giannis Masterio
tasos gourd
superkolios
m.renia
dkonst
alex_samaras_
EiriniGeo
vagk
Εμφάνιση

Νέα για πρωτοετείς
Είσαι πρωτοετής;... Καλώς ήρθες! Μπορείς να βρεις πληροφορίες εδώ. Βοήθεια για τους καινούργιους μέσω χάρτη.
Κατεβάστε εδώ το Android Application για εύκολη πρόσβαση στο forum.
Ανεβάζετε τα θέματα των εξετάσεων στον τομέα Downloads με προσοχή στα ονόματα των αρχείων!

Νέα!
Επίσημη ενημέρωση για Αντιστοίχηση Μαθημάτων ΝΠΣ με ΠΠΣ και η συζήτηση στο forum.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 1ο Εξάμηνο > Δομημένος Προγραμματισμός (Moderators: Tasos Bot, tzortzis, Nekt) > [Δομημένος Προγρ.] Εργασια F
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 Go Down Print
Author Topic: [Δομημένος Προγρ.] Εργασια F  (Read 4693 times)
AckermanMik
Veteran
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Gender: Female
Posts: 1627

Όμορφη μικρή κουκλίτσα


View Profile
[Δομημένος Προγρ.] Εργασια F
« on: May 16, 2013, 23:51:09 pm »

Άσκηση F Μέχρι 2/6


Μια εταιρία, που έχει ως αντικείμενο το χονδρεμπόριο, διατηρεί ένα αρχείο με τις παραγγελίες των πελατών της και ένα αρχείο με τα αποθέματα των προϊόντων που διακινεί. Στο αρχείο των πελατών, σε κάθε εγγραφή, καταχωρείται το όνομα του πελάτη ως ένα string με το πολύ 20 χαρακτήρες, ένας κωδικός για τον πελάτη με τη μορφή ενός ακεραίου τύπου int, ένας κωδικός για το προϊόν που θέλει ο πελάτης με τη μορφή ενός ακεραίου τύπου int και η ποσότητα της παραγγελίας του ως ένας αριθμός τύπου float. Στο αρχείο των προϊόντων που διακινεί η εταιρία, σε κάθε εγγραφή, καταχωρείται ως ένας ακέραιος τύπου int ένας κωδικός που δηλώνει τον τύπο του προϊόντος και ένας αριθμός τύπου float που δηλώνει την ποσότητα που υπάρχει ως απόθεμα στην αποθήκη.

Να γραφεί το πρόγραμμα το οποίο να διαχειρίζεται τη διακίνηση των προϊόντων της εταιρίας.

Στο πρόγραμμα να οριστεί ένα μενού με τις εξής επιλογές:

Επιλογή 1: Καταχώρηση νέου πελάτη στο αρχείο των πελατών.

Επιλογή 2: Διαγραφεί ενός πελάτη από το αρχείο των πελατών.

Επιλογή 3: Καταχώρηση νέου προϊόντος στο αρχείο των προϊόντων.

Επιλογή 4: Διαγραφή ενός προϊόντος από το αρχείο των προϊόντων.

Επιλογή 5: Καταχώρηση νέων παραγγελιών στο αρχείο των πελατών.

Επιλογή 6: Καταχώρηση νέων παραλαβών στο αρχείο των προϊόντων.

Επιλογή 7: Εκτέλεση των παραλιών.

Επιλογή 8: Έξοδος από το πρόγραμμα.

Για κάθε επιλογή να οριστεί και μια ξεχωριστή συνάρτηση.

Οι συναρτήσεις των επιλογών 1 και 3 να καταχωρούν μια μόνο εγγραφή σε κάθε κλήση τους χωρίς να καταχωρούν αντίστοιχες ποσότητες για το προϊόν.

Οι συναρτήσεις των επιλογών 2 και 4 να διαγράφουν μια μόνο εγγραφή σε κάθε κλήση τους.

Η συνάρτηση της επιλογής 5 να αναζητά τον πελάτη χρησιμοποιώντας τον κωδικού του στο αρχείο των πελατών και να καταχωρεί την ποσότητα της παραγγελίας του. Η συνάρτηση, σε κάθε κλήση της, να μπορεί να καταχωρεί περισσότερες από μια παραγγελίες.

Η συνάρτηση της επιλογής 6 να αναζητά των κωδικό του προϊόντος στο αρχείο των προϊόντων και να καταχωρεί τη νέα ποσότητα στην αντίστοιχη θέση. Η συνάρτηση, σε κάθε κλήση της, να μπορεί να καταχωρεί περισσότερες από μια παραλαβές.

Η συνάρτηση της επιλογής 7 να ελέγχει όλο το αρχείο των πελατών και εφόσον υπάρχει σε εκκρεμότητα παραγγελία (η ποσότητα του προϊόντος που υπάρχει καταχωρημένη στην αντίστοιχη θέση είναι μεγαλύτερη από το 0) να τυπώνει το όνομα του πελάτη και την ποσότητα του προϊόντος που θα του αποσταλεί. Στην περίπτωση πού το απόθεμα του προϊόντος δεν επαρκεί να τυπώνεται η μέγιστη ποσότητα που μπορεί να αποσταλεί και η υπόλοιπη ποσότητα να παραμένει σε εκκρεμότητα. Σε κάθε περίπτωση να ενημερώνεται το αρχείο των προϊόντων με τις ποσότητες των προϊόντων που απέμειναν στην αποθήκη και το αρχείο των πελατών με τις ποσότητες των προϊόντων που παραμένουν σε εκκρεμότητα μετά την εκτέλεση των παραγγελιών.

Οι συναρτήσεις που υλοποιούν τις επιλογές να ανοίγουν τα αντίστοιχα αρχεία τα οποία και να κλίνουν με την έξοδο από τη συνάρτηση.

Ως περιορισμός στο πρόγραμμα να γίνει η παραδοχή ότι ο κάθε πελάτης μπορεί να αγοράσει μόνο έναν τύπο προϊόντος.

Να μη γίνεται έλεγχος αν υπάρχει πελάτης με τον ίδιο κωδικό ή προϊόν με τον ίδιο κωδικό όταν γίνονται καταχωρίσεις πελατών ή προϊόντων στα αρχεία.

Δεν υπάρχει προτεραιότητα στην εκτέλεση των παραγγελιών. Οι παραγγελίες εκτελούνται με τη σειρά που υπάρχουν οι αντίστοιχες εγγραφές στο αρχείο των πελατών.

 

Βοηθητικές παρατηρήσεις

Η διαγραφή μιας εγγραφής από το αρχείο να γίνεται μεταφέροντας στη θέση της την τελευταία καταχώρηση που υπάρχει στο αρχείο και μειώνοντας τον αριθμό των εγγραφών κατά 1.

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

Quote from: opcode on September 26, 2015, 16:01:50 pm
Μια χαρά βγαίνουν όλα ... αν έχεις όρεξη για διάβασμα φυσικά. Ααα και Ευφυή Συστήματα Ρομπότ μην ξεχάσεις. Σπανίως βλέπεις τα δύο σμαράγδια της σχολής να διδάσκουν μαζί ένα μάθημα αυτομάτου ελέγχου. Είναι σαν να σου διδάσκει αρχιτεκτονική υπολογιστών ο Turing με τον Von Neumann.  Cheesy
Λήσταρχος Γιαγκούλας
Θαμώνας
****
Gender: Male
Posts: 385



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #1 on: May 29, 2013, 22:17:35 pm »

H άσκηση λέει πως η εταιρεία διατηρεί αρχείο με τις παραγγελίες κλπ-κλπ...
Τώρα στο πρόγραμμα που θα κάνουμε θα δημιουργήσουμε αρχείο ή θα θεωρήσουμε πως ήδη υπάρχει;
Αν δημιουργήσουμε αρχείο, θα θεωρήσουμε ότι έιναι γεμάτο;(π.χ. έχει 5 παραγγελίες και θα τις εισάγουμε εμείς; Shocked
Αν πάλι θεωρήσουμε πως υπάρχει δεν θα πρέπει να κάνουμε έλεγχο ύπαρξης;
 if(fp==NULL){
printf("error:cannot open file %s (sector x)\n",xfile);
      exit(x);
o oποιός θα δώσει null και πρόγραμμα ΤΕΛΟΣ;;;

Kάθε βοήθεια θα ήταν πολύτιμη ,
ευχαριστώ για τον χρόνο σας...
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #2 on: May 31, 2013, 03:40:37 am »

Quote from: GEOBIS13 on May 29, 2013, 22:17:35 pm
H άσκηση λέει πως η εταιρεία διατηρεί αρχείο με τις παραγγελίες κλπ-κλπ...
Τώρα στο πρόγραμμα που θα κάνουμε θα δημιουργήσουμε αρχείο ή θα θεωρήσουμε πως ήδη υπάρχει;
Αν δημιουργήσουμε αρχείο, θα θεωρήσουμε ότι έιναι γεμάτο;(π.χ. έχει 5 παραγγελίες και θα τις εισάγουμε εμείς; Shocked
Αν πάλι θεωρήσουμε πως υπάρχει δεν θα πρέπει να κάνουμε έλεγχο ύπαρξης;
 if(fp==NULL){
printf("error:cannot open file %s (sector x)\n",xfile);
      exit(x);
o oποιός θα δώσει null και πρόγραμμα ΤΕΛΟΣ;;;

Kάθε βοήθεια θα ήταν πολύτιμη ,
ευχαριστώ για τον χρόνο σας...
Ουσιαστικά θα φτιάξεις τα 2 αρχεία και αυτά θα γεμίζουν μες στο πρόγραμμα. Δηλαδή αρχικά είναι άδεια. Απλά μην κάνεις έλεγχο ύπαρξης και θα είσαι κομπλέ.
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #3 on: May 31, 2013, 12:33:08 pm »

δηλαδη το αρχειο θα το φτιανχουμε μεσω τησ του προγραμματοσ και θα το διαχειριζομαστε η θα το φτιαχνουμε εμεισ και θα το ανοιγει η ασκση και θα το διαχειριζεται
Logged
Λήσταρχος Γιαγκούλας
Θαμώνας
****
Gender: Male
Posts: 385



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #4 on: May 31, 2013, 12:38:16 pm »

Quote
Ουσιαστικά θα φτιάξεις τα 2 αρχεία και αυτά θα γεμίζουν μες στο πρόγραμμα. Δηλαδή αρχικά είναι άδεια. Απλά μην κάνεις έλεγχο ύπαρξης και θα είσαι κομπλέ.

Ευχαριστώ
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #5 on: May 31, 2013, 13:46:33 pm »

Quote from: PureForm on May 31, 2013, 12:33:08 pm
δηλαδη το αρχειο θα το φτιανχουμε μεσω τησ του προγραμματοσ και θα το διαχειριζομαστε η θα το φτιαχνουμε εμεισ και θα το ανοιγει η ασκση και θα το διαχειριζεται
To 1o
Logged
vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #6 on: May 31, 2013, 14:44:54 pm »

πως θα δημιουργησω τα 2 αρχεια;
πρεπει να φτιαξω ξεχωριστη συναρτηση που να τα δημιουργει
ή γινεται να το κανω μεσα στις συναρτησεις; Sad
Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #7 on: May 31, 2013, 16:53:09 pm »

Quote from: vasilis1005 on May 31, 2013, 14:44:54 pm
πως θα δημιουργησω τα 2 αρχεια;
πρεπει να φτιαξω ξεχωριστη συναρτηση που να τα δημιουργει
ή γινεται να το κανω μεσα στις συναρτησεις; Sad
Στην main θα το κάνεις αυτό
Για να τα δημιουργήσεις γράφεις:
Code:
FILE *fp1, *fp2;
Logged
vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #8 on: May 31, 2013, 17:17:58 pm »

Quote from: Μουργόλυκος on May 31, 2013, 16:53:09 pm
Quote from: vasilis1005 on May 31, 2013, 14:44:54 pm
πως θα δημιουργησω τα 2 αρχεια;
πρεπει να φτιαξω ξεχωριστη συναρτηση που να τα δημιουργει
ή γινεται να το κανω μεσα στις συναρτησεις; Sad
Στην main θα το κάνεις αυτό
Για να τα δημιουργήσεις γράφεις:
Code:
FILE *fp1, *fp2;

α οκ Wink
αρα μεσα στις συναρτησεις πρεπει να τα ανοιγω για γραψιμο ή για διαβασμα;

πως ομως θα τα ανοιξω μεσα στις συναρτησεις;
Code:
fopen=(fp1,"w");
« Last Edit: May 31, 2013, 17:20:53 pm by vasilis1005 » Logged
Μουργόλυκος
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 551



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #9 on: May 31, 2013, 18:01:36 pm »

Quote from: vasilis1005 on May 31, 2013, 17:17:58 pm
α οκ Wink
αρα μεσα στις συναρτησεις πρεπει να τα ανοιγω για γραψιμο ή για διαβασμα;

πως ομως θα τα ανοιξω μεσα στις συναρτησεις;
Code:
fopen=(fp1,"w");

Ανάλογα με την συνάρτηση ανοίγεις για διάβασμα ή γράψιμο.Μέσα στις συναρτήσεις γράφεις:
Code:
void synarthish(...){
     FILE *fp1;
     fp1=fopen("name", "ab");
     ...
}
Στο name είναι το όνομα του αρχείου που ανοίγεις. Ρωτάς το όνομα του αρχείου στην αρχή του προγράμματος.
Γενικά καλύτερα είναι να τα ανοίγεις δυαδικά (ab).
Logged
vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #10 on: May 31, 2013, 19:26:47 pm »

sorry για το πρηξιμο

ενα τελευταιο:

μηπως μπορει καποιος να μου εξηγησει τι κανουν αυτες οι 2 εντολες;

Code:
fseek(fp1,0,SEEK_SET);

fseek(fp1,-sizeof(fp1),SEEK_CUR);
Logged
Αλντεμπαράν
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 2963


גם זה יעבור


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #11 on: May 31, 2013, 22:37:13 pm »

Quote from: vasilis1005 on May 31, 2013, 19:26:47 pm
sorry για το πρηξιμο

ενα τελευταιο:

μηπως μπορει καποιος να μου εξηγησει τι κανουν αυτες οι 2 εντολες;

Code:
fseek(fp1,0,SEEK_SET);

fseek(fp1,-sizeof(fp1),SEEK_CUR);
η fseek χρησιμοποιείτε για τυχαία προσπέλαση σε οποιοδήποτε σημείο του αρχείου.στην 1)μετακινεί την ένδειξη θέσης του αρχείου fp1 σε μια επόμενη θέση αυτού κατά 0 bytes από την αρχή του.(δλδ ο δείκτης εν τέλει θα δείχνει στο πρώτο byte του αρχείου)2) μετακινεί την ένδειξη θέσης του αρχείου fp1 σε μια προηγούμενη θέση αυτού κατά 4bytes όσο είναι το μέγεθος του pointer σε αρχείο.
Logged

http://de.academic.ru/pictures/dewiki/75/Kemenche-Salut_de_trebizonde-Danse_aux_sabres.jpg
reservoir dog
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Posts: 540



View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #12 on: June 01, 2013, 00:15:39 am »

θελει και δομες?
Logged
Αλντεμπαράν
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 2963


גם זה יעבור


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #13 on: June 01, 2013, 01:09:03 am »

Quote from: reservoir dog on June 01, 2013, 00:15:39 am
θελει και δομες?
"η χρήση δομών σε αρχεία είναι κακή ιδέα γιατί καταστρέφει την φορητότητα του προγράμματος"  cplusplus.com said...
Logged

http://de.academic.ru/pictures/dewiki/75/Kemenche-Salut_de_trebizonde-Danse_aux_sabres.jpg
TechSupport
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Female
Posts: 538


Sometimes you just need a rr.


View Profile
Re: [Δομημένος Προγρ.] Εργασια F
« Reply #14 on: June 01, 2013, 02:54:11 am »

Quote from: agalanop on June 01, 2013, 01:09:03 am
Quote from: reservoir dog on June 01, 2013, 00:15:39 am
θελει και δομες?
"η χρήση δομών σε αρχεία είναι κακή ιδέα γιατί καταστρέφει την φορητότητα του προγράμματος"  cplusplus.com said...
Ο κυριος Κορτεσης μας ειπε ομως πως  χρειαζονται για την εργασια οταν τις εκανε στη θεωρια!  Sad
Logged
Pages: [1] 2 3 Go Up Print
Jump to:  

Powered by SMF | SMF © 2006-2009, Simple Machines LLC
Scribbles2 | TinyPortal © Bloc | XHTML | CSS
Loading...