Newsgroup: it.comp.lang.c++
Titolo: Restituire valore tramite funzione

Ciao a tutti,
sono MOLTO alle prime armi, sto facendo un po di prove con il passaggio 
dei valori e la loro restituzione.
eccovi il mio codice
# include <iostream>
using namespace std;
   int funziona(int,int);
int main(){
   int risultato;
   risultato = 1;
   for (int fattore= 1;fattore <= 10;fattore++){
     // risultato = risultato * fattore;
     funziona(fattore,risultato);
      cout << risultato << endl;
   }
}
   int funziona(int fattore,int risultato){
     risultato = risultato * fattore;
     Con l'istruzione RETURN mi sarei aspettato che il valore venisse 	 
   restituito da poter essere riutilizzato per il secondo calcolo ma non 
è cosi. Dove sbaglio?
     return risultato;
   }
Ciao Lele

     funziona(fattore,risultato);
Qui restituisci un valore ma non lo usi e si perde. Deve mettere:
risultato = funziona(fattore, risultato)
O in alternativa ritornare un valore void (nessun valore quindi) e passare 
risultato per riferimento. In questo modo la sintassi da te usate andrebbe 
bene.
Ciao 

 bene.
Ti spiace farmi un piccolo esempio? Ho provato ma non ci sono riuscito.
Grazie per la disponibilità.
Lele

 Ti spiace farmi un piccolo esempio? Ho provato ma non ci sono riuscito.
Il codice dovrebbe essere questo:
# include<iostream>
using namespace std;
void  funziona (int fattore, int& risultato) {    // Il tipo di risultato 
non è int ma int& ovvero int passato per indirizzo
    risultato *= fattore;
};
int main() {
    int risultato = 1;
    for (int fattore = 1; fattore <= 10; fattore++) {
      funziona(fattore, risultato);
      cout << risultato << endl;
   }
    return 0;
 }
Ciao

Ciao Noixe,
ci sono risuscito ma non ho capito una cosa.
Avevo letto i passaggi per riferimento ma cosi facendo non "aggira" la 
visibilità di una variabile? Posso accedere a "int& risultato" da 
qualunque parte del programma?
Altra stupida domanda, quando programmavo in vb creare l'interfaccia era 
la cosa più semplice del mondo e in c++? Nel mio libro, (C++ Fondamenti 
di programmazione" di H. M. Deitel e P.J. Deitel ottimo per i nubbi lo 
consiglio a tutti) oltre alla Shell (in Linux) o nel Dos (in Windows) 
non ho visto nient'altro.
Quindi deduco che gestire un interfaccia debba essere una cosa al quanto 
difficile giusto?
Per la cronaca il mio ambiente di sviluppo è Kdevelop di Linux.
Lele

 difficile giusto?
In C++ non esistono funzioni per la gestione della grafica. Ti devi 
appoggiare a librerie esterne ognuna delle quali avrà funzioni proprie che 
puoi trovare nella documentazione di tali librerie. Un libro sul C++ 
standard non parlerà mai di interfacce grafiche perché esse sono elementi 
esterni al linguaggio che pero' fanno uso della sua sintassi e semantica.
Cerca quindi una guida a KDevelop o magari a Visual C++ se hai una certa 
dimestichezza con l'ambiente di Visual Basic.
Ciao 

 dimestichezza con l'ambiente di Visual Basic.
Ne conosci qualcuna?
Ciao e grazie.
Lele

 Ne conosci qualcuna?
Per Visual C++ ci sono varie guide in formato anche cartaceo e in italiano, 
per KDevelop non so se ne esistano in italiano.
Ciao 

 possibile  :-) 
heheh veramente sono proprio alle prime armi, non sono in grado di fare 
assolutamente nulla, al massimo riesco a copiare gli esercizi.
MI auguro solo di imparare presto perché studiare un ambiente di 
sviluppo è lungo e difficile e a volte anche frustrante.
Ciao
Lele

 è lungo e difficile e a volte anche frustrante.
Prima studia il linguaggio, successivamente utilizza qualche ambiente di 
sviluppo :-)
Ciao 

Ciao,
Grazie per l'interesse sei stato molto disponibilie
Ciao
lele