#include <iostream>
#include <conio.h>
#include <cstdlib>
using namespace std;
enum SEMANA{SALIR=0, LUNES, MARTES, MIERCOLES, JUEVES, VIERNES, SABADO, DOMINGO}; //LUNES=1, MARTES=2, MIERCOLES=3.... hasta DOMINGO=7
enum TECLA{ENTER=13, ESC = 27, ARRIBA=72, IZQUIERDA=75, DERECHA=77, ABAJO=80, FLESHAS=224};
//Prototipos
SEMANA setDia();
void pausa();
void limpiarPantalla();
string eleccion(SEMANA);
int main () {
SEMANA dia;
int orden = 0;
bool continuar = true;
bool diaEstablecido = false;
int pedidos = 0;
int extras = 0;
while ( continuar == true ) {
//seteando el dia
if (diaEstablecido == false){
dia = setDia();
if ( dia == SALIR ){
return 1;
}
switch (dia) {
case LUNES:
case MARTES:
case MIERCOLES:
orden = 30;
break;
case JUEVES:
case VIERNES:
orden = 35;
break;
case SABADO:
case DOMINGO:
orden = 40;
break;
default:
break;
}
diaEstablecido = true;
}
limpiarPantalla();
cout << "TAQUERIA DON CHEMA \nHaga su pedido \n1-orden \n2-queso extra \n3-Ver cuenta \n0-salir \n>?: ";
int op = 0;
cin >> op; cin.sync();
switch (op) {
case 1:
pedidos++;
break;
case 2:
extras++;
break;
case 3:
cout << "Total = $" << ((pedidos*orden) + (extras * 5)) << endl;
getchar();
break;
case 0:
cout << "Total = $" << ((pedidos*orden) + (extras * 5)) << endl;
continuar = false;
break;
default:
break;
}
}
cout << "Vuelva siempre, y gracias!!" << endl;
cin.ignore();
return 0;
}
SEMANA setDia(){
int tecla;
SEMANA dia = SALIR; //lunes
cout << eleccion(dia) << endl;
while ((tecla = _getch()) != ESC){
switch (tecla) {
case FLESHAS:
tecla = _getch ();
switch (tecla) {
limpiarPantalla();
case ARRIBA:
case IZQUIERDA:
dia=SEMANA(int(dia)-1);
if ( dia < SALIR ){
dia = DOMINGO;
}
break;
case DERECHA:
case ABAJO:
dia=SEMANA(int(dia)+1);
if ( dia > DOMINGO ){
dia = SALIR;
}
break;
default:
cout << "No internal!" << endl;
break;
}
cout << eleccion(dia) << endl;
break;
case ENTER:
return dia;
break;
default:
cout << "No external!" << endl;
break;
}
}
cout << "ESC!" << endl;
return dia;
}
void pausa(){
printf("Presione uma tecla para continuar...");
scanf("%*c");
return;
}
void limpiarPantalla(){
system("cls");
}
string eleccion(SEMANA dia){
limpiarPantalla();
switch (dia) {
case SALIR: return "[SALIR] LUNES MARTES MIERCOLES JUEVES VIERNES SABADO DOMINGO ";
break;
case LUNES: return " SALIR [LUNES] MARTES MIERCOLES JUEVES VIERNES SABADO DOMINGO \n-orden $30 Extra de queso a +$5";
break;
case MARTES: return " SALIR LUNES [MARTES] MIERCOLES JUEVES VIERNES SABADO DOMINGO \n-orden $30 Extra de queso a +$5";
break;
case MIERCOLES: return " SALIR LUNES MARTES [MIERCOLES] JUEVES VIERNES SABADO DOMINGO \n-orden $30 Extra de queso a +$5";
break;
case JUEVES: return " SALIR LUNES MARTES MIERCOLES [JUEVES] VIERNES SABADO DOMINGO \n-orden $35 Extra de queso a +$5";
break;
case VIERNES: return " SALIR LUNES MARTES MIERCOLES JUEVES [VIERNES] SABADO DOMINGO \n-orden $35 Extra de queso a +$5";
break;
case SABADO: return " SALIR LUNES MARTES MIERCOLES JUEVES VIERNES [SABADO] DOMINGO \n-orden $40 Extra de queso a +$5";
break;
case DOMINGO: return " SALIR LUNES MARTES MIERCOLES JUEVES VIERNES SABADO [DOMINGO]\n-orden $40 Extra de queso a +$5";
break;
default:
break;
}
return "INCORRECTO";
}