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 Reply