• Downloads
  • ! Read Me !
  • Μαθήματα
  • Φοιτητικά
  • Τεχνικά Θέματα
  • Συζητήσεις
  • Happy Hour!
  • About THMMY.gr
 V  < 
Search:  
Welcome, Guest. Please login or register.
August 04, 2025, 00:01:12 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.
August 04, 2025, 00:01:12 am

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Τι ακούτε αυτήν τη στιγμή...
by immo
[August 03, 2025, 22:49:59 pm]

Ρυθμίσεις Θεμάτων της Ανώ...
by nmpampal
[August 03, 2025, 21:29:36 pm]

[Τομέας Ενέργειας] Μαθήμα...
by chatzikys
[August 03, 2025, 13:56:19 pm]

Ρύθμιση θερμικού για μοτέ...
by chatzikys
[August 02, 2025, 21:29:19 pm]

Αποτελέσματα Εξεταστικής ...
by Ma8hths Indou
[August 02, 2025, 17:30:47 pm]

[Τηλεπικοινωνιακά Συστήμα...
by Thanasis_pap
[August 02, 2025, 17:06:37 pm]

Άδεια ασκήσεως επαγγέλματ...
by The Web
[August 02, 2025, 13:25:49 pm]

[Τομέας Ηλεκτρονικής] Μαθ...
by Nikos_313
[August 02, 2025, 09:51:26 am]

Οι μπράβοι του πρύτανη
by Διάλεξις
[August 02, 2025, 01:30:18 am]

[Διανεμημένη Παραγωγή] Γε...
by Διάλεξις
[August 02, 2025, 01:04:15 am]

Πρακτική Άσκηση ΤΗΜΜΥ 201...
by Διάλεξις
[August 02, 2025, 00:59:05 am]

Ηλεκτρομηχανολογικές Μελέ...
by inverter
[August 01, 2025, 20:35:12 pm]

Νέα Δημοκρατία (and Co. I...
by Katarameno
[August 01, 2025, 15:13:09 pm]

Πρόγραμμα Σπουδών Ακαδημα...
by PolarBear
[August 01, 2025, 15:03:05 pm]

Aναζωπύρωση των εχθροπραξ...
by Katarameno
[July 31, 2025, 21:15:48 pm]

Καμμένα...!!
by Godat
[July 31, 2025, 21:07:58 pm]

[ΑΝΤΙΣΤΑΣΗ] Ανακοίνωση γι...
by Katarameno
[July 31, 2025, 20:31:30 pm]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[July 31, 2025, 15:33:28 pm]

ΤΗΜΜΥ-Σκάκι
by L
[July 31, 2025, 13:24:56 pm]

Τα παράσιτα ανάμεσά μας
by Katarameno
[July 30, 2025, 13:47:28 pm]
Στατιστικά
Members
Total Members: 9988
Latest: kyrlef
Stats
Total Posts: 1427653
Total Topics: 31739
Online Today: 96
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 15
Guests: 81
Total: 96
prigians
chris123
Xxanth
RivenT
Mr Watson
Carot1456
Petross
Giopan
Thanasis_pap
JTS
Εμφάνιση

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

Νέα!
  Όταν ανεβάζουμε φωτογραφίες στις Ανακοινώσεις και Έκτακτα νέα, βάζουμε τη μεγαλύτερη πλευρά 400 (width=400 ή height=400 ). π.χ. [img height=400 (κλείνει η αγκύλη) 
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 4995 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...