THMMY.gr

Μαθήματα Βασικού Κύκλου => Αντικειμενοστραφής Προγραμματισμός => Topic started by: Vlassis on October 16, 2015, 18:40:14 pm



Title: [C++] Άσκηση 2 - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Vlassis on October 16, 2015, 18:40:14 pm
Αριθμομηχανή

Να φτιάξετε μια αριθμομηχανή που να υποστηρίζει πράξεις (+,-,*,/) μηγαδικών και πραγματικών αριθμών. Ο χρήστης θα δίνει την επιλογή ποιούς αριθμούς θέλει να χρησιμοποιήσει στην αριθμομηχανή. Οι επιλογές θα είναι 1 για μιγαδικόυς 2 για πραγματικούς. Nα χρησιμοποιήσετε δομές και υπερφόρτωση όπου χρειάζεται. Την πράξη θα τι δίνει ο χρήστης καθώς και τους αριθμούς των μιγαδικών.

Σημείωση:

1) οι δομές στη C++ ορίζονται ακριβώς με τον ίδιο τρόπο όπως στη C.
2) Η main συνάρτηση θα βρίσκεται σε διαφορετικό αρχείο, από την υλοποίηση της βασικής λειτουργικότητας.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: heavy melon on October 18, 2015, 18:55:30 pm
γενικά, η υπερφόρτωση που αναφέρει έγκειται στο να χρησιμοποιήσουμε π.χ.
την ίδια add που θα διαφέρει μόνο ως προς ορίσματα κτλ
για κ για την πρόσθεση πραγματικών αλλά κ για την πρόσθεση μιγαδικών;

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


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 18, 2015, 19:02:20 pm
γενικά, η υπερφόρτωση που αναφέρει έγκειται στο να χρησιμοποιήσουμε π.χ.
την ίδια add που θα διαφέρει μόνο ως προς ορίσματα κτλ
για κ για την πρόσθεση πραγματικών αλλά κ για την πρόσθεση μιγαδικών;

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

Έχει κάνει υπερφόρτωση στο μάθημα;
Με μπέρδεψε λίγο αυτό το σημείο. Την άσκηση πρέπει να τη κάνουμε σε c++, αλλά στο μάθημα νμζ έχει φτάσει μέχρι κλάσεις...


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: heavy melon on October 18, 2015, 19:21:52 pm
γενικά, η υπερφόρτωση που αναφέρει έγκειται στο να χρησιμοποιήσουμε π.χ.
την ίδια add που θα διαφέρει μόνο ως προς ορίσματα κτλ
για κ για την πρόσθεση πραγματικών αλλά κ για την πρόσθεση μιγαδικών;

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

Έχει κάνει υπερφόρτωση στο μάθημα;
Με μπέρδεψε λίγο αυτό το σημείο. Την άσκηση πρέπει να τη κάνουμε σε c++, αλλά στο μάθημα νμζ έχει φτάσει μέχρι κλάσεις...

δεν ξέρω, στις διαφάνειες που έχει ανεβάσει πάντως υπάρχει.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Schro on October 18, 2015, 20:50:19 pm
μπορεί να είναι χαζή ερώτηση άλλα για την υπερφόρτωση, θα πρέπει για παράδειγμα να έχουμε δυο συναρτήσεις add που ανάλογα με το ποια συνάρτηση καλεί ο χρήστης (βάση των ορισμάτων που δίνει) θα πρέπει να τρέχει για πραγματικούς η για μιγαδικούς αριθμούς ή πρέπει να χρησιμοποιήσουμε υπερφόρτωση τελεστών;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 18, 2015, 21:41:29 pm
μπορεί να είναι χαζή ερώτηση άλλα για την υπερφόρτωση, θα πρέπει για παράδειγμα να έχουμε δυο συναρτήσεις add που ανάλογα με το ποια συνάρτηση καλεί ο χρήστης (βάση των ορισμάτων που δίνει) θα πρέπει να τρέχει για πραγματικούς η για μιγαδικούς αριθμούς ή πρέπει να χρησιμοποιήσουμε υπερφόρτωση τελεστών;

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


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: anchelon on October 19, 2015, 23:25:23 pm
Θα πρέπει να χρησιμοποιήσουμε αντικειμενοστρεφή σχεδίαση ή ο στόχος της εργασίας είναι ακόμα εισαγωγικός για τη μετάβαση απο c σε c++. Επειδή αναφέρει τις δομές ρωτάω. θενκς  :)


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: ntaFAQ on October 20, 2015, 14:00:13 pm
Εχει κανεις ιδεα γιατι μου χτυπαει ο κομπιλερ σε μια τετοια δηλωση? struct add(float x,float y,float z,float k) p1;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 20, 2015, 14:11:50 pm
Εχει κανεις ιδεα γιατι μου χτυπαει ο κομπιλερ σε μια τετοια δηλωση? struct add(float x,float y,float z,float k) p1;


Δε ξέρω να χρησιμοποιώ structs. Βλέποντας όμως αυτά:

http://www.c4learn.com/c-programming/c-structure-declaration/
http://stackoverflow.com/questions/1675351/typedef-struct-vs-struct-definitions

έγραψα αυτό:

typedef struct add{float x, y, z, k;}p1;

που δε χτυπάει, αλλά δε ξέρω και αν δουλεύει.... :)


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Schro on October 20, 2015, 19:06:03 pm
Ο χρήστης θα δίνει αυθαίρετα όσους αριθμούς θέλει ή μόνο δύο;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 20, 2015, 20:17:42 pm
Ο χρήστης θα δίνει αυθαίρετα όσους αριθμούς θέλει ή μόνο δύο;

Στο face κάποιος έγραψε ότι θέλει μόνο 2 αριθμούς.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Schro on October 20, 2015, 20:23:16 pm
Ο χρήστης θα δίνει αυθαίρετα όσους αριθμούς θέλει ή μόνο δύο;

Στο face κάποιος έγραψε ότι θέλει μόνο 2 αριθμούς.

αχ, αυτό το face.
ευχαριστώ ρε Tolis_tmo_


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: josko on October 22, 2015, 14:34:34 pm
" Σημείωση:
1) οι δομές στη C++ ορίζονται ακριβώς με τον ίδιο τρόπο όπως στη C.
2) Η main συνάρτηση θα βρίσκεται σε διαφορετικό αρχείο, από την υλοποίηση της βασικής λειτουργικότητας. "

τι εννοεί με την Σημείωση 2;;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 22, 2015, 18:46:58 pm
Σημείωση: Η main συνάρτηση θα βρίσκεται σε διαφορετικό αρχείο, από την υλοποίηση της βασικής λειτουργικότητας. "
τι εννοεί με την Σημείωση 2;;

Εννοεί ότι θα κάνεις ένα αρχείο something.h που θα περιέχει τα declarations για τις συναρτήσεις σου, ένα something.cpp που θα περιέχει την υλοποίηση των συναρτήσεων αυτών (και άρα τη βασική λειτουργικότητα) και ένα αρχείο main.cpp που θα κάνει όλα τα άλλα.
Διάβασε και αυτή (https://www.thmmy.gr/smf/index.php?topic=64983.msg1102223#msg1102223) τη συζήτηση που είναι σχετική.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Schro on October 22, 2015, 20:39:04 pm
Παιδιά εγώ αυτό με τα headers μπορώ να το κάνω να δουλεύει μόνο όταν το δώσω στον Codeblocks σαν Project.
Γίνεται και αλλιώς; Αν όχι τι να στείλω όλο το project ή μόνο τα αρχεία σε .zip;  :(


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 22, 2015, 23:26:43 pm
Παιδιά εγώ αυτό με τα headers μπορώ να το κάνω να δουλεύει μόνο όταν το δώσω στον Codeblocks σαν Project.
Γίνεται και αλλιώς; Αν όχι τι να στείλω όλο το project ή μόνο τα αρχεία σε .zip;  :(

Στο elearning θα στείλεις όλα τα αρχεία σου .h και .c αφού τα βάλεις σε σε ένα zip.

Πάντως γίνετε και χωρίς cb, το έδειξε ο καθηγητής στο μάθημα. Αν π.χ. χρησιμοποιείς gcc (που είναι και αυτός που χρησιμοποιεί ο cb εκτός αν τον άλλαξες εσύ) μπορείς να βάλεις όλα τα αρχεία .h και .c της άσκησης στο ίδιο directory και ύστερα να γράψεις κάποιες εντολές και να γίνει compile.
Τι εντολές χρειάζεσαι κάθε φορά δε ξέρω αλλά λέει κάποια πράγματα εδώ:
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_headers.html
και https://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Schro on October 23, 2015, 11:16:16 am
Παιδιά εγώ αυτό με τα headers μπορώ να το κάνω να δουλεύει μόνο όταν το δώσω στον Codeblocks σαν Project.
Γίνεται και αλλιώς; Αν όχι τι να στείλω όλο το project ή μόνο τα αρχεία σε .zip;  :(

Στο elearning θα στείλεις όλα τα αρχεία σου .h και .c αφού τα βάλεις σε σε ένα zip.

Πάντως γίνετε και χωρίς cb, το έδειξε ο καθηγητής στο μάθημα. Αν π.χ. χρησιμοποιείς gcc (που είναι και αυτός που χρησιμοποιεί ο cb εκτός αν τον άλλαξες εσύ) μπορείς να βάλεις όλα τα αρχεία .h και .c της άσκησης στο ίδιο directory και ύστερα να γράψεις κάποιες εντολές και να γίνει compile.
Τι εντολές χρειάζεσαι κάθε φορά δε ξέρω αλλά λέει κάποια πράγματα εδώ:
https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_headers.html
και https://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html

Thank you!  :)


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: raf on October 23, 2015, 18:03:46 pm
παιδια δεν μπορω να ανεβασω εργασια ...
τι εγινε?


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Apostolof on October 23, 2015, 18:48:46 pm
παιδια δεν μπορω να ανεβασω εργασια ...
τι εγινε?

Έγραψαν κάτι σχετικό και στο fb, αλλά δε ξέρει κανείς ακόμα τι παίζει. Στείλε ένα email στον Γενειατάκη (dgeneiat@ece.auth.gr) για να είσαι καλυμμένος.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: galexang on October 23, 2015, 20:32:46 pm
Υπάρχει κάποιο πρόβλημα στο e-learning;Δν μπορώ να ανεβάσω την εργασία...


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Vlassis on October 23, 2015, 20:42:45 pm
Υπάρχει κάποιο πρόβλημα στο e-learning;Δν μπορώ να ανεβάσω την εργασία...

[..]
Έγραψαν κάτι σχετικό και στο fb, αλλά δε ξέρει κανείς ακόμα τι παίζει. Στείλε ένα email στον Γενειατάκη (dgeneiat@ece.auth.gr) για να είσαι καλυμμένος.


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: galexang on October 23, 2015, 20:46:05 pm
να στείλω την εργασία στο e-mail του εννοείς;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: Vlassis on October 23, 2015, 20:49:20 pm
να στείλω την εργασία στο e-mail του εννοείς;
Πες οτι δεν μπορεις να την ανεβασεις και επισυναψε και την εργασια στο mail , και αναλογα το τι θα σου πει κάνεις. Μπορει αφου επεσε το συστημα να του δωσει μια μικρη παραταση  ;)


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: electric67 on October 24, 2015, 00:45:42 am
άμα κατά λάθος δεν προλάβουμε να κάνουμε τελική υποβολή τότε λαμβάνει υπόψιν το draft, έτσι δεν είναι;


Title: Re: [C++] Άσκηση B - 2015/2016 Προθεσμία 23/10/15 12:00πμ
Post by: billbarrett on October 24, 2015, 01:46:03 am
άμα κατά λάθος δεν προλάβουμε να κάνουμε τελική υποβολή τότε λαμβάνει υπόψιν το draft, έτσι δεν είναι;

Νομιζω πως καπου εχει αναφερει οτι λαμβανει υποψιν και το draft, αλλα καλυτερα να κανεις τελικη υποβολη.