freestuff.gr αρχική σελίδα
 FAQFAQ    ΑναζήτησηΑναζήτηση   Λίστα ΜελώνΛίστα Μελών   Ομάδες ΜελώνΟμάδες Μελών   <b>Εγγραφή Μέλους</b>Εγγραφή Μέλους 
 ΠροφίλΠροφίλ   Επιλογές μέλους Επιλογές   Τα bookmarks μου Τα bookmarks μου   Προσωπικά μηνύματαΠροσωπικά μηνύματα 
  διαφήμιση  

Καλώς ήρθατε στο forum μας! Για να συμμετάσχετε στις συζητήσεις θα πρέπει να είσαστε μέλος. Γίνετε μέλος τώρα!.

Βοήθεια με προγράμματα c++


 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Moderators:  Super-Moderators, WebDev Moderators
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [3 Μηνύματα]      Bookmarks Tags: Βοήθεια Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
ΑποστολέαςΜήνυμα
Krits


Μέλος από: 07 Δεκ 2003
Νέα: 1
Μηνύματα: 256+

Περιοχή: Γλυφάδα-Τρίπολη
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 10 Μαρ 2004 23:20    Θέμα: Βοήθεια με προγράμματα c++ Απάντηση με παράθεση  Mark this post and the followings unread

Παιδιά θα ήθελα να με βοηθήσετε να γράψω δύο προγράμματα σε c++.Μας τα έβαλαν ως εργασία στο πανεπιστήμιο και δεν έχω προλάβει να μελετήσω το βιβλίο.Πρέπει να τις παραδώσω την παρασκευή!Οι εκφωνήσεις δίνονται παρακάτω...

1. Γράψτε ένα πρόγραμμα σε C++ το οποίο θα υπερφορτώνει μία συνάρτηση με
όνομα getnumber. Εάν της περάσετε ένα όρισμα τύπου bool, η συγκεκριμένη
έκδοση της συνάρτησης θα επιστρέφει μηδέν ή ένα ανάλογα με το εάν το
όρισμά της έχει τιμή true ή false. Εάν της περάσετε ένα όρισμα τύπου int, η
έκδοση της συνάρτησης θα επιστρέφει την τιμή που εισάγατε
πολλαπλασιασμένη επί τον εαυτό της.
2. Γράψτε ένα πρόγραμμα C++ το οποίο θα χρησιμοποιεί ξεχωριστές
συναρτήσεις για την εμφάνιση προτροπής για την ηλικία σας (θα εμφανίζει
δηλαδή ένα μήνυμα που θα σας καλεί να δώσετε την ηλικία σας), την
ανάγνωση της ηλικίας σας και τη χρήση της τιμής που διάβασε για τον
υπολογισμό και την εμφάνιση της δυνατότητάς σας να συνταξιοδοτηθείτε (το
οποίο θεωρούμε ότι γίνεται σε ηλικία 62 ετών ή ανώτερη).

Ευχαριστώ πολύ...
Με εκτίμιση!
Ray


Μέλος από: 07 Μαη 2003
Νέα: 1
Μηνύματα: 256+

Περιοχή: Lost Somewhere In Time
View users profile
ΜήνυμαΣτις: 11 Μαρ 2004 01:07    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Φίλε krits,

Ποτέ δεν μου αρέσει να δίνω απαντήσεις σε εργασίες φοιτητών ΠΑΝΕΠΗΣΤΙΜΙΑΚΩΝ ιδρυμάτων και ειδικά σε μια γλώσσα προγραμματισμού όπως η C++

Δεν καταλαβαίνω δικαιολογίες τύπου δεν πρόλαβα να διαβάσω το βιβλίο!

Και οι δύο εργασίες είναι γελοίες και ειδικά η δεύτερη!

Δεν καταλαβαίνεις πόσο κακό κάνεις στον εαυτό σου ΜΗ ΜΑΘΕΝΟΝΤΑΣ ένα από τα βασικότερα μαθήματα της πληροφορικής

Δυστυχώς για λόγους ΙΔΕΟΛΟΓΙΑΣ δεν μπορώ να σου δώσω κάποια λύση, μπορώ όμως ευχαρίστως να σε κατευθύνω έτσι ώστε να δημιουργήσεις τις λύσεις μόνος σου

Η σύνταξη των εντολών των παρακάτω λύσεων δεν είναι 100% σωστή, μπορείς όμως εύκολα να βρεις την σύνταξη των εντολών από το βιβλίο σου (η λογική τους όμως είναι σωστή)

Ερώτημα 1ο

Function overloading (η υπερφόρτωμα μιας συνάρτησης), είναι μία τεχνική με την οποία μπορούν να υπάρχουν πολλές συναρτήσεις με το ίδιο όνομα και αποτελείτε από δύο μέρη

(α) Prototyping

Δηλαδή το όνομα της συνάρτησης και τι παράμετρο παίρνει

Void getnumber ( int x);

(b) Definition

Τι κάνει η συνάρτηση με την παράμετρο που παίρνει

Void getnumber ( int x)
{
Y=x*x
};


Οπότε το πρόγραμμα θα είναι περίπου
κώδικας:


#include <iostream>
using namespace std;

(Διαδικασία Prototyping)
Void getnumber ( int x);
int getnumber ( string x);

Int main()
{

(Δημιούργησε 2 μεταβλητές, μία τύπου integer και μία τύπου string)

int number;
string word;

(Δώσε κάποιες αρχικές τιμές στις μεταβλητές σου)

number = 10;

word = “True”;

(Κάλεσε την συνάρτηση με παράμετρο integer)

cout << "Call ""integer"" version" << endl;
getnumber(number);

(Κάλεσε την συνάρτηση με παράμετρο string)

cout << "Call ""boolean"" version" << endl;
getnumber(word);

}

(Διαδικασία Definition)

Πρώτα τι να κάνει η συνάρτηση αν έχει παράμετρο τύπου integer
void getnumber( int x)
{
        y = x*x;
}

Και αν έχει παράμετρο τύπου string
int getnumber( string x)
{

Εδώ έχουμε δύο περιπτώσεις ή το χ να έχει την τιμή True, οπότε έχουμε output 1

if x=”True”
y=1;
Η την περίπτωση το χ να έχει την τιμή False, οπότε έχουμε output 0

if x=”False”
y=0;

Return (y)

}



Και τελείωσες…

Υπάρχουν πολλοί ποιο ενδιαφέροντες τρόποι να λύσεις αυτό το πρόβλημα, απλά ελπίζω ότι αυτός είναι ένας κατάλληλος αλγόριθμος για να παρουσιάσεις στον καθηγητή σου (για beginner)…

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


Ερώτηση 2η

Εδώ χρειάζεσαι

(α) Μια συνάρτηση που θα ρωτάει την ηλικία του χρήστη

Π.χ.

κώδικας:

Int InputFromUser(){

Int age;
printf("Enter your age: ");
scanf("%s",age);

return (age)

}


(β) Και μια που θα υπολογίζει πότε θα συνταξιοδοτηθείς με βάση ηλικίας τα 62
(Αλήθεια τόσο παλιά είναι αυτή η εργασία ποια, τότε οι άνθρωποι έβγαιναν σε σύνταξη στα 62… )

κώδικας:

Int CalculateRetirement (int MyAge){

(Παρατήρησε ότι αυτή η συνάρτηση παίρνει σαν παράμετρο την ηλικία που δίνει ο χρήστης στην παραπάνω συνάρτηση)

(Δηλώνουμε ηλικία συνταξιοδότησης)
Int RetirementAge=62;

(Και έχουμε δύο περιπτώσεις αν παίρνεις σύνταξη οπώτε)

If RetirementAge= MyAge
Y=1;
elseif
If RetirementAge<MyAge
Y=1;
else
(Και μία περίπτωση στην οποία δεν παίρνεις σύνταξη)

If RetirementAge>MyAge
Y=0;


(οπότε επιστρέφουμε το αποτέλεσμα στο πρόγραμμά μας)

Return (y);

}



Άρα στο main function περίπου θα γίνετε

κώδικας:


Void main()
{

Int output;
Int MyAge;

(input από χρήστη)

MyAge = InputFromUser();

(Έλεγχος συνταξιοδώτησης)

Output = CalculateRetirement (MyAge);

(και τελικά)

If output=1
Cout Perneis Syntaksh

If output=0
Cout Den Perneis Syntaksh

}



Αυτά…

Ελπίζω να σε βοήθησα αρκετά…

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


Για ότι απορίες έχεις μην διστάσεις να ρωτήσεις


Φιλικά,

Χρήστος

Last edited by Ray on 11 Μαρ 2004 06:53, edited 1 time in total
Krits


Μέλος από: 07 Δεκ 2003
Νέα: 1
Μηνύματα: 256+

Περιοχή: Γλυφάδα-Τρίπολη
View users profile Send email to user Visit posters website
ΜήνυμαΣτις: 11 Μαρ 2004 01:43    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

exeis apolito dikeio...kserw oti einai xazo auto pou kanw!eimai adikaiologitos...
euxaristw pantws gia oti ekanes gia mena...
ma panw apo ola s euxaristw pou me ekanes na ksupnisw apo tin ideologia tou antigrafea!!
tha me boithisoun poli oi simeiwseis sou na kanw estw kai twra mia kali arxi!
euxaristw kai pali!
me ektimisi...
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [3 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 24 Μαρ 2017 21:52 | All times are UTC + 2


Email This Page to Someone! add to Favorites

     Powered by p h p B B © 2001,2005 p h p B B Group
Για άμεση επικοινωνία με τον διαχειριστή του freestuff.gr στο email: freestuff.gr(παπάκι)gmail.com


Copyright © 1999-2013 Freestuff.gr All Rights Reserved  
Version Aegean, designed by N. Tsaganos