Comunidad de diseño web y desarrollo en internet

duda ejercicio

Citar            
MensajeEscrito el 12 Mar 2017 01:47 pm
Hola tengo que hacer el siguiente ejercicio en PHP

1. Realizar una aplicación que simule el funcionamiento de un parking que dispone de las siguientes plazas: 14 para coches pequeños y 10 para coches grandes. Usa dos arrays para representar el parking. Las posiciones de los arrays representarán las plazas, y almacenarán información de si la plaza está ocupada o no (puedes usar un valor numérico, como 0 para plaza libre, 1 para plaza ocupada).
Los coches se aparcarán de la siguiente forma: cuando entra en el parking, se identifica al coche como grande o pequeño. Los coches grandes aparcan en la primera plaza grande que encuentren. En cambio, los coches pequeños aparcaran en la primera plaza pequeña que encuentren, pero, de no encontrar ninguna, intentarán aparcar en la primera plaza grande libre que vean.
La aplicación tendrás las siguientes páginas:
• Página inicial donde se mostrarán las siguientes opciones:
o Aparcar coche.
o Retirar coche.
o Ver estado del parking.
Cada una de las opciones anteriores nos llevará a una página donde se ejecutarán las operaciones necesarias para llevar a cabo la opción seleccionada por el usuario. Éstas se detallan a continuación.
• Aparcar coche: mediante un formulario se indicará si el coche es grande o pequeño. A continuación se procederá a aparcar usando el mecanismo que se ha explicado previamente. Obtendremos un mensaje que nos indicará si el coche se ha aparcado (no es necesario indicar la plaza), o si el parking está lleno.
• Retirar coche: mediante un formulario se indicará de qué parking se quiere retirar el coche (parking grande o parking pequeño) y la plaza que ocupa el vehículo. El programa mostrará un mensaje indicando si se ha retirado el coche, o si no se encontraba ningún coche en la plaza indicada.
• Ver estado del parking: se mostrará por pantalla el estado de cada plaza del parking, indicando si está libre u ocupada.

Consideraciones: recuerda que para pasar datos no incluidos en un formulario de una página a otra puedes usar sesiones.

De momento tengo creado esto, una pagina aparcar

Código PHP :

<?php
session_start();
?>
<form method='post' action='aparcar.php'>
   Tamaño de Coche:<br/>
   Grande<input type='radio' value='Grande' name='tamaño'/><br/>
   Pequeño <input type='radio' value='Pequeño' name='tamaño'/><br/>

</form>
   
   <?php
   if(empty($_POST['tamaño'])){
      $_SESSION["error"] = "Debes seleccionar el tamaño";

   }else{

      $tamaño = $_POST['tamaño'];
   }

   ?>

y los botones con aparcar coche retirar coche y estado parking
[php]

[/php]



<form method='post' action='inicio.php'>
<input type='submit' value='Aparcar coche' name='Aparcar coche'/><br/><br/>
<input type='submit' value='Retirar coche' name='Retirar coche'/><br/><br/>
<input type='submit' value='Estado parking' name='Estado parking'/><br/><br/>
</form>



<?php



$array = array('grandes' => array(0,1,2,3,4,5,6,7,8,9), 'pequeños' => array(0,1,2,3,4,5,6,7,8,9,10,11,12,13));




?>


como puedo rellenar los arrays?, y realizar el metodo de aparcar?

Por javimf

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 28 Mar 2017 05:31 pm
La parte de los arrays está mal escrita, deberías tener algo como:

Código PHP :

$pequenos = [];
for ( $i = 0; $i < 10; $i++ ) {
   $pequenos[$i] = false; // Uso true false para indicar si la plaza esta ocupada o no
}

$grandes = [];
for ( $i = 0; $i < 14; $i++ ) {
   $grandes[$i] = false; // Uso true false para indicar si la plaza esta ocupada o no
}


De esta forma están inicializados los dos arreglos.

Vas a necesitar usar al menos dos archivos php diferentes: Uno para inicializar y el otro para manipular los arreglos (de otro modo, los arreglos siempre comenzarán vacíos y no podrás ir aparcando y sacando autos...).

Yo te sugiero que guardes los arreglos en la sesión y luego, cuando sea momento de aparcar, según el tamaño del auto deberás recorrer el arreglo correspondiente en busca de una plaza. Algo como:

Código PHP :

if ( $tamano == 'grande' ) {
  for ( $i = 0; $i < 14 ; $i++ ) {
    if ( !$grandes[$i] ) {
       break; // Me quedo con la primera plaza vacia
    }
  }

  if ( $i < 14 ) {
    $grandes[$i] = true;
  } else {
     echo "No hay espacio para ese coche";
  }
} else {
  for ( $i = 0; $i < 10; $i++ ) {
     if ( !$pequenos[$i] ) {
        break;
     }
  }

  if ( $i < 10 ) {
    $pequenos[$i] = true;
  } else {
    // Hacer la busqueda entre las plazas grandes
  }
}


Después, por el tema de sacar el auto... me parece algo raro que no se identifique qué auto querés sacar :D , pero bueno... si da igual cualquiera, la búsqueda es la misma, sólo que en lugar de buscar un valor false buscas uno true.

Por mchojrin

5 de clabLevel



Genero:Masculino  

Enseño PHP

chrome

   Página 1 de 1

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.