Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Pasar valores a una funcion

Estas en el tema de Pasar valores a una funcion en el foro de C/C++ en Foros del Web. Hola, estoy programando en dev c++ y tengo que hacer un programa tipo proyecto (Varios cpp individuales pero conectados entre ellos) La cosa es que ...
  #1 (permalink)  
Antiguo 11/09/2010, 13:08
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Pasar valores a una funcion

Hola,

estoy programando en dev c++ y tengo que hacer un programa tipo proyecto (Varios cpp individuales pero conectados entre ellos)

La cosa es que yo en el 1er cpp tengo el main, en el 2do tengo una funcion que permite ingresar los datos, y en el3ero tengo la funcion venta

como no me han enseñado bases de datos aún, tengo que guardarlo todo en variables, pero resulta quew me obligan a q éstas sean locales (es decir que solo esten dentro de la funcion de un cpp), pero para peor, (creo yo) que cuando el exe ejecute el codigo del 3er cpp (el de venta) no va atener las variables del 2do cpp (el que contiene los datos).

Lo que me gustaria hacer es darle los valores de los articulos del 2do cpp al 3ero, y que éste a su vez se los devuelva pero más actualizados.

gracias
  #2 (permalink)  
Antiguo 11/09/2010, 16:58
 
Fecha de Ingreso: marzo-2010
Mensajes: 8
Antigüedad: 14 años, 1 mes
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.
  #3 (permalink)  
Antiguo 12/09/2010, 14:25
Avatar de latinpower  
Fecha de Ingreso: septiembre-2010
Ubicación: Canelones
Mensajes: 116
Antigüedad: 13 años, 7 meses
Puntos: 10
Respuesta: Pasar valores a una funcion

gracias, me ha servido

Etiquetas: cpp, funciones, locales, pasar, transpaso, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:08.