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:
for (i=0; i<fila; i++) {
for (j=0; j<columna; j++) {;} // aqui recorre cada fila hasta la columna que digita el usuario
// pero no hace nada
if (mat[i][j] != 1){ //al primer uso, todos los valores son 0, entonces si son diferentes de 1
mat[i][j] = 1; // con eso llenas todas las columnas, pues esta recorriendo i=0 hasta la fila...
}
else printf("Asiento ocupado"); }
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.
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define max_columnas 5
#define max_filas 5
int main()
{
int opcion, i, j, fila, columna;
int mat[max_columnas][max_filas];
do {
printf("2.- Visualizar asientos disponibles\n"); printf("3.- Reservar asientos\n");
printf("\nEscoge una opcion: "); //fflush(stdin);
switch (opcion){
case 1: // Vaciar sala
for (i=0; i < max_columnas; i++) {
for (j=0; j < max_filas; j++) {
mat[i][j] = 0;
}
}
printf("La sala ha sido vaciada correctamente"); break;
case 2: // Visualizar asientos disponibles
for (i=0; i < max_columnas; i++) {
for (j=0; j < max_filas; j++) {
}
}
break;
case 3: // Reservar asientos
printf("\tReserva de asientos"); printf("\n------------------------------\n");
printf("\nEscribe la fila: "); printf("\nEscribe la columna: ");
if(mat[fila][columna] == 0)
{
mat[fila][columna] = 1;
printf("Asiento asignado correctamente"); }
else
{
}
break;
case 0:
printf("Has decidido salir, hasta luego"); return 0;
break;
default:
printf("Opcion no encontrada, hubo un error, esto va a explotar ARGH!!!\n\n"); break;
} // Fin switch
} while (opcion != 0); // Fin do-while
return 0;
}