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

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, 18:04:12 pm

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Πρακτική Άσκηση ΤΗΜΜΥ 201...
by asemas
[Today at 16:20:27]

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 14:25:00]

Αντικατάστασης πυκνωτή σε...
by george14
[Today at 13:58:20]

Πότε θα βγει το μάθημα; -...
by tzortzis
[Today at 13:19:53]

Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

[ΨEE] Γενικές απορίες και...
by Juror8
[Today at 12:06:57]

Ισραήλ - Ιράν: Πόλεμος στ...
by okan
[Today at 02:33:21]

[Οργάνωση Υπολογιστών] Γε...
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 Διάλεξις
[June 16, 2025, 01:56:37 am]

[Σ.Π.Η.Ε.] Παλιά θέματα -...
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]

Αρχείο Ανακοινώσεων [Arch...
by Nikos_313
[June 14, 2025, 09:58:14 am]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426690
Total Topics: 31710
Online Today: 218
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 78
Guests: 115
Total: 193
dkoukn
redwolf
palladas
tols1
Nikos_313
Bigie_Cheese
LelisNiko
vasilikitsatsi
A-TheITGuy
Billyskotsikas
bougatsa
Smaragda
kstavroulis
George_RT
Vassoula
vasilis saitis
dmadarak
Athinaaz
IoannisMich
abiki
gianst
BossiTsif
asimomyti
victoria
odysseaskar
harischris
summersunshine
meliou
mprova
anastasis34
athena_apo
mayia psarikoglou
EvP
folas
cealexop
θσερναμε
Vangelan
george14
Don
stergios03
Andreas K
Nicotre
nikos123321
theofr
Belafonte
trelogauros7
Psychoktonos_
Carot1456
Kenedy
mailon
stelinas
chondrosp
papakyrn
Christop
dkatsoul
victoria ginikopoulou
spyros36
Δημητρης Αξιμιωτης
elenak
jimalexoud
hraklis2002
giorgosss03
drimagm
nikpamp
Pakapis5
tmpadasn
papatmaria
dkoui
agapi
TheKingInTheNorth
eli_k
Εμφάνιση

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

Νέα!
Για οποιοδήποτε πρόβλημα με register/login, στείλτε email στο contact@thmmy.gr.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 Go Down Print
Author Topic: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11  (Read 3750 times)
George_RT
Veteran
Εθισμένος στο ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 831



View Profile
[C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« on: November 08, 2013, 00:29:43 am »

Άσκηση Β

Μια εταιρία διαθέτει μια ομάδα τεχνικών τους οποίους αμείβει, για κάθε μέρα απασχόλησης τους, με ένα ημερομίσθιο που εξαρτάται από την ειδικότητα του τεχνικού. Η εταιρία έχει αναλάβει έναν αριθμό από έργα τα οποία πρέπει να εκτελέσει με μια προκαθορισμένη σειρά προτεραιότητας. Για κάθε ένα από τα έργα οι τεχνικοί της εταιρίας θα εργαστούν για έναν αριθμό ημερών ανάλογα με το έργο και την ειδικότητα του κάθε ενός. Στο ίδιο έργο μπορούν να δουλεύουν περισσότεροι από ένας τεχνικοί και όταν κάποιος από αυτούς τελειώσει την εργασία του πιάνει αμέσως δουλειά στο επόμενο. Ως ημέρα έναρξης ενός έργου θεωρείται η ημέρα που θα αρχίσει να εργάζεται ο πρώτος τεχνικός και ως ημέρα περάτωσης του η ημέρα που θα τελειώσει την εργασία του και ο τελευταίος τεχνικός που απασχολείται σε αυτό. Αν κάποιο έργο απαιτεί μια ειδικότητα, για την οποία η εταιρία δε διαθέτει κάποιον τεχνικό, η εταιρία προσλαμβάνει τεχνικό με αυτήν την ειδικότητα και τον συμπεριλαμβάνει στην ομάδα των τεχνικών της.

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

Στο λογισμικό να οριστούν οι κλάσεις project και spesialist οι οποίες να υλοποιούν ένα έργο και έναν τεχνικό αντίστοιχα. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης project, αφού διαβαστεί ο αριθμός n των τεχνικών που θα χρειαστούν για να τελειώσει το έργο, να δεσμεύεται δυναμικά μνήμη για τους πίνακες special και days με n στοιχεία για τον κάθε ένα. Στον πίνακα special να καταχωρούνται, ως αριθμοί τύπου int, οι κωδικοί των ειδικοτήτων που είναι απαραίτητες για να τελειώσει το έργο και στις αντίστοιχες θέσει του πίνακα days οι ημέρες που πρέπει να εργαστεί ο τεχνικός με την αντίστοιχη ειδικότητα. Για τη δημιουργία αντικειμένων στον τύπο της κλάσης spesialist να διαβάζεται, ως ένας αριθμός τύπου int  ο κωδικός της ειδικότητας του τεχνικού και ως ένας αριθμός τύπου float η ημερήσια αμοιβή για την αντίστοιχη ειδικότητα.

Στο πρόγραμμα να οριστεί η συνάρτηση program(…) η οποία να δέχεται έναν πίνακα με αντικείμενα τύπου project τα στοιχεία του οποίου να υλοποιούν τα έργα που ανέλαβε να εκτελέσει η εταιρία και έναν πίνακα με αντικείμενα τύπου spesialist τα αντικείμενα του οποίου να υλοποιούν τους τεχνικούς που διαθέτει η εταιρία. Η συνάρτηση να υπολογίζει την ημέρα έναρξης και την ημέρα περάτωσης για το κάθε έργο. Η συνάρτηση να έχει πρόσβαση στα private στοιχεία των κλάσεων project και spesialist.

Η συνάρτηση main() του προγράμματος να διαβάζει τον αριθμό των έργων που θα εκτελέσει η εταιρία και τον αριθμό των τεχνικών που η εταιρία έχει στη διάθεσή της. Στη συνέχεια, αφού δεσμεύσει δυναμικά μνήμη για τους αντίστοιχούς πίνακες αντικειμένων να καλεί τη συνάρτηση program() για να υπολογίσει και να εκτυπώσει την ημέρα έναρξης και την ημέρα περάτωσης του κάθε έργου. Το πρόγραμμα να υπολογίζει και να εκτυπώνει και το κόστος μισθοδοσίας για το κάθε έργο.

 

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

Το πρόγραμμα να ακολουθεί την αρχή της ενσωμάτωσης.

Να θεωρηθεί ότι η εταιρία διαθέτει μόνον έναν τεχνικό για κάθε ειδικότητα.

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

Οι ημέρες για την έναρξη και την περάτωση των έργων μέτριουνται από το 1. Έτσι, ένα έργο μπορεί να αρχίσει την ημέρα  3 και να τελειώσει την ημέρα 40,

Δύο ή περισσότερα έργα μπορούν να εκτελούνται ταυτόχρονα εφόσον υπάρχου διαθέσιμοι τεχνικοί
« Last Edit: November 18, 2013, 03:47:59 am by Napoleon » Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #1 on: November 11, 2013, 22:26:24 pm »

Quote
Στον πίνακα special να καταχωρούνται, ως αριθμοί τύπου int, οι κωδικοί των ειδικοτήτων που είναι απαραίτητες για να τελειώσει το έργο και στις αντίστοιχες θέσει του πίνακα days οι ημέρες που πρέπει να εργαστεί ο τεχνικός με την αντίστοιχη ειδικότητα.
οποτε τον πινακα days δεν τον θελει δyο διαστασεων θεωρειται δεδομενο πωσ ειναι παραλληλος με τον special?
« Last Edit: November 11, 2013, 22:35:14 pm by PureForm » Logged
vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #2 on: November 13, 2013, 14:07:12 pm »

η κλαση specialist θα κληρονομει την ειδικοτητα του τεχνικου απο την κλαση project ή βλακειες λεω;
Logged
PureForm
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 520


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #3 on: November 13, 2013, 21:56:59 pm »

δεν χρειαζονται κληρονομικοτητες μονο friend την program κανε
Logged
paul
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 701



View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #4 on: November 14, 2013, 19:43:00 pm »

Quote from: PureForm on November 13, 2013, 21:56:59 pm
δεν χρειαζονται κληρονομικοτητες μονο friend την program κανε

noob here...
πως γινεται αυτο?
Logged
sk0uf
Ανερχόμενος/Ανερχόμενη
**
Posts: 88


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #5 on: November 14, 2013, 20:08:06 pm »

Με ποιο κριτηριο θα μετραμε το πως περναει μια μερα;


Edit:Άκυρο το βρήκα!
« Last Edit: November 14, 2013, 20:59:34 pm by sk0uf » Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #6 on: November 14, 2013, 21:12:53 pm »

Quote from: paul on November 14, 2013, 19:43:00 pm
Quote from: PureForm on November 13, 2013, 21:56:59 pm
δεν χρειαζονται κληρονομικοτητες μονο friend την program κανε

noob here...
πως γινεται αυτο?

Check this out
Logged

vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #7 on: November 15, 2013, 12:51:17 pm »

αρχικοποιω την κλαση project οποτε εκει μεσα θα ορισω τον πινακα special;

αν ναι μπορω να τον χρησιμοποιησω εξω απο την κλαση project (π.χ  στην αρχικοποιηση της κλασης specialist);
Logged
L
WebSlave
Καταστραμμένος
***
Posts: 5562


Bad faith


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #8 on: November 15, 2013, 13:14:26 pm »

Δεν είμαι σίγουρος ότι καταλαβαίνω ακριβώς πού κολλάς, αλλά θα σου πω τα εξής:

Ο πίνακας special δηλώνεται ως private στοιχείο της κλάσης project και περιέχει n int τιμές.

Επειδή θέλουμε δυναμική δέσμευση μνήμης (δεν ξέρεις το n) θα δηλωθεί ως int *special και μετά θα δεσμεύεται στον constructor μνήμη κατά τα γνωστά.

H συνάρτηση program είναι friend, οπότε θα έχει πρόσβαση στον special των projects που θα της περάσεις.
Logged

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us.

vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #9 on: November 15, 2013, 13:20:33 pm »

Quote from: L on November 15, 2013, 13:14:26 pm
Δεν είμαι σίγουρος ότι καταλαβαίνω ακριβώς πού κολλάς, αλλά θα σου πω τα εξής:

Ο πίνακας special δηλώνεται ως private στοιχείο της κλάσης project και περιέχει n int τιμές.

Επειδή θέλουμε δυναμική δέσμευση μνήμης (δεν ξέρεις το n) θα δηλωθεί ως int *special και μετά θα δεσμεύεται στον constructor μνήμη κατά τα γνωστά.

H συνάρτηση program είναι friend, οπότε θα έχει πρόσβαση στον special των projects που θα της περάσεις.

οκ αυτα τα εκανα (εκτος απο την  programm) αλλα στον construstor της specialist δεν θα κανω τιποτα;

δηλαδη απλα θα γραψω
Code:
specialist::specialist();
Logged
L
WebSlave
Καταστραμμένος
***
Posts: 5562


Bad faith


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #10 on: November 15, 2013, 13:23:16 pm »

(Αυτό είναι άλλη ερώτηση από την προηγούμενη)

Γιατί να είναι κενός ο constructor;
Πως θα βάλεις τις μεταβλητές του specialist μέσα;
Logged

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us.

vasilis1005
Μόνιμος κάτοικος ΤΗΜΜΥ.gr
******
Posts: 1131


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #11 on: November 15, 2013, 13:33:18 pm »

εγω νομιζα οτι για να ορισω την αμοιβη του καθε τεχνικου επρεπε μεσα στον constructor της specialist να χρησιμοποιω τον πινακα special που εχω ορισει μεσα στην κλαση project και μετα να λεω οτι για τον τεχνικο με ταδε κωδικο τετοια αμοιβη κτλ.


αυτα θα γινουν μεσα στην program;
« Last Edit: November 15, 2013, 14:21:02 pm by vasilis1005 » Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #12 on: November 15, 2013, 15:27:21 pm »

Quote from: vasilis1005 on November 15, 2013, 13:33:18 pm
εγω νομιζα οτι για να ορισω την αμοιβη του καθε τεχνικου επρεπε μεσα στον constructor της specialist να χρησιμοποιω τον πινακα special που εχω ορισει μεσα στην κλαση project και μετα να λεω οτι για τον τεχνικο με ταδε κωδικο τετοια αμοιβη κτλ.


αυτα θα γινουν μεσα στην program;

Εκτός και αν δε κατάλαβα καλά, ο constructor τκς κλάσης specialist θα πρέπει να διαβάζεις δύο τιμές (κώδικας ειδικότητας και αμοιβή) τις οποίες και θα καταχωρεί σε αντίστοιχες μεαβλητές της κλάσης.
Οπότε κάθε αντικείμενο στον τύπο specialist (που υλοποιεί έναν εργάτη) θα έχει δύο μεταβλητές, την ειδικότητα και την αμοιβή αυτού του ατόμου.
Logged

L
WebSlave
Καταστραμμένος
***
Posts: 5562


Bad faith


View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #13 on: November 15, 2013, 16:15:00 pm »

Όπως τα λέει ο Exomag.
Logged

It was the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us.

molotov49
Καταξιωμένος/Καταξιωμένη
***
Gender: Male
Posts: 269



View Profile
Re: [C++] Άσκηση B - 2013/2014 - Προθεσμία 17/11
« Reply #14 on: November 15, 2013, 16:32:20 pm »

στον constructor της spesialist θα δημιουργήσω πινακα αντικειμενων??
Logged
Pages: [1] 2 Go Up Print
Jump to:  

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