Dev - C++ - PARQUEADERO CON ESPIRAL

 
Vista:
sin imagen de perfil

PARQUEADERO CON ESPIRAL

Publicado por anonymous (2 intervenciones) el 16/11/2021 17:35:04
Crear una matriz de 8x8, simular un parqueadero de vehículos donde las posiciones de color
amarillo permiten estacionar un vehículo (0 indica que esta libre, 1 indica que está
ocupado), en las esquinas de color azul y las dos posiciones de color verde que indican
entrada y salida del parqueadero no están habilitadas para estacionar igualmente para las
posiciones de color rojo que sería por donde se movilizarían los vehículos cuando ingresan y
cuando salen, el programa debe permitir indicar donde se quiere estacionar si el valor de la
posición es cero(0) debe cambiar a uno (1) para indicar que se ocupó esa posición, si ya
existe un uno (1) debe mostrar un mensaje que está ocupado y debe permitir cambiar la
coordenada para buscar un espacio libre. Las coordenadas de parqueo deben ingresar se
por teclado. Utilizar el FOR para imprimir el estado de ocupación del parqueadero (imprime
toda la matriz), no usar FOR para estacionar los vehículos recuerden que deben capturar la
coordenada. Tambien debe permitir retirar un vehículo y el estado de la posición cambiaría
de uno (1) a cero (0) ver grafico 1.0
C17DEED9-7C31-4636-A6A4-43C690F4303F.png
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 317
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

PARQUEADERO CON ESPIRAL

Publicado por Miguel (215 intervenciones) el 16/11/2021 18:50:42
Y cual es la duda?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

PARQUEADERO CON ESPIRAL

Publicado por anonymous (2 intervenciones) el 16/11/2021 18:54:43
TENGO ESTO PERO NECESITO QUE ME MUESTRE LA MATRIZ CON 0 Y 1 PARA VER LA OCUPACION COMO SE MUESTRA EN LA IMAGEN


#include <iostream>
#include <stdlib.h>

using std::cout;
using std::cin;
using std::endl;

#define NFILAS 8
#define NCOLUMNAS 8

int main(int argc, char* argv[])
{
int parqueadero[8][8]={{2,0,0,0,5,0,0,2},
{3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,3},
{3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,3},
{3,3,3,3,3,3,3,3},
{3,0,0,0,0,0,0,3},
{2,3,3,3,4,3,3,2}};


//Obtengo el numero de plazas libres
int fila,columna,nLibres=0,nOcupadas=0,op;
for(fila=0;fila<NFILAS;fila++)
for(columna=0;columna<NCOLUMNAS;columna++)
if(parqueadero[fila][columna]== 0)
nLibres++;
do{
//Solicito la operacion a realizar
system("CLS");
cout << "Menu: " << endl;
cout << "1-Estacionar un vehiculo" << endl;
cout << "2-Retirar un vehiculo" << endl;
cout << "3-Listar estado de plazas" << endl;
cout << "0-Salir" << endl;
cout << "Seleccione una opcion: ";
cin >> op;

bool estacionado,liberado;

switch(op){
case 0:
break;
case 1:
if(nLibres > 0){
do{
estacionado = false;
cout << "Introduce el numero de la fila: ";
cin >> fila;
cout << "Introduce el numero de la columna: ";
cin >> columna;
switch(parqueadero[fila][columna])
{
case 0:
parqueadero[fila][columna]=1;
nLibres--;
nOcupadas++;
estacionado= true;
cout << "Vehiculo aparcado satisfactoriamente" << endl;
break;
case 1:
cout << "Plaza ya ocupada" << endl;
break;
case 2:
cout << "No se puede aparcar en las esquinas" << endl;
break;
case 3:
cout << "No se puede aparcar en los caminos de paso" << endl;
break;
case 4:
cout << "No se puede aparcar en las entradas" << endl;
break;
case 5:
cout << "No se puede aparcar en las salidas" << endl;
break;
default:
cout << "Valor inesperado en esa posicion" << endl;
}
}while(estacionado != true);
}else{
cout << "No quedan plazas libres" << endl;
}
system("PAUSE");
break;
case 2:
if(nOcupadas > 0){
do{
liberado = false;
cout << "Introduce el numero de la fila: ";
cin >> fila;
cout << "Introduce el numero de la columna: ";
cin >> columna;
if(parqueadero[fila][columna]==1){
parqueadero[fila][columna]=0;
liberado=true;
nLibres++;
nOcupadas--;
cout << "El vehiculo se retiró satisfactoriamente" << endl;
}else{
cout << "La posicion indicada no esta ocupada, intentelo de nuevo" << endl;
}
}while(liberado == false);
}else{
cout << "No hay plazas ocupadas" << endl;
}
system("PAUSE");
break;
case 3:
for(fila=0;fila<NFILAS;fila++)
for(columna=0;columna<NCOLUMNAS;columna++)
if(parqueadero[fila][columna]==1)
cout << "plaza en fila " << fila << " columna " << columna << " ocupada" << endl;
else if(parqueadero[fila][columna]==0)
cout << "plaza en fila " << fila << " columna " << columna << " libre" << endl;
system("PAUSE");
break;
default:
cout << "Opcion incorrecta, vuelva a intentarlo" << endl;
system("PAUSE");
}
}while(op != 0);
return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar