José Luis Chafardet Grimaldi

Mi blog personal….

Jul

17

Control de estacionamientos

By José Luis Chafardet Grimaldi

Esta fue una asignación para la materia programación 2, un programita simple, que controle entrada y salida de estacionamientos, basado en el promedio de carros por hora, debe decirle al duenio en cuantos puestos debe ser aumentado este.


#include <cstdlib>
#include <iostream>
#include <string>
#include <sstream>
#include <limits>
#include <conio2 .h>

#define amarillo textcolor(YELLOW);
#define verde textcolor(LIGHTGREEN);
#define blanco textcolor(WHITE);
#define rojo textcolor(LIGHTRED);
#define flecha printf("%c", 175);

// Definimos variables globales aqui.

int i,f,c,p,salir=0,promedio=0,carros=0,hora,incrementar,promediar;
char opcion;

// Terminan las variables globales.
using namespace std;

// Funciones globales

// GUI, la interface grafica.
int gui(void)
{
cout < < "lastima no comparto esta funcion aun ;p" << endl;

}

// Login, esta funcion hara que el usuario tenga que insertar su usuario
// y clave para poder entrar y operar el sistema.
int login(void)
{
// crea la variable local validado, y la pone en 0
int validado=0;
do {
gui();
string b,c,clave="entradasegura";
gotoxy(25,17);
verde
flecha
blanco
cout << " Inserte su nombre de usuario: " ;
rojo
getline(cin, b);
// valida que el usuario sea insertado correctamente
if(b == "")
{
gotoxy(30,19);
verde
flecha
rojo
cout << " No introdujo un usuario.";
blanco
gotoxy(1,40);
system("PAUSE");
}
else
{
gotoxy(25,19);
verde
flecha
blanco
cout << " Inserte su clave: " ;
textcolor(BLUE);
getline(cin, c);
// valida que la clave sea correcta.
if(c != clave)
{
gotoxy(25,21);
verde
flecha
rojo
cout << " Disculpe su clave no es correcta.";
gotoxy(1,40);
blanco
system("PAUSE");
}
else
{
gotoxy(30,21);
verde
printf("%c ", 251);
blanco
cout << " Bienvenido: ";
verde
cout << b;
validado = 1;
blanco
gotoxy(1,40);
system("PAUSE");
//return 1;
}
}
}
while (validado != 1);
}

// menu, aqui es donde se ejecuta el programa.

int menu(void)
{
//string hora;
gui();
// Primera opcion: Ingresar vehiculo
// va a la posicion 5,7 en x,y e imprime la opcion
gotoxy(5,7);
verde
cout << "(";
rojo
cout << "I";
verde
cout << ")";
blanco
cout << " Ingresar vehiculo. ";
blanco

// Segunda opcion: Retirar vehiculo
// va a la posicion 5,9 en x,y e imprime la opcion
gotoxy(5,9);
verde
cout << "(";
rojo
cout << "R";
verde
cout << ")";
blanco
cout << " Retirar vehiculo. ";

// Tercera opcion: Estado del estacionamiento.
// va a la posicion 5,11 en x,y e imprime la opcion
gotoxy(5,11);
verde
cout << "(";
rojo
cout << "E";
verde
cout << ")";
blanco
cout << " Estado del estacionamiento. ";

// Cuarta opcion: Estadisticas del dia.
// va a la posicion 5,13 en x,y e imprime la opcion
gotoxy(5,13);
verde
cout << "(";
rojo
cout << "T";
verde
cout << ")";
blanco
cout << " Estadistica del dia. ";

// Quinta opcion: Salir
// va a la posicion 5,15 en x,y e imprime la opcion
gotoxy(5,15);
verde
cout << "(";
rojo
cout << "S";
verde
cout << ")";
blanco
cout << " Salir del sistema. ";

// dibujar linea divisora
cout << "no hay chance lol es parte de la funcion gui ;p" << endl;

// Solicitar seleccion de opcion.
gotoxy(5,19);
verde
flecha
blanco
cout << " Por favor seleccione una opcion: ";

// acciones

// Recibe la opcion desde el teclado
// ingresada por el usuario
gotoxy(40,19);
rojo
cin >> opcion;
gotoxy(40,19);
blanco
// Estructura de control del programa para ejecucion
// del menu.
switch(opcion)
{
// Primer caso, Ingresar
case 'i':
case 'I': Ingresar:
gotoxy(5,21);
verde
flecha
blanco
cout < < " Ingrese la hora actual. ";
gotoxy(5,22);
verde
flecha
blanco
cout << " (Por favor usar formato 24H. (Ej. 10 para 10 am y 15 para 3 pm.)";
rojo
gotoxy(31,21);
cin.ignore(1,'\n');
cin >> hora;
if(hora >= 0 &amp;&amp; hora < 6 || hora > 12 &amp;&amp; hora < 14 || hora > 20)
{
gotoxy(5,24);
verde
flecha
blanco
cout << " El estacionamoento no opera en ese horario";
gotoxy(5,25);
verde
flecha
blanco
cout << " por favor, seleccione un horario adecuado.";
}
else
{
carros = carros+1;
promedio = promedio+1;
gotoxy(5,24);
verde
flecha
blanco
cout << " Vehiculo ingresado a las: " << hora << " con exito.";
}
blanco
break;

// Segundo caso, Retirar
case 'r':
case 'R': Retirar:
if(carros != 0)
{
carros = carros -1;
gotoxy(5,24);
verde
flecha
blanco
cout << " Vehiculo Retirado con exito.";
}
else if ( carros <= 0 )
{
gotoxy(5,24);
verde
flecha
blanco
cout << " No hay vehiculos en el estacionamieneto.";
}
break;

// Tercer caso, Estsado
case 'e':
case 'E': Estado:
if(carros != 0)
{
gotoxy(5,24);
verde
flecha
blanco
cout << " Hay " << carros << " vehiculos en el estacionamiento.";
}
else if ( carros <= 0 )
{
gotoxy(5,24);
verde
flecha
blanco
cout << " No hay vehiculos en el estacionamieneto.";
}
break;

// Cuarto caso, Estadistica
case 't':
case 'T': Total:
if(promedio <= 0)
{
gotoxy(5,22);
verde
flecha
blanco
cout << " No entraron carros en el estacionamiento hoy.";
}
else if(promedio <= 6)
{
gotoxy(5,22);
verde
flecha
blanco
cout << " No hace falta incrementar el estacionamiento. ";
gotoxy(5,23);
verde
flecha
blanco
cout << " El promedio de vehiculos del dia de hoy es: " << promedio;
}
else
{
gotoxy(5,22);
verde
flecha
blanco
cout << " El promedio de vehiculos del dia de hoy es: " << promedio;
gotoxy(5,23);
verde
flecha
blanco
cout << " Debe incrementar los puestos de estacionamiento en: ";
promediar = promedio - 6;
incrementar = promediar/3;
rojo
cout << incrementar;
blanco
}

break;
// Quinto caso, Salir
case 's':
case 'S': Salir:
gotoxy(27,29);
verde
cout << "Gracias por usar el sistema.";
blanco
salir = 1;
break;
default:
gotoxy(27,29);
rojo
cout << "No selecciono una opcion valida.";
blanco
}

// manda al final del programa la pausa.
gotoxy(1,40);
system("PAUSE");
}

int main(int argc, char *argv[])
{
login();
do
{
menu();
} while ( salir != 1 );
//system("PAUSE");
return EXIT_SUCCESS;
}

Leave a comment