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

Duda funciones C++

Estas en el tema de Duda funciones C++ en el foro de C/C++ en Foros del Web. Hola, estoy un poco perdido, asi que a ver si alguien me puede ayudar. Mi problema es que no sé si una función que a ...
  #1 (permalink)  
Antiguo 30/09/2013, 03:38
 
Fecha de Ingreso: septiembre-2013
Mensajes: 3
Antigüedad: 10 años, 7 meses
Puntos: 0
Duda funciones C++

Hola, estoy un poco perdido, asi que a ver si alguien me puede ayudar.

Mi problema es que no sé si una función que a su vez llama a otra, puede usar variables creadas y guardadas dentro de esta segunda.

Me explico: me han pedido reescribir una función (realmente tengo que dividirla en 3).

La función original es una cosa asi:

static double CalculaPrecioContrato(contrato){
(saco la info del contrato porque hay que tratarla primero):
int param A = contrato.dameA;
int param B = contrato.dameB;
int param C = contrato.dameC;

(es necesario tratar un par de datos antes de calcular el precio)
modifico A;
modifico B;

(con todos los datos calculo el precio)
código que calcula el precio del contrato
}

Bien, digamos que a grandes rasgos este es el código.

Me han pedido que lo divida en 3 métodos (uno que extraiga datos del contrato, otro que modifique los datos y otro que calcule el precio), para que quedara algo como:

static double CalculaPrecioContrato(contrato){
extraeInfo(contrato);
modificaDatos(contrato);
calculaPrecio(contrato);
}

Estas 3 funciones estarían declaradas antes...¿no?

Ahora mi duda es, si yo hago el método para extraer datos, algo asi:

static void extraerInfo(contrato){
int param A = contrato.dameA;
int param B = contrato.dameB;
int param C = contrato.dameC;
}

Los valores de paramA, paramB, y paramC, ¿se pueden usar luego dentro de la función "general" CalculaPrecioContrato o de la función modificaDatos?

Gracias de antemano por la ayuda.

Saludos,
  #2 (permalink)  
Antiguo 30/09/2013, 15:07
 
Fecha de Ingreso: enero-2012
Ubicación: Buenos Aires
Mensajes: 745
Antigüedad: 12 años, 3 meses
Puntos: 35
Respuesta: Duda funciones C++

No, pero puedes crearlas en la función CalculaPrecioContrato y pasarlas como un puntero:

Código C:
Ver original
  1. static void extraerInfo(contrato, int *A, int *B, int *C)
  2. {
  3.     *A = contrato.dameA;
  4.     *B = contrato.dameB;
  5.     *C = contrato.dameC;
  6. }
  7.  
  8. static double CalculaPrecioContrato(contrato)
  9. {
  10.     int A, B, C;
  11.    
  12.     extraeInfo(contrato, &A, &B, &C);
  13.     modificaDatos(contrato);
  14.     calculaPrecio(contrato);
  15. }


Etiquetas: funcion, funciones, int
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 18:10.