ZAKKWYLDE Δημοσ. 5 Ιανουαρίου 2014 Δημοσ. 5 Ιανουαρίου 2014 H συνθήκη while θέλει όλη σε μια εξωτερική παρένθεση. Βέβαια και να το κάνεις αυτό, πάλι η λογική σου είναι λάθος στο while loop, αφού δεν ξαναζητάς πουθενά input για το code και τους αριθμούς σου μέσα στο loop. Οπότε πατώντας 1 ή 2 μετά θα έχεις ένα infinite loop που θα εκτυπώνει τα ίδια.
hanselg Δημοσ. 5 Ιανουαρίου 2014 Μέλος Δημοσ. 5 Ιανουαρίου 2014 Εκφωνηση : Να γίνει ανάπτυξη προγράμματος σε γλώσσα C++ με το οποίο θα γίνεται εισαγωγή δύο πραγματικών αριθμών και ενός ακέραιου κωδικού. Ο κωδικός θα εισάγεται με επαναληπτική διαδικασία και να είναι το 1 ή το 2. Αν ο χρήστης δώσει αριθμό που δεν είναι 1 ή 2 να γίνεται εμφάνιση μηνύματος που να προειδοποιεί τον χρήστη ότι επιτρέπεται είσοδος μόνο των κωδικών 1 ή 2 και μετά επανάληψη της διαδικασίας εισόδου του κωδικού. Το πρόγραμμα θα περιλαμβάνει τις συναρτήσεις: 1) sinartisi1 Βρίσκει και επιστρέφει το άθροισμα και την διαφορά των δύο αριθμών. Οι αριθμοί θα 2) sinartisi2 Βρίσκει και επιστρέφει το γινόμενο και το πηλίκο των δύο αριθμών Οι αριθμοί θα εμφανίζονται Στο main: • Θα γίνεται είσοδος των αριθμών και του κωδικού • Θα γίνεται κλήση της συνάρτησης sinartisi1 ή sinartisi2 ανάλογα με τον κωδικό που εισάγει ο χρήστης. • Θα γίνεται εμφάνιση των αποτελεσμάτων της συνάρτησης με τα κατάλληλα μηνύματα. εμφανίζονται μέσα από το main. μέσα από το main. #include #include using namespace std; void sinartisi1 (float & , float &, float &,float &); void sinartisi2 (float & , float &, float &,float &); int main(int argc, char *argv[]) { float m2,m1,code, num1, num2 ; cout <<"dose tous dio protous pragmatikous arithmous"<<"\n"; cin >> num1; cin >> num2; cin >> code; while (code==1) || (code==2) { if (code==1) { sinartisi1(m1, m2); cout << "to athrisma einai:" << num1 <<" "<<"kai i diafora einai" << num2 << "\n"; } if (code==2) { sinartisi2(m1, m2); cout << "to ginomeno einai:" << num1 <<" "<<" kai to piliko einai" << num2 << "\n"; } } system("PAUSE"); return EXIT_SUCCESS; } void sinartisi1(float & sum, float & dia, float & ar1, float & ar2) { sum=ar1+ar2; dia=ar1-ar2; cout<<"too athroisam kai i diafora einai" << sum <<" "<< dia <<"\n"; } void sinartisi2(float & gin, float & pil, float & ar1, float ar2) { gin=ar1*ar2; pil=ar1/ar2; cout<<"to ginomeno kai to piliko einai" << gin <<" "<< pil <<"\n"; } Ευχαριστω ενω το κανω σωστο μου βγαζει κατι λαθος στις συναρτησεις δε ξερω γιατι αλλα.... θελω να μου εμφανιζει οπως λεει στην εκφωνηση δυο αποτελεσματα σε περιπτωση που καποιος βαλει code 1 και δυο αποτελεσματα σε περιπτωση που καποιος βαλει code 2 αλλα κατι δεν παει καλα με την δομη της συναρτησης που εκανα . ευχαριστω για οποια βοηθεια που θα μπορουσε επιτελους να λυση αυτο μυστηριο λολ
Moderators Kercyn Δημοσ. 5 Ιανουαρίου 2014 Moderators Δημοσ. 5 Ιανουαρίου 2014 ενω το κανω σωστο μου βγαζει κατι λαθος στις συναρτησεις δε ξερω γιατι αλλα.... Θα έχει κάνα bug ο compiler και δε θα το βγάζει σωστά... H συνθήκη while θέλει όλη σε μια εξωτερική παρένθεση. Βέβαια και να το κάνεις αυτό, πάλι η λογική σου είναι λάθος στο while loop, αφού δεν ξαναζητάς πουθενά input για το code και τους αριθμούς σου μέσα στο loop. Οπότε πατώντας 1 ή 2 μετά θα έχεις ένα infinite loop που θα εκτυπώνει τα ίδια. Αυτό που λέει ο ZAKKWYLDE είναι άνευ σημασίας, γιατί όπως είπαμε έχει bug o compiler και δεν αξίζει να δοκιμάσεις αυτά που λέει μέχρι να διορθώσουν τον compiler... 1
hanselg Δημοσ. 5 Ιανουαρίου 2014 Μέλος Δημοσ. 5 Ιανουαρίου 2014 δεν εχει προβλημα ο compiler μου απλα δεν κανω κατι καλα στην συναρτηση void θελω να μου επιστρεφει δυο αποτελεσματα αλλα πως θα το κανω σωστα εκει κολαω...............
sonyxp Δημοσ. 5 Ιανουαρίου 2014 Δημοσ. 5 Ιανουαρίου 2014 Μια ερώτηση φίλε μου, από περιέργεια δηλαδή... τι έτος είσαι? #include <iostream> using namespace std; void sinartisi1(float, float, float *, float *); // Athroisma & Diafora void sinartisi2(float, float, float *, float *); // Ginomeno & Piliko int main(int argc, char *argv[]) { float athroisma, diafora, ginomeno, piliko; float num1, num2; int code = 0; cout << "Dwse 2 pragmatikous arithmous : "; cin >> num1 >> num2; do { cout << "Dwse ton kwdiko tou paypal sou: "; cin >> code; if (code == 1) { sinartisi1(num1, num2, &athroisma, &diafora); cout << "To Athroisma einai \t: " << athroisma << endl; cout << "H Diafora einai \t: " << diafora << endl; } else if (code == 2) { sinartisi2(num1, num2, &ginomeno, &piliko); cout << "To Ginomeno einai \t: " << ginomeno << endl; cout << "To Piliko einai \t: " << piliko << endl; } } while(code != 1 && code != 2); system("pause"); return 0; } void sinartisi1(float x, float y, float *athroisma, float *diafora) { *athroisma = x + y; *diafora = x - y; } void sinartisi2(float x, float y, float *ginomeno, float *piliko) { *ginomeno = x * y; *piliko = x / y; }
bird Δημοσ. 6 Ιανουαρίου 2014 Δημοσ. 6 Ιανουαρίου 2014 ενω το κανω σωστο μου βγαζει κατι λαθος στις συναρτησεις δε ξερω γιατι αλλα.... θελω να μου εμφανιζει οπως λεει στην εκφωνηση δυο αποτελεσματα σε περιπτωση που καποιος βαλει code 1 και δυο αποτελεσματα σε περιπτωση που καποιος βαλει code 2 αλλα κατι δεν παει καλα με την δομη της συναρτησης που εκανα . ευχαριστω για οποια βοηθεια που θα μπορουσε επιτελους να λυση αυτο μυστηριο λολ Μήπως να δεις λίγο πως καλείς τις δύο συναρτήσεις και πως τις ορίζεις;;; (πόσα ορίσματα έχει στη μία περίπτωση και πόσα στην άλλη) Παρεμπιπτόντως κοίταξε και τι σου έγραψαν τα άλλα παιδιά εδώ μέσα... Κάτι ξέρουν...
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα