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

Programa que se congela a ejecutar

Estas en el tema de Programa que se congela a ejecutar en el foro de C/C++ en Foros del Web. Buenas, me llamo Julio, soy de Panamá y es mi primer post (Disculpen por errores). Mi problema es la ejecucion de este programa, se me ...
  #1 (permalink)  
Antiguo 27/06/2013, 08:13
 
Fecha de Ingreso: junio-2013
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Programa que se congela a ejecutar

Buenas, me llamo Julio, soy de Panamá y es mi primer post (Disculpen por errores). Mi problema es la ejecucion de este programa, se me congela.

Código C:
Ver original
  1. #include<conio.h>
  2. #include<stdio.h>
  3.  
  4. int main()
  5. {int j, cont=0, conta=0;
  6. int tabla[10];
  7.  
  8. for(j=0;j<=10;j++)
  9.   {tabla[j]=0;}
  10.  
  11. for(j=1;j<=10;j++)
  12.  {cont=cont+1;
  13.   printf("\n Asiento#%d \t %d", cont, tabla[j]);}
  14.  
  15. while(conta<=10)
  16. {printf("\n \n BIENVENIDO(A)");
  17. printf("\n \n Introduzca el numero de puesto deseado:");
  18. scanf("%d", j);
  19.  
  20. if (tabla[j]==0)
  21. {printf("Su puesto esta reservado \n");
  22. tabla[j]=1;
  23. conta=conta+1;}
  24.  
  25. else {printf("El puesto esta ocupado \n");}
  26. }
  27.  
  28. printf("\n El bus esta lleno");
  29.  
  30. return 0;
  31.  
  32. }

En secuencia el programa debe hacer esto: Generar un arreglo con 0 para representar los diez puestos vacíos. Luego preguntar asientos para ir llenando, si se repite algún numero decir que ya esta ocupado. Cuando el bus esta lleno imprimirlo en pantalla.

El problema radica en la ejecución, el programa corre hasta que me pregunta el numero de puesto, a partir de ahí introduzco el puesto y se congela (no sigue).

Pensé que mi error en la lectura de la posición, es decir si marcaba el puesto 9, se iba a la posición 9 donde dice "Asiento #9 0" y me iba leer todo eso (Incluyendo asiento#9) y por supuesto me tiraría error, sin embargo elimine esa palabra y nada seguía sin ejecutarme por completo.

El profesor quiere que utilice solo arreglos unidimensionale, pero si no hay mas solución me pueden dar la solución con bidimensional (Que era lo que quería hacer). Soy principiante xD y uso Dev C++
  #2 (permalink)  
Antiguo 27/06/2013, 10:37
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 5 meses
Puntos: 22
Respuesta: Programa que se congela a ejecutar

Hola jesm1294.

En la linea 18 debería ser:
Código C:
Ver original
  1. scanf("%d", &j);

Y hay algunos detalles mas, revisa si te sirve de este modo:
Código C:
Ver original
  1. include<conio.h>
  2. #include<stdio.h>
  3.  
  4. int main()
  5. {
  6.   int j, i, conta=0;
  7.   int tabla[10];  // 0..9
  8.  
  9.   // Inicializar reservas
  10.   for(j=0;j<10;j++) tabla[j]=0;
  11.  
  12.   while(conta < 10) {
  13.     // Mostrar estado actual de reservas
  14.     for(i=0;i<10;i++)
  15.       printf("\n Asiento#%d \t %d", i+1, tabla[i]);
  16.  
  17.     // Solicitar reserva
  18.     printf("\n \n BIENVENIDO(A)");
  19.     printf("\n \n Introduzca el numero de puesto deseado:");
  20.     scanf("%d", &j);
  21.    
  22.    // Verificar reserva
  23.     if (tabla[j-1]==0){
  24.       tabla[j-1] = 1;
  25.       printf("Su puesto esta reservado \n");
  26.       conta = conta + 1;
  27.     }
  28.     else
  29.       printf("El puesto esta ocupado \n");
  30.   }
  31.   printf("\n El bus esta lleno");
  32.   getch();
  33.   return 0;
  34. }

Saludos. :)
  #3 (permalink)  
Antiguo 27/06/2013, 18:41
 
Fecha de Ingreso: junio-2013
Mensajes: 2
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: Programa que se congela a ejecutar

Muchas Gracias!! Funciona perfectamente como debe. De verdad de la que me salvastes :D

Etiquetas: congela, int, programa
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 01:21.