En este post de programación en PHP te mostraré la solución a un ejercicio. Se trata de solicitar al usuario la región turística, cantidad de noches a reservar, cantidad de personas y edades de las personas.
Según los datos solicitados deberán indicarle al turista en qué hotel se hará su reservación y cuánto es el costo total de su hospedaje.
Ustedes deberán crear un programa que solicite la siguiente información:
Con esta información ustedes deberán indicarle al turista en qué hotel se hará su reservación y cuánto es el costo total de su hospedaje. Debe utilizar el siguiente cuadro para realizar la selección del hotel:
Número,Región turística,Paquete,Lugar recomendado
1,Panamá Centro, Familiar, Gamboa Rainforest Resort
1,Panamá Centro, Pareja, Hotel El Panamá
2,Panamá Oeste, Familiar, Royal Decameron
2,Panamá Oeste, Pareja, RIU Playa Blanca
3,Zona Atlántica, Familiar, Hotel Cocotal
3,Zona Atlántica, Pareja, Radisson Colon 2000
4,Tierras Altas, Familiar, Boquete Garden Inn
4,Tierras Altas, Pareja, Valle Escondido Resort
Y para el cálculo del costo debe utilizar el siguiente cuadro de tarifas por edades:
Huéspedes,Precio por noche
Adultos,47.00
Menores (12 a 17),15.00
Menores de 12 años,Gratis
Tome en consideración que cuando el turista indique la cantidad de personas que vendrán a Panamá, en ese momento ustedes sabrán qué tipo de paquete puede aplicar.
Si sólo son 2 personas el paquete seleccionado será Pareja, si son más de 2 personas el Paquete debe ser Familiar.
La carga de las edades de los huéspedes se debe ingresar en una array para que posteriormente se recorra y así se obtenga el costo del hospedaje.
Veamos entonces cómo resolver este ejercicio en PHP. Por cierto, el mismo está pensado para ser ejecutado en la consola, pero puedes hacerle las adaptaciones necesarias.
El código queda como se ve a continuación:
<?php
/*
____ _____ _ _ _
| _ \ | __ \ (_) | | |
| |_) |_ _ | |__) |_ _ _ __ _____| |__ _ _| |_ ___
| _ <| | | | | ___/ _` | '__|_ / | '_ \| | | | __/ _ \
| |_) | |_| | | | | (_| | | / /| | |_) | |_| | || __/
|____/ \__, | |_| \__,_|_| /___|_|_.__/ \__, |\__\___|
__/ | __/ |
|___/ |___/
____________________________________
/ Si necesitas ayuda, contáctame en \
\ https://parzibyte.me /
------------------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
Creado por Parzibyte (https://parzibyte.me).
------------------------------------------------------------------------------------------------
| IMPORTANTE |
Si vas a borrar este encabezado, considera:
Seguirme: https://parzibyte.me/blog/sigueme/
Y compartir mi blog con tus amigos
También tengo canal de YouTube: https://www.youtube.com/channel/UCroP4BTWjfM0CkGB6AFUoBg?sub_confirmation=1
Twitter: https://twitter.com/parzibyte
Facebook: https://facebook.com/parzibyte.fanpage
Instagram: https://instagram.com/parzibyte
Hacer una donación vía PayPal: https://paypal.me/LuisCabreraBenito
------------------------------------------------------------------------------------------------
*/echo "1. Panamá Centro\n2. Panamá Oeste\n3. Zona Atlántica\n4.Tierras altas\nSeleccione la zona [1-4]: ";
fscanf(STDIN, "%d", $zona);
if ($zona < 1 || $zona > 4) {
exit("Zona no válida");
}
echo "Ingrese la cantidad de noches a reservar:";
fscanf(STDIN, "%d", $noches);
if ($noches < 0) {
exit("Las noches deben ser un número positivo");
}
echo "Ingrese la cantidad de personas: ";
fscanf(STDIN, "%d", $personas);
if ($personas < 2) {
exit("Solo puede asistir en pareja o en familia");
}
$edades = [];
for ($i = 0; $i < $personas; $i++) {
echo "Ingrese la edad de la persona #" . ($i + 1) . ": ";
fscanf(STDIN, "%d", $edad);
$edades[] = $edad;
}
// Seleccionar hotel
$hotel = "";
if ($personas === 2) {
switch ($zona) {
case 1:
$hotel = "Hotel El Panamá";
break;
case 2:
$hotel = "RIU Playa Blanca";
break;
case 3:
$hotel = "Radisson Colon 2000";
break;
case 4:
$hotel = "Valle Escondido Resort";
break;
}
} else {
switch ($zona) {
case 1:
$hotel = "Gamboa Rainforest Resort";
break;
case 2:
$hotel = "Royal Decameron";
break;
case 3:
$hotel = "Hotel Cocotal";
break;
case 4:
$hotel = "Boquete Garden Inn";
break;
}
}
// Recorremos para calcular costo
$costo = 0;
foreach ($edades as $edad) {
if ($edad >= 12 && $edad <= 17) {
$costo += 15;
} else if ($edad >= 18) {
$costo += 47;
}
}
// Y lo multiplicamos por las noches
$costo *= $noches;
echo "Su reserva es en el hotel " . $hotel . "\n";
echo "El costo total es: " . $costo;
Al ejecutarlo, el funcionamiento es correcto:
Si quieres puedes aprender más sobre PHP en mi blog.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.