Programa
/* Programa: Este programa verifica si el restaurant
de Aníbal Lecter esta abierto para una fecha
especifica ingresada por el usuario según lo
indicado en las instrucciones del parcial Nro. 1
2025-I
Elaborado por Carlos Ferrer
Fecha 2 abril del 2025
Rev. 0
*/
#include <iostream>
#include <locale.h> //Biblioteca de idiomas
using namespace std;
main()
{
//Seteamos el lenguaje en español para que los cout puedan imprimir áéíóú y ñ
setlocale(LC_ALL, "spanish");
// Limpiamos Pantalla
system("cls");
// Establecemos la fecha de apertura del restaurant
int dia = 1;
int mes = 6;
int anio = 1995;
// Establecemos una variable que nos indica si el restaurant esta abierto
bool turno=true;
// Establecemos la fecha a buscar
int dia_b;
int mes_b;
int anio_b;
// Contador para establecer cuando esta de turno el restaurant
int Contador_6_dias=0;
// Detector de año bisiesto
bool Bisiesto=true;
// Arreglo para favorecer la impresión
string meses [12] = {"Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"};
do
{
cout << "Ingrese día a buscar = ";
cin >> dia_b;
if (dia_b < 1 or dia_b > 31)
{
system("cls");
cout << "Alerta día fuera de rango!!"<<endl;
cout << "Los días deben estar en el rango de 1 a 31"<<endl;
cout << endl;
}
}
while (dia_b < 1 or dia_b > 31);
do
{
cout << "Ingrese mes a buscar (Enero=1 a Diciembre=12)= ";
cin >> mes_b;
if (mes_b < 1 or mes_b > 12)
{
system("cls");
cout << "Alerta mes fuera de rango!!"<<endl;
cout << "El mes estar en el rango de 1 a 12"<<endl;
cout << endl;
}
}
while (mes_b < 1 or mes_b > 12);
do
{
cout << "Ingrese año a buscar (>=1995)= ";
cin >> anio_b;
if (anio_b < 1995 or (anio_b == 1995 and mes_b<6))
{
system("cls");
cout << "Alerta mes fuera de rango!!"<<endl;
cout << "La fecha es anterior al 01 de Junio de 1995"<<endl;
cout << endl;
}
}
while (anio_b < 1995 or (anio_b == 1995 and mes_b<6));
while (dia!=dia_b or mes!=mes_b or anio!=anio_b)
{
// Determinamos si el año en movimiento es bisiesto
if ((anio % 4 == 0 and anio % 100 != 0) or (anio % 4 == 0 and anio % 100 == 0 and anio % 400 == 0))
{
Bisiesto=true;
}
else
{
Bisiesto=false;
}
// Si la fecha no es igual a la buscada incrementamos el contador y el día
if (dia==dia_b and mes==mes_b and anio==anio_b)
{
break;
}
Contador_6_dias=Contador_6_dias+1;
dia=dia+1;
// Verificamos un cambio de mes
if ((dia == 31 and (mes == 11 or mes == 6 or mes == 4 or mes == 9)) or
(dia == 29 and mes == 2 and Bisiesto==false) or
(dia == 30 and mes == 2 and Bisiesto==true) or
(dia == 32))
{
dia = 1;
mes = mes+1;
}
// Verificamos un cambio de año
if (mes == 13)
{
mes = 1;
anio=anio+1;
}
// Verificamos si el restaurant esta de turno
if (Contador_6_dias == 6)
{
Contador_6_dias = 0;
turno=true;
}
else
{
turno=false;
}
}
// Imprimimos el resultado
cout << endl;
cout << "El " << dia << " de " << meses[mes-1]<< " de "<<anio;
cout <<". The Hannibal Restaurant "<<endl;
if (turno==true)
{
cout <<"se encuentra ABIERTO!!!"<<endl<<endl;
}
else
{
cout <<"se encuentra CERRADO!!!"<<endl<<endl;
}
cout << endl;
system("pause");
}
RESULTADOS
No hay comentarios.:
Publicar un comentario