elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Reserva de asientos en un cine
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Reserva de asientos en un cine  (Leído 23,917 veces)
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Reserva de asientos en un cine
« Respuesta #10 en: 23 Enero 2014, 15:44 pm »

En primer lugar:
Código
  1. while (opcion != 0){

No inicializas la variable opcion. Inicializala a un número diferente de 0, o usa do-while.


En línea

sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: Reserva de asientos en un cine
« Respuesta #11 en: 23 Enero 2014, 15:46 pm »

int opcion

Si que la he inicializado, pero el error que tengo en lo de antes no viene de ahí ¿verdad?


Saludos


En línea

dato000


Desconectado Desconectado

Mensajes: 3.034



Ver Perfil
Re: Reserva de asientos en un cine
« Respuesta #12 en: 23 Enero 2014, 17:34 pm »

int opcion

Si que la he inicializado, pero el error que tengo en lo de antes no viene de ahí ¿verdad?


Saludos

Pues habian varios, pero el relacionado con el tema era que usabas un ciclo en el que recorria todos los valores de la sala desde i=0 y j=0 hasta la columna y fila deseada, por lo que mientras recorria todo el arreglo rellenando los valores, ahora, eso seria a modo general pero tu usaste la siguiente sentencia en el ciclo for:

Código
  1. for (i=0; i<fila; i++) {
  2.    for (j=0; j<columna; j++) {;} // aqui recorre cada fila hasta la columna que digita el usuario
  3.                                  // pero no hace nada
  4.        if (mat[i][j] != 1){  //al primer uso, todos los valores son 0, entonces si son diferentes de 1
  5.            mat[i][j] = 1; // con eso llenas todas las columnas, pues esta recorriendo i=0 hasta la fila...      
  6.  
  7.        }
  8.        else printf("Asiento ocupado");
  9. }
  10.  

No necesitas usar un ciclo, si solo una sentencia de validación if para comprobar si es un asiento ocupado o no, eso es todo, ya tienes la columna y la fila que necesitas, el usuario la da, solo es comprobar si ya esta ocupada.

En fin, hay varias cosas, dejo el código, suerte con eso, sigue con el empeño.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define max_columnas 5
  6. #define max_filas    5
  7.  
  8.  
  9. int main()
  10. {
  11.    srand(time(NULL));
  12.    int opcion, i, j, fila, columna;
  13.    int mat[max_columnas][max_filas];
  14.  
  15.    do {
  16.          system("clear");
  17.          printf("1.- Vaciar sala\n");
  18.          printf("2.- Visualizar asientos disponibles\n");
  19.          printf("3.- Reservar asientos\n");
  20.          printf("0.- Salir\n");
  21.  
  22.          printf("\nEscoge una opcion: ");
  23.          //fflush(stdin);
  24.          scanf("%d", &opcion);
  25.  
  26.          switch (opcion){
  27.                 case 1: // Vaciar sala
  28.                      system("clear");
  29.                      for (i=0; i < max_columnas; i++) {
  30.                          for (j=0; j < max_filas; j++) {
  31.                              mat[i][j] = 0;
  32.                          }
  33.                      }
  34.                      printf("La sala ha sido vaciada correctamente");
  35.                      getchar();
  36.                      getchar();
  37.                      break;
  38.  
  39.  
  40.  
  41.                 case 2: // Visualizar asientos disponibles
  42.                      system("clear");
  43.                      for (i=0;  i < max_columnas; i++) {
  44.                          printf("\n");
  45.                          for (j=0; j < max_filas; j++) {
  46.                              printf(" %d ", mat[i][j]);
  47.                          }
  48.                          printf("\n");
  49.                      }
  50.                      getchar();
  51.                      getchar();
  52.                      break;
  53.  
  54.  
  55.  
  56.                 case 3: // Reservar asientos
  57.                      system("clear");
  58.                      printf("\tReserva de asientos");
  59.                      printf("\n------------------------------\n");
  60.  
  61.                      printf("\nEscribe la fila: ");
  62.                      scanf("%d", &fila);
  63.                      printf("\nEscribe la columna: ");
  64.                      scanf("%d", &columna);
  65.  
  66.                      if(mat[fila][columna] == 0)
  67.                      {
  68.                        mat[fila][columna] = 1;
  69.                        printf("Asiento asignado correctamente");
  70.                      }
  71.                      else
  72.                      {
  73.                        printf("Asiento ocupado");
  74.                      }
  75.  
  76.                      getchar();
  77.                      getchar();
  78.                      break;
  79.  
  80.                 case 0:
  81.                      system("clear");
  82.                      printf("Has decidido salir, hasta luego");
  83.                      getchar();
  84.                      return 0;
  85.                      break;
  86.  
  87.                 default:
  88.                      printf("Opcion no encontrada, hubo un error, esto va a explotar ARGH!!!\n\n");
  89.                      getchar();
  90.                      getchar();
  91.                      break;
  92.  
  93.  
  94.  
  95.                 } // Fin switch
  96.  
  97.    } while (opcion != 0); // Fin do-while
  98.  
  99.    getchar();
  100.    return 0;
  101. }
  102.  
En línea


sora_ori

Desconectado Desconectado

Mensajes: 269



Ver Perfil
Re: Reserva de asientos en un cine
« Respuesta #13 en: 23 Enero 2014, 17:38 pm »

Muchas gracias!

Ahora funciona perfecto, seguiré mejorandolo :P


Saludos
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
validar dia reserva php
PHP
kakashi20 2 3,035 Último mensaje 29 Diciembre 2011, 21:35 pm
por kakashi20
AYuda Sistema de reserva
Desarrollo Web
y4ankee231 1 2,030 Último mensaje 15 Noviembre 2012, 10:35 am
por #!drvy
Asignacion de asientos en C++
Programación C/C++
rusoko 4 5,366 Último mensaje 6 Mayo 2014, 09:20 am
por eferion
AYUDA Reserva de vuelos en C
Programación C/C++
B_PORTA 6 3,804 Último mensaje 16 Abril 2016, 13:33 pm
por B_PORTA
Algoritmo de reserva de puestos en avión
Programación C/C++
daya2912 3 2,176 Último mensaje 16 Noviembre 2016, 05:28 am
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines