THMMY.gr

Μαθήματα Βασικού Κύκλου => Αντικειμενοστραφής Προγραμματισμός => Topic started by: Emfanever on November 25, 2008, 14:24:26 pm



Title: [C++] 6η εργασία 2008
Post by: Emfanever on November 25, 2008, 14:24:26 pm
ΕΡΓΑΣΙΑ F Αρχή της ανοικτής κλειστής σχεδίασης virtual functions (Hμ/νία λήξης δηλώσεων: 01/12/2008) 


Εργασία F

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

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

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

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

Για τους υπαλλήλους που αμείβονται με ημερομίσθιο ορίζεται το ημερομίσθιο του κάθε ενός και ένα ποσοστό επί του ημερομισθίου με βάση το οποίο υπολογίζονται οι ασφαλιστικές εισφορές οι οποίες βαρύνουν την εταιρία.

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

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

 

Σημείωση: Σε ορισμένους μεταγλωττιστές δημιουργείται πρόβλημα όταν δεσμεύεται δυναμικά μνήμη με τη συνάρτηση malloc για αντικείμενα στον τύπο παραγόμενων κλάσεων. Το πρόβλημα εμφανίζεται όταν οι διευθύνσεις αυτές δίνονται στη συνέχεια ως τιμές σε pointers στον τύπο της βασικής τους κλάσης και χρησιμοποιούνται για να καλέσουμε συναρτήσεις που ορίστηκαν ως virtual.


Title: Re: [C++] 6η εργασία 2008
Post by: Emfanever on November 25, 2008, 14:25:45 pm
Πάλι τα ίδια πράγματα θα κάνουμε? Θέλει virtual άλλα ουσιαστικά η εκφώνηση είναι ίδια με προηγούμενη εργασία.  ^dontknow^


Title: Re: [C++] 6η εργασία 2008
Post by: Tempus Fugit on November 25, 2008, 14:29:56 pm
Προτιμότερη από εκείνη με τους πίνακες Σx(i) και δε συμμαζεύεται...


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on November 26, 2008, 14:41:44 pm
gtpe



α

592


Title: Re: [C++] 6η εργασία 2008
Post by: status_quo on November 26, 2008, 17:27:14 pm
δλδ τώρα θα κάνουμε μια virtual συναρτηση για το συνολο των εξοδων για μηνιαιους μισθους και ημερομισθια και μια virtual για την εκτυπωση ωστε να τυπωνει αναλογα?


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on November 26, 2008, 17:37:50 pm
Εγω παντως, καταλαβα οτι θα κανουμε μερικες συναρτησεις κανονικες,
που θα επιστρεφουν τα συνολικα ποσα, και μια virtual που θα εκτυπωνει (γιατι εχει διαφορα)
το μισθο καθενος εργαζομενου., απο την οποια θα βρισκουμε τα συνολικα ποσα..

Δεν ορκιζομαι βεβαια, μαλλον λαθος ειναι, αλλα το βλεπω τωρα και βαριεμαι :P



α

594


Title: Re: [C++] 6η εργασία 2008
Post by: sminias_hlektromhxanikos on November 26, 2008, 17:39:01 pm
Η διατύπωση των εργασιών είναι για κλάματα!!!!


Title: Re: [C++] 6η εργασία 2008
Post by: radio on November 26, 2008, 18:49:31 pm
Στη σημειωση που εχει αναφερει κατι για παραγομενες κλασεις...υπαρχει καμια παραγομενη κλαση?? 2 δεν θα ειναι κλασεις ανεξαρτητες μεταξυ τους??


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on November 26, 2008, 19:06:13 pm
Στη σημειωση που εχει αναφερει κατι για παραγομενες κλασεις...υπαρχει καμια παραγομενη κλαση?? 2 δεν θα ειναι κλασεις ανεξαρτητες μεταξυ τους??


Διορθωστε με αν εχω λαθος στη λογικη μου

Εγω σκεφτηκα οτι θα εχουμε μια βασικη κλαση, και αλλες δυο,
για καθε τυπο εργαζομενου,
που θα κληρονομουν τη βασικη.

Μεχρι εκει καλα, αν ειναι ετσι,
μετα δεν εχω σκεφτει πως θα το υλοποιησω με τους πινακες..


α

595


Title: Re: [C++] 6η εργασία 2008
Post by: Anyparktos on November 26, 2008, 19:12:39 pm
Ρε παιδιά,επειδή δε πηγαίνω στις παραδόσεις μου λέει λίγο κανείς τι είναι η virtual και μέχρι που να διαβάσω για να ειμαι καλυμμένος για την εργασία?


Title: Re: [C++] 6η εργασία 2008
Post by: radio on November 26, 2008, 19:15:27 pm
Λες να εχει μια βασικη κλαση με 2 constructors και 2 παραγομενες? λογικο μου ακουγεται αφου λεει και για virtual. H εκφωνηση ειναι  ^puke^



Title: Re: [C++] 6η εργασία 2008
Post by: status_quo on November 26, 2008, 19:18:31 pm
Ρε παιδιά,επειδή δε πηγαίνω στις παραδόσεις μου λέει λίγο κανείς τι είναι η virtual και μέχρι που να διαβάσω για να ειμαι καλυμμένος για την εργασία?
μέσα απ΄το βιβλίο είναι μέχρι το κεφάλαιο 15.βασικά αν ήξερες τα προηγούμενα και διαβάσεις κι αυτά που λέει για εικονικές συναρτήσεις είσαι καλυμένος... ;)


Title: Re: [C++] 6η εργασία 2008
Post by: status_quo on November 26, 2008, 19:23:19 pm
πραγματικά τι θέλει να κάνουμε απ'το μεσημέρι σκέφτομαι πως θα την κάνω και δε βγάζω άκρη...εφόσον θέλει να υπολογίζονται στην πρώτη κλάση θα πρέπει να φτιάξουμε εκεί μέσα με malloc ένα πίνακα και να καταχωρούμε τον μισθό,κτλ? :o
αρχίζω να εκνευρίζομαι... ^knuppel^


Title: Re: [C++] 6η εργασία 2008
Post by: radio on November 26, 2008, 21:09:06 pm
Στη βασικη κλαση θα εχει 2 constructors που θα εισαγεις τιμες,θα εχει τις virtual για την καθαρη αμοιβη ασφαλιστικες εισ και φορο αλλα δεν τις υπολογιζεις εκει,τις δηλωνεις ως virtual(επιστρεφουν 0).Στις 2 παραγομενες κανεις τους υπολογισμους,μαλλον  :-X... Στην μαιν λεει να εκτυπωνουμε την κατασταση μισθοδοσιας των υπαλληλων με μια συναρτηση,τι εννοει ο ποιητης,τα αμοιβη ασφαλιστικες εισ και φορο που λεει να εκτυπωσουμε τι ειναι τοτε?


Title: Re: [C++] 6η εργασία 2008
Post by: status_quo on November 26, 2008, 21:25:45 pm
απ'ότι κατάλαβα με την κατάσταη μισθοδοσίας είναι τι παίρνει ο κάθε υπάλληλος+τους αντιστοιχους φόρους και εισφορές...ενώ με τα προηγούμενα θέλει τα ποσά για όλους τους υπαλλήλους συνολικά... :-\


Title: Re: [C++] 6η εργασία 2008
Post by: tomshare3 on November 28, 2008, 01:12:05 am
Αν χρησιμοποιησεις για οδηγο την 2η εργασια (βλ. ethmmy!!) βγαινει πολυ ευκολα.. ;) ;)

Οπως καταλαβα θελει μια βασικη κλαση με μια συναρτηση καθαρα δυναμικη για την εξοδο των δεδομενων και δυο παραγομενες κλασεις με αντιστοιχες δυναμικες..
Ολα τα στοιχεια θα εισαγονται στους constuctors και η main απλα θα δημιουργει τους πινακες και θα καλει καθε φορα την καταλληλη εκδοση της συναρτησης εξοδου.

Τωρα δεν εχω καταλαβει σε τι χρειαζεται η σημειωση για την malloc..... :???:


Title: Re: [C++] 6η εργασία 2008
Post by: Tempus Fugit on November 28, 2008, 01:29:27 am
υπαρχουν και οι new και delete εξαλλου, δεν ξέρω αν ισχύουν τα ίδια και για εκεί.  :???:


Title: Re: [C++] 6η εργασία 2008
Post by: Gadragon on November 28, 2008, 11:44:51 am
Και στο κατω κατω, γιατι να γινει δυναμικα η δεσμευση... ::) Ενταξει, το ξερω οτι ετσι θα εκανε ο σωστος ο προγραμματισταρας, αλλα αφου δεν το ζηταει στην εργασια, δεν χρειαζεται να κανω τη ζωη μου επιπλεον δυσκολη... . Ε? (Θελω να συμφωνησει καποιος, για να μη νιωθω τυψεις) 8)


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on November 28, 2008, 11:46:56 am
nai




α

606


Title: Re: [C++] 6η εργασία 2008
Post by: st0up on November 28, 2008, 18:02:58 pm
NAI NAI!! Μην εχεις τυψεις :P :P


Title: Re: [C++] 6η εργασία 2008
Post by: Tempus Fugit on November 28, 2008, 20:47:34 pm
Εγω θα το κανω δυναμικα, και οταν θα χουμε γινει προγραμματιστες μετα απο μερικα (λιγα  ::)) χρονια θα σου τρωω την δουλεια γιατι ολοι θα διαλεγουν εμενα που θα ξερω και malloc.  8)


Title: Re: [C++] 6η εργασία 2008
Post by: tomshare3 on November 28, 2008, 21:56:24 pm
Μπα!! αν συνεχισεις με malloc  σε βλεπω για απολυση!!!  :D :D

New λεμε!!!!!!! ;)


Title: Re: [C++] 6η εργασία 2008
Post by: costas122 on November 29, 2008, 16:09:18 pm
grrrrr....   :o :???:


Title: Re: [C++] 6η εργασία 2008
Post by: MARIOS on November 29, 2008, 23:00:18 pm
kai i malloc kai o new tin idia douleia kanoun opote....einai thema pozerias


Title: Re: [C++] 6η εργασία 2008
Post by: Time_Tripper on November 30, 2008, 13:29:02 pm
Απλως στη θεωρια ειπε τις new - delete και θελει να το γραψουμε με αυτες να δει αν τις ξερουμε.
Εξαλλου πιο σωστος προγραμματισμος ειναι η new απο τη malloc και αυτη ειναι και που χρησιμοποιειται κυριως στη c++ ::) :P
(καλα μη βαρατε ενα σχολιο εκανα!Δε φταιω εγω που ειμαι καμενη...! ^innocent^)


Title: Re: [C++] 6η εργασία 2008
Post by: tolis_1 on November 30, 2008, 17:06:14 pm
Μπορει κανεις να ποσταρει την λυση του Κορτεση για την 2η εργασια γιατι το ethmmy ειναι πεσμενο?


Title: Re: [C++] 6η εργασία 2008
Post by: sarasd on December 01, 2008, 08:09:18 am
Συνημμένη η λύση του Κορτέση για τη Β.

Επίσης άμα χρησιμοποιήσεις τη Β ως οδηγό ουσιαστικά θα γράψεις σε μια βασική ως virtual τις συναρτήσεις που είχες επικαλύψει στον παλιο κώδικα ;;;;


Title: Re: [C++] 6η εργασία 2008
Post by: sarasd on December 01, 2008, 08:59:03 am
Υ.Γ. πως θα την ανεβάσουμε αφού το thmmy δε νιώθει ;

εντάξει είναι τελικά


Title: Re: [C++] 6η εργασία 2008
Post by: Grecs on December 01, 2008, 09:34:41 am
Στο βιβλιο παντως στα παραδειγματα που εχει κανει ολες τις διεργασιες σε μια virtual συναρτηση
 (διαβασμα, υπολογισμος και εκτυπωση). Μηπως πρεπει να το κανουμε ετσι?


Title: Re: [C++] 6η εργασία 2008
Post by: wesa on December 01, 2008, 11:18:24 am
Αν χρησιμοποιησεις για οδηγο την 2η εργασια (βλ. ethmmy!!) βγαινει πολυ ευκολα.. ;) ;)

Οπως καταλαβα θελει μια βασικη κλαση με μια συναρτηση καθαρα δυναμικη για την εξοδο των δεδομενων και δυο παραγομενες κλασεις με αντιστοιχες δυναμικες..
Ολα τα στοιχεια θα εισαγονται στους constuctors και η main απλα θα δημιουργει τους πινακες και θα καλει καθε φορα την καταλληλη εκδοση της συναρτησης εξοδου.

Τωρα δεν εχω καταλαβει σε τι χρειαζεται η σημειωση για την malloc..... :???:

Τι είναι μια συνάρτηση καθαρά δυναμική για την έξοδο των δεδομένων?


Title: Re: [C++] 6η εργασία 2008
Post by: ion on December 01, 2008, 11:22:54 am
Στο βιβλιο παντως στα παραδειγματα που εχει κανει ολες τις διεργασιες σε μια virtual συναρτηση
 (διαβασμα, υπολογισμος και εκτυπωση). Μηπως πρεπει να το κανουμε ετσι?


Ποια παραδείγματα πες λίγο να τσεκάρω! εγώ υπολογισμό κ εκτύπωση έκανα virtual

Το διάβασμα γίνεται από τις συναρτήσεις αρχικών συνθηκών

(έτσι πιστεύω)


Title: Re: [C++] 6η εργασία 2008
Post by: Anyparktos on December 01, 2008, 11:27:24 am
@wesa
Καθαρά δυναμική είναι μια δήλωση περίπου τέτοια: " virtual float out(void)= 0; " στο public της βασικής σου κλάσης.Στην ουσία σημαίνει ότι πρέπει να ορίσεις αντίστοιχη δυναμική συναρτηση σε όλες τις παραγόμενες απο την κλάση που τη δήλωσες ενώ στην ουσία δεν ορίζεις κώδικα για τη βασική κλάση.



Τώρα εν τέλει καταλήξαμε κάπου?Θα κάνουμε όλη τη δουλειά με constructor και απλές συναρτήσεις και στην έξοδο των δεδομένων μια virtual?


Title: Re: [C++] 6η εργασία 2008
Post by: ion on December 01, 2008, 11:32:21 am
όχι εγώ δν έχω ούτε μία απλή συνάρτηση όλα virtual τα έκανα

αν και γενικά δν βρίσκω το όλο νόημα της εργασίας

Επειδή λέει να "εκτυπώνει τα ποσά που θα πληρώσει η εταιρία ως καθαρές αμοιβές, ως κρατήσεις στα ασφαλιστικά ταμεία και ως φόρο που παρακρατήθηκε καθώς και την κατάσταση μισθοδοσίας των υπαλλήλων" εννοεί να εκτυπώσουμε αθροίσματα??


Title: Re: [C++] 6η εργασία 2008
Post by: wesa on December 01, 2008, 11:47:00 am
Αυτη που ειχε στη λυση του σαν print_payment την εκανα virtual και απλα εκανα τις δυο κλασεις παραγωμενες απο μια employee. Δεν νομιζω οτι εχει νοημα αλλα δεν βρισκω κατι καλυτερο. :P


Title: Re: [C++] 6η εργασία 2008
Post by: ILIAS on December 01, 2008, 12:27:37 pm
Βασικά νομίζω ότι λέει ποιες συναρτήσεις θα κάνουμε virtual. Εκεί που λεει χωρίς να τροποποιηθούν τις αναφέρει.


Title: Re: [C++] 6η εργασία 2008
Post by: Anyparktos on December 01, 2008, 12:39:41 pm
Seriously πάντως,δε καταλαβαίνω τι μπορεί να εννοεί "κατάσταση μισθοδοσίας" όταν προηγουμένως μας έχει πει να εκτυπώσουμε όλα τα ποσά.Γιατί να μην κάνουμε μια συνάρτηση που να εκτυπώνει όλα τα ποσά που πληρώνει τόσο ο εργαζόμενος όσο και η εταιρεία and get it over with?

Kαι ILIAS,μήπως μπορείς να γίνεις λίγο πιο συγκεκριμένος?Ποιες δηλαδή συναρτήσεις πιστεύεις ότι ζητάει ?Γιατί δε βγάζω άκρη από την εκφώνηση...


Title: Re: [C++] 6η εργασία 2008
Post by: ion on December 01, 2008, 12:41:51 pm
κατάσταση μισθοδοσίας πιστεύω ότι εννοεί μια τέτοια εκτύπωση

ΟΝΟΜΑ:
ΚΑΘΑΡΕΣ ΑΠΟΛΑΒΕΣ:
ΦΟΡΟΣ:
 και μπλα μπλα για κάθε εργαζόμενο

τα ποσα που ζητάει απλά είναι τα αθροίσματα
δηλ. εκτυπώνονται μια κ τελος

Η ΕΤΑΙΡΕΙΑ ΕΠΙΒΑΡΥΝΘΗΚΕ ΜΕ "" ΤΟΣΑ ΠΟΣΑ ΓΙΑ ΤΗΝ ΑΣΦΑΛΙΣΗ


Title: Re: [C++] 6η εργασία 2008
Post by: ILIAS on December 01, 2008, 12:45:34 pm
Είναι αυτό που λέει η ionΑπλώς εγώ για τα ποσά που εκτυπώνονται έκανα μια virtual συνάρτηση για τοκαθένα γιατί έλεγε οι συναρτήσεις να επιστρέφουν τα ποσά και έπειτα στη main τις καλούσα και εκτύπωνα. Προσοχή τι θα βάλετε ορίσματα σε αυτές τις συναρτήσεις.


Title: Re: [C++] 6η εργασία 2008
Post by: Emfanever on December 01, 2008, 12:47:21 pm
ότι νάναι η εργασία...
εγω τις συναρτήσεις εκτύπωσης δεν τις έκανα virtual γιατί και στις 2 περιπτώσεις χρησιμοποιώ τις ίδιες ,άρα δεν έχει νόημα.


Title: Re: [C++] 6η εργασία 2008
Post by: ILIAS on December 01, 2008, 12:51:50 pm
Ναι και εγώ στην αρχή αυτό έκανα αλλά μετά βασίστηκα στην εκφώνηση.Βασικά, εκτός από την ακτάσταση μισθοδοσίας οι άλλες virtual θεωρώ ότι είναι περιττές.Οι άλλες που υπολόγίζοθν τις καθαρές αποδοχές κτλ πιο λογικό είναι να ναι virtual.


Title: Re: [C++] 6η εργασία 2008
Post by: Emfanever on December 01, 2008, 12:58:47 pm
Ναι και εγώ στην αρχή αυτό έκανα αλλά μετά βασίστηκα στην εκφώνηση.Βασικά, εκτός από την ακτάσταση μισθοδοσίας οι άλλες virtual θεωρώ ότι είναι περιττές.Οι άλλες που υπολόγίζοθν τις καθαρές αποδοχές κτλ πιο λογικό είναι να ναι virtual.

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


Title: Re: [C++] 6η εργασία 2008
Post by: Anyparktos on December 01, 2008, 13:06:58 pm
Βασικά άμα κάνω τη συνάρτηση εκτύπωσης και τις συναρτήσεις υπολογισμού των καθαρών απολαβών virtual πιστεύετε ότι θα είμαι καλυμμένος?Sorry για το spam ερωτήσεων αλλά θέλω να τελειώνω γιατί έχω κάτι υποχρεώσεις σήμερα... :(


Title: Re: [C++] 6η εργασία 2008
Post by: sarasd on December 01, 2008, 14:45:28 pm
Καλυμμένος θα 'σαι νομίζω και εγώ το ίδιο έκανα και την έστειλα... απλά υπολόγισε και τα συνολικά ποσά για την εταιρεία. Νομίζω το πιο λογικό είναι αυτο να γίνεται στη main, σωστά ;


Υ.Γ. εγώ έκανα και την  get_data virtual.


Title: Re: [C++] 6η εργασία 2008
Post by: Anyparktos on December 01, 2008, 16:03:15 pm
So...Mπορεί κανείς να μου πει τι πρέπει να κάνω για να δίνω τον pointer του αντίστοιχου αντικειμένου του πίνακα αντικειμένων(δηλ μισθωτων και ημερομισθίων).Εγώ έκανα αυτό:
Code:
#include <iostream.h>

class employee
{
 protected:

 char name[51];
 int code;

 public:

 employee(void);
 virtual void calc(void)=0;
 virtual void read(void)=0;
 virtual void printstatus(void)=0;
};

employee::employee(void)
{
 cout<<"\nEisagete onoma ypallhlou: ";
 cin>>name;
 cout<<"\nEisagete kwdiko ergazomenou: ";
 cin>>code;
}

class salary:public employee
{
 protected:

 float aka8arista,insperc,taxperc,ka8ara,ins,tax;

 public:

 salary(void);
 void read(void);
 void calc(void);
 void printstatus(void);
};

salary::salary(void):employee()
{
}

void salary::read(void)
{
 cout<<"\neisagete aka8aristo mis8o ypallhlou: ";
 cin>>aka8arista;
 cout<<"\neisagete % pososto asfalishs: ";
 cin>>insperc;
 cout<<"\neisagete % pososto forou: ";
 cin>>taxperc;
}
void salary::calc(void)
{
 ins=(aka8arista*insperc)/100;
 ka8ara=aka8arista-ins;
 tax=(ka8ara*taxperc)/100;
 ka8ara=ka8ara-tax;
}
void salary::printstatus(void)
{
   cout<<"ypallhlos: "<<name<<"\naka8aristos mis8os: "<<aka8arista;
   cout<<"\nka8aros mis8os: "<<ka8ara<<"\nasfalistra: "<<ins;
   cout<<"\nforos: "<<tax;
}

//paizei na prepei na pros8esw "asfalitikes" leptomereies but don't care

class wage:public employee
{
 protected:

 float merokamato,insperc,ins;

 public:

 wage(void);
 void read(void);
 void calc(void);
 void printstatus(void);
};

wage::wage(void):employee()
{
}
void wage::read(void)
{
 cout<<"\neisagete hmeromis8io ypallhlou: ";
 cin>>merokamato;
 cout<<"\neisagete % pososto asfalistikwn eisforwn: ";
 cin>>insperc;
}

void wage::calc(void)
{
 ins=(insperc*merokamato)/100;
}

void wage::printstatus(void)
{
 cout<<"\nypallhlos: "<<name<<"\nhmeromis8io: "<<merokamato;
 cout<<"\nasfalistra: "<<ins;
}


void main()
{
 salary A[10];
 wage B[5];
 int i;

 for(i=0;i<10;i++)
 {
  cout<<"\n"<<i<<"os mis8wtos: ";
  &A[i]->read();
  &A[i]->calc();
 }
 for(i=0;i<5;i++)
 {
  cout<<"\n"<<i<<"os ypallhlos amoibomenos me hmeromis8io: ";
  &B[i]->read();
  &B[i]->calc();
 }
 for(i=0;i<10;i++)
 {
  cout<<"\n"<<i<<"os mis8wtos: ";
  &A[i]->printstatus();
 }
 for(i=0;i<5;i++)
 {
  cout<<"\n"<<i<<"os ypallhlos amoibomenos me hmeromis8io: ";
  &B[i]->printstatus();
 }
}

Παρολ αυτά μου γράφει " pointer to structure required on left side of -> or ->* "
Δηλαδή αν δεν είναι το &Α(i) pointer τοτε τι είναι??  :???:
(eleor μ αυτό το html code,ουτε λιγο κώδικα δε μπορουμε να γράψουμε =_= )


Title: Re: [C++] 6η εργασία 2008
Post by: Salvation on December 01, 2008, 20:41:36 pm
Όρισε ένα ponter στη main πχ employer *p και μέσα στη for κάνε
Code:
p=&A[i], p->...


Title: Re: [C++] 6η εργασία 2008
Post by: GrEaSeR_ on December 02, 2008, 00:22:07 am
εεεε μαα...  Οταν μαθει να γραφει σωστες και πληρεις εκφωνησεις οπου θα καταλαβαινουνε και άτομα τα οποία δεν κανουν βολτες μες το μυαλο του τοτε θα στειλω κ εγω ολοκληρωμενη εργασια...  και πέρσι τα ίδια σ****α ειχαμε..


Title: Re: [C++] 6η εργασία 2008
Post by: AgentCain on December 02, 2008, 00:27:24 am
Μιας και η εργασία όπου ναναι λήγει (άντε ότι κάνατε κάνατε  :P)


ρε παιδιά, εμείς που πήραμε εκείνο το βιβλίο "Μαθαίνοντας τη C++ από το 0" μπορούμε ή δεν μπορούμε να πάρουμε άλλο?
Προσμετράται ή όχι?


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on December 02, 2008, 00:27:25 am
εεεε μαα...  Οταν μαθει να γραφει σωστες και πληρεις εκφωνησεις οπου θα καταλαβαινουνε και άτομα τα οποία δεν κανουν βολτες μες το μυαλο του τοτε θα στειλω κ εγω ολοκληρωμενη εργασια...  και πέρσι τα ίδια σ****α ειχαμε..


skata?

α

643


Title: Re: [C++] 6η εργασία 2008
Post by: apostolos1986 on December 02, 2008, 00:44:50 am
Μιας και η εργασία όπου ναναι λήγει (άντε ότι κάνατε κάνατε  :P)


ρε παιδιά, εμείς που πήραμε εκείνο το βιβλίο "Μαθαίνοντας τη C++ από το 0" μπορούμε ή δεν μπορούμε να πάρουμε άλλο?
Προσμετράται ή όχι?

Αυτό που πήρατε στο δομημένο;;

αν εννοείς αυτό...φυσικά μπορείτε να πάρετε κι άλλο στις προγραμματιστικές...


Title: Re: [C++] 6η εργασία 2008
Post by: AgentCain on December 02, 2008, 00:46:35 am
Ναι αυτό εννοώ  ;)


Title: Re: [C++] 6η εργασία 2008
Post by: stefos on December 02, 2008, 00:52:18 am
Μιας και η εργασία όπου ναναι λήγει (άντε ότι κάνατε κάνατε  :P)


ρε παιδιά, εμείς που πήραμε εκείνο το βιβλίο "Μαθαίνοντας τη C++ από το 0" μπορούμε ή δεν μπορούμε να πάρουμε άλλο?
Προσμετράται ή όχι?

Αυτό που πήρατε στο δομημένο;;

αν εννοείς αυτό...φυσικά μπορείτε να πάρετε κι άλλο στις προγραμματιστικές...

Kαι γω που το δηλώνω για 2η φορά το μάθημα μπορώ να πάρω ένα από τα 2 'πρωτοεμφανιζόμενα' βιβλία;


Title: Re: [C++] 6η εργασία 2008
Post by: apostolos1986 on December 02, 2008, 00:54:11 am
Μιας και η εργασία όπου ναναι λήγει (άντε ότι κάνατε κάνατε  :P)


ρε παιδιά, εμείς που πήραμε εκείνο το βιβλίο "Μαθαίνοντας τη C++ από το 0" μπορούμε ή δεν μπορούμε να πάρουμε άλλο?
Προσμετράται ή όχι?

Αυτό που πήρατε στο δομημένο;;

αν εννοείς αυτό...φυσικά μπορείτε να πάρετε κι άλλο στις προγραμματιστικές...

Kαι γω που το δηλώνω για 2η φορά το μάθημα μπορώ να πάρω ένα από τα 2 'πρωτοεμφανιζόμενα' βιβλία;

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


Title: Re: [C++] 6η εργασία 2008
Post by: stefos on December 02, 2008, 00:57:20 am
Μιας και η εργασία όπου ναναι λήγει (άντε ότι κάνατε κάνατε  :P)


ρε παιδιά, εμείς που πήραμε εκείνο το βιβλίο "Μαθαίνοντας τη C++ από το 0" μπορούμε ή δεν μπορούμε να πάρουμε άλλο?
Προσμετράται ή όχι?

Αυτό που πήρατε στο δομημένο;;

αν εννοείς αυτό...φυσικά μπορείτε να πάρετε κι άλλο στις προγραμματιστικές...

Kαι γω που το δηλώνω για 2η φορά το μάθημα μπορώ να πάρω ένα από τα 2 'πρωτοεμφανιζόμενα' βιβλία;

αυτό δεν το γνωρίζω...
αυτό που ίσχυε ΄συμφωνα με το παλιο status quo με το ένα σύγγραμμα ήταν ότι όταν άλλαζε και το χρωστούσες ...ειχες δικαίωμα να το πάρεις το καινούριο....
τώρα δεν ξέρω τι συμβαίνει...
Μα δεν υπήρχε 'παλιό' συγγραμμα. Τις σημειώσεις του Κορτέση παίρναμε που φαντάζομαι ότι μοιράστηκαν και φέτος. Το "Μαθαίνοντας τη C++ από το μηδέν" ανήκει στα συγγράματα του Δομημένου προγραμματισμού και όχι στη C++.


Title: Re: [C++] 6η εργασία 2008
Post by: apostolos1986 on December 02, 2008, 01:05:07 am
ναι το ξέρω....απλά σου είπα τι γινόταν με το προηγούμενο καθεστώς...
με το προηγούμενο δικαιούσαι βιβλίο..

με το νέο καθεστώς δν το γνωρίζω...


Title: Re: [C++] 6η εργασία 2008
Post by: stefos on December 02, 2008, 01:06:26 am
Ευχαριστώ! :)
sorry για τα οφτοπικ...


Title: Re: [C++] 6η εργασία 2008
Post by: Grecs on December 02, 2008, 02:21:36 am
Παρεδωσε new η ακομα?


Title: Re: [C++] 6η εργασία 2008
Post by: Jalk on December 02, 2008, 02:45:06 am
Βιαστικοοοοος....

Κατσε να τελειωσουμε αυτη πρωτα... ;D ;D ;D


Title: Re: [C++] 6η εργασία 2008
Post by: Grecs on December 02, 2008, 02:51:32 am
Κι εσυ τωρα την κανεις?? Απλα ρωταω για να βαλω new!


Title: Re: [C++] 6η εργασία 2008
Post by: Jalk on December 02, 2008, 03:17:54 am
Κι εγω τωρα την εκανα... εγκαταλειπω την προσπαθεια...

Θα ανεβασω οτι εγραψα...κι αν του αρεσει


Title: Re: [C++] 6η εργασία 2008
Post by: Tempus Fugit on December 02, 2008, 03:25:31 am
Ζητείται χριστιανός να μου μάθει τις βιρτσουαλ και να μ εξηγησει πως ακριβως το ηθελε.  :P Μολις εγκατέλειψα νικημένος.


Title: Re: [C++] 6η εργασία 2008
Post by: MARIOS on December 02, 2008, 10:38:43 am
Γιατί ήθελε την new???Γενικότερα γιατί ήθελε δυναμική δέσμευση μνήμης???


Title: Re: [C++] 6η εργασία 2008
Post by: λήθη on December 02, 2008, 16:12:10 pm
Γιατί ήθελε την new???Γενικότερα γιατί ήθελε δυναμική δέσμευση μνήμης???


Για να δηλιουργησεις ενα πινακα δεκα θεσεων με αντικειμενα,
και εναν αλλο με 5..στη main


α

647


Title: Re: [C++] 6η εργασία 2008
Post by: Grecs on December 02, 2008, 19:56:02 pm
Ζητείται χριστιανός να μου μάθει τις βιρτσουαλ και να μ εξηγησει πως ακριβως το ηθελε.  :P Μολις εγκατέλειψα νικημένος.

Διαβασε απο το βιβλιο σελιδα 403 ολο το κεφαλαιο αν δε το εκανες τα λεει πολυ ξεκαθαρα.


Title: Re: [C++] 6η εργασία 2008
Post by: Tempus Fugit on December 03, 2008, 01:44:09 am
Θενκς, απλώς το θέμα είναι η εξάσκηση δυστυχως.  :-[


Title: Re: [C++] 6η εργασία 2008
Post by: 4Dcube on December 03, 2008, 02:18:52 am
Γιατί ήθελε την new???Γενικότερα γιατί ήθελε δυναμική δέσμευση μνήμης???


Για να δηλιουργησεις ενα πινακα δεκα θεσεων με αντικειμενα,
και εναν αλλο με 5..στη main


α

647

epic
;D


Title: Re: [C++] 6η εργασία 2008
Post by: crystal on February 04, 2009, 13:08:16 pm
Aν έχει δεί κάποιος την λύση της εργασίας που ανέβηκε στο ethmmy, μπορεί να μου εξηγήσει γιατι έχουμε pointer σε pointer εδω???

float calc_pay(employee **p,int n)

thnx

A,και κάτι άλλο

p=&a; είναι το ίδιο με *p=a; ??


Title: Re: [C++] 6η εργασία 2008
Post by: Πιστολέρο on February 04, 2009, 13:36:04 pm
O pointer σε pointer **p είναι στην ουσία ένας πίνακας από pointer σε αντικείμενα της βασικής τάξης.Ετσι η συνάρτηση calc_pay(), έχοντας τον p σαν όρισμα μπορεί να έχει πρόσβαση σε όλα τα αντικείμενα που έχουν οριστεί  και έχουν προηγουμένως καταχωρηθεί σε αυτό τον πίνακα.

Ετσι με την εντολή που βρίσκεται μέσα στη συνάρτηση calc_pay:

p[ι]->get_pay();

καλεί τη συνάρτηση get_pay() για το αντικέμενο στο οποίο δείχνει ο pointer p[ι]