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

Login with username, password and session length

Αναζήτηση

Google

THMMY.gr Web
Πρόσφατα
Αποτελέσματα Εξεταστικής ...
by george14
[Today at 12:08:25]

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

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

Τι ακούτε αυτήν τη στιγμή...
by Katarameno
[Today at 02:29: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]

Πρακτική Άσκηση ΤΗΜΜΥ 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]
Στατιστικά
Members
Total Members: 9961
Latest: Poli
Stats
Total Posts: 1426686
Total Topics: 31710
Online Today: 169
Online Ever: 2093
(April 17, 2025, 08:47:49 am)
Users Online
Users: 62
Guests: 77
Total: 139
ellimoschou
pelopidt
MrGreekArrow
kzmekos
ppoug
Vasilikikr
kmargaritis
Nikos_313
Roidos
gmpatsol
Saint_GR
gdiakonikolhs
Raphael
melisste22
elenak
gp6
meliou
Billyskotsikas
nikitask
Διάλεξις
glavdakis
Denisivo
antontsiorvas
kvas
pkoko
Kass
AcademicWeapon!
mimaki
xeniam
stavros0201
Fotis Roukoutakis
mike_x
bit11
jimalexoud
athena_apo
cchristodoulou
menelaras
dkoui
dmoral
paristetos
Carot1456
aggp
ZontanosThrylos
freakyy
Mardouk75
Ntinomanolo123
tasos gourd
NickSpan
mariaxalk
Limpolits
salonis
Farmakis Aggelos
tmpadasn
gkougeor
dimivage
Εμφάνιση

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

Νέα!
Για ανανέωση (ή προσθήκη νέου) avatar, πρέπει η μεγαλύτερη διάσταση της εικόνας να είναι 110 pixels.
THMMY.gr > Forum > Μαθήματα Βασικού Κύκλου > 2ο Εξάμηνο > Αντικειμενοστραφής Προγραμματισμός (Moderators: chatzikys, tzortzis) > [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
0 Members and 1 Guest are viewing this topic.
Pages: [1] 2 3 ... 8 Go Down Print
Author Topic: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11  (Read 10617 times)
pentium4
Veteran
Καταστραμμένος
******
Posts: 7940


εφακ


View Profile
[C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« on: November 08, 2012, 16:57:36 pm »

Σε μία ηλεκτρονική ψηφοφορία οι ψηφοφόροι καλούνται να δηλώσουν τη σειρά προτίμησης για έναν αριθμό από Ν υποψηφίους. Ο υποψήφιος τον οποίο ο ψηφοφόρος θα δηλώσει ως πρώτη προτίμηση θα πάρει Ν βαθμούς, ο υποψήφιος που θα δηλωθεί ως δεύτερη προτίμηση θα βαθμολογηθεί με Ν-1 βαθμούς κοκ. Οι ψηφοφόροι μπορούν να μη δηλώσουν προτίμηση για κάποιους υποψηφίους. Σε αυτήν την περίπτωση οι υποψήφιοι βαθμολογούνται με 0.
Να γραφεί το λογισμικό που διαχειρίζεται την πιο πάνω ψηφοφορία. Στο λογισμικό να οριστούν:
α) Η κλάση prospective η οποία υλοποιεί έναν υποψήφιο. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να ζητείται να δοθεί το όνομα και ένας κωδικός για τον υποψήφιο και να μηδενίζεται ο αριθμός των βαθμών του.
β) Η κλάση voter η οποία να υλοποιεί ένα ψηφοφόρο. Με τη δημιουργία αντικειμένων στον τύπο της κλάσης να ζητείται να δοθεί το όνομα και ένας κωδικός για τον ψηφοφόρο.
Στο πρόγραμμα να οριστεί η συνάρτηση vote() η οποία να δέχεται έναν πίνακα από αντικείμενα τύπου prospective και να ζητά από τον ψηφοφόρο να καταχωρίσει τις προτιμήσεις του. Ο ψηφοφόρος θα πρέπει να εισάγει τους κωδικούς των υποψηφίων με τη σειρά της προτίμησής του και η συνάρτηση να προσθέτει στα αντικείμενα του πίνακα που αντιστοιχούν στους υποψηφίους τους βαθμούς που προκύπτουν από την κατάταξη που θα δώσει ο ψηφοφόρος.
Η συνάρτηση main() του προγράμματος να διαβάζει τον αριθμό των υποψηφίων και τον αριθμό των ψηφοφόρων και να δεσμεύει δυναμικά μνήμη, με τη συνάρτηση malloc, για την καταχώρηση ενός πίνακα με αντικείμενα τύπου prospective και για την καταχώρηση ενός πίνακα με αντικείμενα τύπου voter. Στη συνέχεια να ορίζει μια ατέρμονα ανακύκλωση σε κάθε επανάληψη της οποίας να καλείται ένας ψηφοφόρος να εισάγει τον κωδικό του και με την βοήθεια της συνάρτησης vote() να ψηφίσει. Αφού ψηφίσει ο ψηφοφόρος να μηδενίζεται ο αντίστοιχος κωδικός του έτσι ώστε να μην είναι δυνατόν να ψηφίσει για δεύτερη φορά. Η ατέρμον ανακύκλωση να τερματίζεται όταν ο διαχειριστής του συστήματος εισάγει έναν ειδικό κωδικό ή όταν ψηφίσουν όλοι οι ψηφοφόροι.
Μετά το τέλος της ψηφοφορίας το πρόγραμμα να εκτυπώνει το όνομα και τους βαθμούς του κάθε υποψηφίου.
Σημείωση: Όλες οι μεταβλητές που θα δηλωθούν ως μέλη των κλάσεων να δηλωθούν στην private περιοχή.
Η συνάρτηση vote() να ελέγχει αν ο κωδικός κάποιου υποψήφιου έχει καταχωρηθεί περισσότερες από μια φορές από κάποιον ψηφοφόρο.


και καλή μας αρχή παίδες !
Logged

https://www.youtube.com/watch?v=doMu-YNc4wM&feature=emb_title

4Dcube
Veteran
Καταστραμμένος
******
Gender: Male
Posts: 9068


just.do.it.cut.carrots.


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #1 on: November 08, 2012, 18:09:43 pm »

καλό κουράγιο παιδιά Wink
Logged

https://www.youtube.com/watch?v=6CAzdawCzhg
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #2 on: November 10, 2012, 18:22:33 pm »

Quote from: pentium4 on November 08, 2012, 16:57:36 pm
Οι ψηφοφόροι μπορούν να μη δηλώσουν προτίμηση για κάποιους υποψηφίους.

Να διευκρίνιζε, παρακάτω, και πως ακριβώς γίνεται αυτό καλά θα ήταν Cheesy

ΥΣ: ασάφειες+=1
Logged

Eragon
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 672



View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #3 on: November 10, 2012, 19:17:54 pm »

Quote from: Exomag on November 10, 2012, 18:22:33 pm
Quote from: pentium4 on November 08, 2012, 16:57:36 pm
Οι ψηφοφόροι μπορούν να μη δηλώσουν προτίμηση για κάποιους υποψηφίους.

Να διευκρίνιζε, παρακάτω, και πως ακριβώς γίνεται αυτό καλά θα ήταν Cheesy

ΥΣ: ασάφειες+=1
Δεν υπάρχει ασάφεια νομίζω στο συγκεκριμενο σημειο(ή τουλάχιστον είναι συνηθισμένη ασάφεια).Ο ψηφοφόρος δίνει τους κωδικούς των υποψηφίων με σειρα προτιμησης και μετα πατάει ένα προκαθορισμένο πλήκτρο για να δηλώσει ότι δε θελει να ψηφισει άλλους.
Logged

Change happens by listening and then starting a dialogue with the people who are doing something you don't believe is right.

Jane Goodall
thanospr
Καταξιωμένος/Καταξιωμένη
***
Posts: 115


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #4 on: November 10, 2012, 20:15:16 pm »

Με τα ονοματα τι παιζει;Δεν πρεπει να βαλουμε ενα οριο στο ποσους χαρακτηρες να δινουμε;
Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #5 on: November 10, 2012, 20:53:41 pm »

Quote from: thanospr on November 10, 2012, 20:15:16 pm
Με τα ονοματα τι παιζει;Δεν πρεπει να βαλουμε ενα οριο στο ποσους χαρακτηρες να δινουμε;

Λογικά θα βάλεις ένα λογικό προκαθορισμένο μέγεθος, όπως πχ 50 χαρακτήρες...
Logged

Endeavour X
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Gender: Male
Posts: 3346



View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #6 on: November 10, 2012, 21:07:29 pm »

καθε χρονο τα ιδια παντως ε; πιο πολυ χρονο τρως να καταλαβεις τι θελει ο yoda ο κορτεσιους, παρα στον κωδικα. καλη τυχη ρε ντουγανια
Logged
Neal
Εθισμένος στο ΤΗΜΜΥ.gr
*****
Gender: Male
Posts: 910



View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #7 on: November 10, 2012, 21:21:22 pm »

Για ακόμα μια φόρα η εκφώνηση εκτός από κακογραμμένη είναι και λάθος (εν μέρει). Για ποιο λόγο να μπλέκει κανείς με malloc στη C++ και για ποιο πορνοδιαστροφικό λόγο να ζητάει να τρέξεις constructors σε αντικείμενα που θα δεσμευθούν (δε δημιουργούνται) με malloc;
Logged

like.no.other™
c0ndemn3d
Veteran
Αbsolute ΤΗΜΜΥ.gr
******
Posts: 4804


Yarr!


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #8 on: November 10, 2012, 22:29:59 pm »

ΣΤΟ ΤΟΠΙΚ ΤΗΣ ΕΡΓΑΣΙΑΣ ΝΑ ΓΡΑΦΕΤΕ ΜΟΝΟ ΓΙΑ ΤΗΝ ΕΡΓΑΣΙΑ
Logged

In response, the pirates had to adhere to a doctrine of their own...
war against the world

They took my home, I can't walk away from that; can you?
 Forget me, forget Teach, forget loyalty, compacts, honours, debts, all of it.
The only question that matters is this: Who are you?
Mr K
Guest
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #9 on: November 10, 2012, 23:07:03 pm »

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

Εννοεί θέλει συνθήκη αρχικών συνθηκων όπου θα ζητάμε απο τον χρήστη τα συγκεκριμένα στοιχεία;

Αν ναι, γίνεται μια σ.α.σ να ζητάει στοιχεια απο το πληκτρολογιο, γιατι νόμιζα είναι μονο για αρχικοποιηση..
« Last Edit: November 10, 2012, 23:15:39 pm by Mr K » Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #10 on: November 10, 2012, 23:13:01 pm »

Quote from: Mr K on November 10, 2012, 23:07:03 pm
Εννοεί θέλει συνθήκη αρχικών συνθηκων όπου θα ζητάμε απο τον χρήστη τα συγκεκριμένα στοιχεία;
Ναι, αυτό εννοεί

Quote from: Mr K on November 10, 2012, 23:07:03 pm
Αν ναι, γίνεται μια σ.α.σ να ζητάει στοιχεια απο το πληκτρολογιο, γιατι νόμιζα είναι μονο για αρχικοποιηση..
Ναι, γίνεται
Logged

Mr K
Guest
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #11 on: November 10, 2012, 23:16:20 pm »

Ευχαριστώ κύριε Εξωμαγ
Logged
Mr K
Guest
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #12 on: November 10, 2012, 23:26:07 pm »

Η κλάση perspective θα έχει μόνο τον constructor; (συνάρτηση αρχικων συνθηκων)

Επισης δεν βλέπω να θέλει πουθενα συναρτηση τελικων συνθηκων..

(Συγγνώμη για τον καταιγισμό των ερωτήσεων)

Edit: Επειδη πρώτη φορά βλέπω πρόγραμμα με 2 κλάσεις. Πως ειναι καλύτερα να το γράψουμε: Κλαση1-συναρτησεις-μελη της 1- κλαση2- συναρτησεις-μέλη της 2 ή πρώτα τις κλάσεις και μετα τις συναρτήσεις;
« Last Edit: November 10, 2012, 23:35:10 pm by Mr K » Logged
Exomag
Veteran
Διεστραμμένος
******
Gender: Male
Posts: 22045


unfortunate...


View Profile
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #13 on: November 10, 2012, 23:59:35 pm »

Quote from: Mr K on November 10, 2012, 23:26:07 pm
Η κλάση perspective θα έχει μόνο τον constructor; (συνάρτηση αρχικων συνθηκων)

Επισης δεν βλέπω να θέλει πουθενα συναρτηση τελικων συνθηκων..

(Συγγνώμη για τον καταιγισμό των ερωτήσεων)

Edit: Επειδη πρώτη φορά βλέπω πρόγραμμα με 2 κλάσεις. Πως ειναι καλύτερα να το γράψουμε: Κλαση1-συναρτησεις-μελη της 1- κλαση2- συναρτησεις-μέλη της 2 ή πρώτα τις κλάσεις και μετα τις συναρτήσεις;

Γίνεται να έχεις μόνο constructor (συνάρτηση αρχικών συνθηκών), χωρίς deconstructor (συνάρτηση τελικών συνθηκών).

Ο πιο ευανάγνωστος τρόπος γραφής των κλάσεων είναι, κατά τη γνώμη μου, πρώτα όλες τις κλάσεις και μετά όλες τις συναρτήσεις-μέλη τους (με τη σειρά που γράφηκαν και οι κλάσεις).

Επίσης, μη ξεχνάς πως μπορείς να γράψεις τον κώδικα μιας συνάρτηση-μέλος μιας κλάσης μέσα στην ίδια την κλάση (αντί για μόνο το definition της συνάρτησης-μέλος). Αυτό βοηθάει ιδιαίτερα στην 'κομψή' παρουσίαση του κώδικα, και αυτό φαίνεται και σε αυτήν την εργασία, όταν έχεις συναρτήσεις-μέλη με πολύ σύντομο κώδικα (όταν, για παράδειγμα, κάνουν απλά return μία τιμή).
Για παράδειγμα:
Code:
class example_class
{
private:
    int a;
    int b;
    char c[50];
public:
    prospective();
    int get_a() {return a;}
    int get_b() {return b;}
    char *get_c() {return c;}
    void increase_a(int n) {a+=n;}
    void increase_b(int n) {b+=n;}
};
« Last Edit: November 11, 2012, 00:06:22 am by Exomag » Logged

Mr K
Guest
Re: [C++] Άσκηση Α - 2012/2013 - Προθεσμία 18/11
« Reply #14 on: November 11, 2012, 00:08:23 am »

Ευχαριστώ και πάλι (εκει με τις gets με έσωσες, δεν έχω ακομα εξοικειωθει με c++  Wink ) αν και διαφωνώ στην πιο παραπάνω παρουσίαση. Σαν υποστηρικτής του copy-paste προτιμώ να βάζω σε αναλυτική μορφή τον κώδικα τώρα που είναι απλος, για να μπορώ όταν γίνει πιο συνθετος να εχω όσο το δυνατον μια ξαναχρησιμοποιήσιμη φόρμα..
Logged
Pages: [1] 2 3 ... 8 Go Up Print
Jump to:  

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