Ver Mensaje Individual
  #2 (permalink)  
Antiguo 11/09/2010, 16:58
jonator
 
Fecha de Ingreso: marzo-2010
Mensajes: 8
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Pasar valores a una funcion

Lo único que tienes que hacer es trabajar con punteros, entonces cuando envíes la información por la función solo tienes que hacerlo así:

- En la que acabas de crear la variable la envías normal.

int variable = 0;
funcion(variable);

- Mientras que en la que recibes la variable le añades un "&".

int funcion(int& variable) {
.
.
.
}

Ej:
Código c++:
Ver original
  1. int jugarpersona(string user1, num4& numuser) {
  2.      int num = 0, num2;
  3.      num4 numfrac; //aquí creo el numfrac que es una variable que yo mismo me he inventado para este programa que consta de 4 posiciones para números
  4.      system("cls");
  5.      cout << "Usuario = " << user1 << endl << endl;
  6.      cout << "Introduce un numero de 4 cifras: ";
  7.      cin >> num;
  8.      compnum(num, numfrac); //aquí llamo la función normalmente
  9.      for (int i = 0; i < 4; i++) numuser[i] = numfrac[i];
  10.      return 0;
  11. }
  12.  
  13.  
  14.  
  15. int compnum (int num, num4& numfrac/* Aquí pongo el & para que se entiendan entre los dos subprogramas */) {
  16.         num4 numfraci;
  17.         for (int i = 0; i<4; i++){
  18.             numfraci[i] = num &#37; 10;
  19.             num = num / 10;
  20.             }
  21.         int s = 3;
  22.         for (int i = 0; i<4; i++){
  23.             numfrac[s] = numfraci[i];
  24.             s--;
  25.             }
  26.         return 0;
  27.         }

Así aparte de esta manera puedes aprovechar y devolver otras cosas con el return, yo por ejemplo lo uso como sistema de detección de fallos, si no me devuelve en cada subprograma un 0 es que algo falla xD.