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

¿Fallo de asignacion?

Estas en el tema de ¿Fallo de asignacion? en el foro de C/C++ en Foros del Web. Bueno estoy haciendo un juego del ahoracado en C pero por alguna razon al llegar un punto de pedir una variable dice que el programa ...
  #1 (permalink)  
Antiguo 21/02/2010, 12:00
Avatar de Carlmycol  
Fecha de Ingreso: diciembre-2007
Ubicación: Los Teques, Venezuela
Mensajes: 240
Antigüedad: 17 años
Puntos: 3
¿Fallo de asignacion?

Bueno estoy haciendo un juego del ahoracado en C pero por alguna razon al llegar un punto de pedir una variable dice que el programa ha dejado de funcionar y al depurarlo dice "Fallo de asignacion, no se que pueda estar pasando ..

Tengo algo como esto

Código C:
Ver original
  1. while(a==0) {
  2. opcion=menu();
  3.     if(menu==0) {
  4.     // salir
  5.     a=1;
  6.     }
  7.  
  8. if (menu==1) {
  9.    //jugar
  10.    //busco una palabra al azar
  11.    while(seguir==0) {
  12.    //se repite mostrndo la palabra y pidiendo una letra
  13.    //si gana o pierde entonces seguir=1;
  14.    }

Da fallo de asignacion al pedir por segunda vez el opcion=menu(); que podrá ser?
No puedo poner el codigo porque es muy largo

Es muy extraño pues jamas me habia pasado este error y peor, no le encuentro nada ilogico

Espero que me puedan ayudar a encontrar el problema

Saludos, gracias de antemano!
  #2 (permalink)  
Antiguo 21/02/2010, 23:53
Avatar de fradve  
Fecha de Ingreso: abril-2009
Mensajes: 157
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: ¿Fallo de asignacion?

Según el code que muetras supongo que la función menú te devuelve la opcion que elegistes y guardas ese valor en la variable opcion, entoces tus preguntas deben ser con la variable opcion, no con menú, así:


Código C++:
Ver original
  1. while(a==0)
  2. {
  3.     opcion=menu();
  4.  
  5.     if(opcion==0)  // salir
  6.     a=1;
  7.  
  8.     if (opcion==1)
  9.    {
  10.         //haga lo que haga
  11.    }
  12. }


Ahora que si manejas mas de esas dos opciones entonces lo mejor es usar una estructura selectiva múltiple, así:

Código C++:
Ver original
  1. while(a==0)
  2. {
  3.     opcion=menu();
  4.    
  5.     switch(opcion)
  6.     {
  7.           case 0: a=1;
  8.                        break;
  9.           case 1: //hago lo que tengo que hacer
  10.                        break;
  11.           case 2: //hago lo que tengo que hacer
  12.                        break;
  13.     }
  14. }
__________________
En programación hay mil y un formas de hacer lo mismo...

Etiquetas: asignacion, fallo
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 16:58.