[C con Clase] Buenas tardes, tengo problemas para mantener el valor de las variables

Salvador Pozo salvapozo en gmail.com
Vie Nov 11 11:33:58 CET 2016


El pasado 2016-11-08 21:18:56, gino cerda hinostroza escribió:
 
gch> Buenas tardes, tengo problemas para mantener el valor de las variables generadas en cada case, estas variables son usadas en las otras opciones, pero permanecen inmutables. desearía saber como solucionarlo, gracias.

Hola:

Dado que estás usando variables globales, lo cual no es muy recomendable, el problema no es que sus valores no cambien. Lo hacen, pero tu programa no puede acceder a ellos.

Para empezar, al leer los datos del curso, el valor del número de alumnos máximo se lee en una variable "a" que es local en la función "pregunta", por lo que la siguiente vez que se ejecute esa función, "a" vuelve a tomar el valor cero.

Además, estás llamando a la función "pregunta" de forma recursiva, es decir, esta función se invoca a si misma cada vez que introduces datos. Esto no es recomendable porque cada vez se crea un juego nuevo de variables que se almacenan en la pila, y resulta una carga para el sistema que no es necesaria.

Intenta evitar esta recursividad usando un bucle, de este modo se mantendrán los valores de las variables locales, y se evita el uso excesivo de la pila.

Hasta pronto.



Más información sobre la lista de distribución Cconclase