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

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

Προβλημα με αθροισμα


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


Μέλος από: 15 Οκτ 2009
Μηνύματα: 105

View users profile
ΜήνυμαΣτις: 26 Οκτ 2013 22:31    Θέμα: Προβλημα με αθροισμα Απάντηση με παράθεση  Mark this post and the followings unread

Εχω κανει αυτον τον κωδικα και θελω με μια συναρτηση να βαζει αριθμο στο a και στο b
και με μια αλλη να βρισκει το αθροισμα,αλλα δεν μπορω να ενωσω τα κομματια αναμεσα
στις 2 συναρτησεις
καμια γνωμη?
κώδικας:
#include<StdAfx.h>
#include<iostream>
#include<conio.h>
using namespace std;

int readData();
int summ(int x,int y);

int main()
{
   int a,b,c;
   readData();
   summ(a,b);
   getch();
}
int readData()
{
   int a,b;
   cout<<"dwse a:";
   cin>>a;
   cout<<"dwse b:";
   cin>>b;
   return a,b;
}
int summ(int x,int y)
{
   int z;
   z=x+y;
   cout<<"to z einai:"<<z<<endl;
   return z;
}
xultimatex
Honorary Member

Μέλος από: 26 Ιουλ 2003
Μηνύματα: 256+
Περιοχή: Ξάνθη
View users profile
facebook 
ΜήνυμαΣτις: 28 Οκτ 2013 11:24    Θέμα: Απάντηση με παράθεση  Mark this post and the followings unread

Πιστεύω ότι σου ξεφεύγει μια πολύ βασική αρχή στον προγραμματισμό: Η εμβέλεια των μεταβλητών.
Πρακτικά αυτό σημαίνει ότι τις μεταβλητές μιας συνάρτησης δεν μπορούν να τις πειράξουν άλλες συναρτήσεις. Για παράδειγμα οι μεταβλητές a,b,c που έχεις στη main() είναι τελείως διαφορετικές από αυτές που έχεις στιν readData() και ας έχουν το ίδιο όνομα. Οπότε ότι και να κάνεις στην readData() δεν περνάει στη main().

Η εντολή return από την άλλη παίρνει μόνο μία μεταβλητη (το return a,b είναι λάθος) και επιστρέφει την τιμή αυτή όταν τελειώσει η συνάρτηση. Για παράδειγμα:

κώδικας:

int a;
a=readData();


Δυστυχώς δε γίνεται μια συνάρτηση να επιστρέψει πολλές μεταβλητές στην c/c++ και γενικά σε λίγες γλώσσες γίνεται. Αν θέλεις να κρατήσεις αυτή τη δομή ίσως να πρέπει να επιστρέψεις έναν πίνακα (int[]) με δύο θέσεις όπου στην πρώτη θα έχεις το a και στην άλλη το b. Αλλιώς, ίσως να ήταν καλύτερα την readData() να την ενσωματώσεις στην main για να έχεις πρόσβαση στις μεταβλητές.

_________________
Just an arrow? Αν προσπαθείς πολύ για να πετύχεις κάτι, ίσως το κάνεις με λάθος τρόπο...
Εμφάνιση Μηνυμάτων:   
Εισαγωγή νέου Θέματος   Απάντηση στο Θέμα Σελίδα 1 από 1 [2 Μηνύματα] Mark the topic unread :: Προηγούμενο θέμα :: Επόμενο θέμα
 Forum index » Δημιουργία Web Sites, Γραφικών & Προγραμματισμός » Γλώσσες Προγραμματισμού » C, C++
Τώρα είναι 19 Δεκ 2014 14:06 | 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