Files
Borland-C/CPP/MIMENU.CPP

220 lines
6.6 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#define seleccionado color_numero=color_menu=9;settextstyle(7,0,4);
#define no_seleccionado color_numero=3;color_menu=8;settextstyle(8,0,3);
int select_actual=1,num_opciones=5,estoy_en=0;
void menu_principal(int selec_actual); // INICIALIZACION DE FUNCIONES
void sub_menu(int menu);
void modo_grafico();
void leer_tecla(int num_opciones);
void satelite_gsm(int senyal);
// PROGRAMA PRINCIPAL
//-------------------
void main() {
modo_grafico();
menu_principal(select_actual);
leer_tecla(num_opciones);
getch();
closegraph();
}
//FUNCIàN QUE INICIA EL MODO GRµFICO
//----------------------------------
void modo_grafico(){
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "d:\\tc\\bgi");
errorcode = graphresult();
if (errorcode != grOk){
printf("Error al iniciar el modo gr fico: %s\n", grapherrormsg(errorcode));
printf("Pulse cualquier tecla para finalizar...");
getch();
exit(1);
}
}
// FUNCIàN QUE LEE LAS TECLAS PULSADAS
//------------------------------------
void leer_tecla(int num_opciones) {
int tecla,tecla2,sw=1,pintar=0; // VARIABLES
while(sw==1){
tecla=getch();
if(tecla==0){
tecla2=getch();
pintar=0;
switch(tecla2){
case 72:
if (select_actual<=1)
select_actual=num_opciones;
else
select_actual--;
pintar=1;
break;
case 80:
if (select_actual>=num_opciones)
select_actual=1;
else
select_actual++;
pintar=1;
break;
}
}
else
if (tecla==13){
pintar=0;
clearviewport();
satelite_gsm(select_actual);
}
else
if (tecla==27)
sw=0;
if (pintar) {
clearviewport();
// satelite_gsm(select_actual);
menu_principal(select_actual);
}
}
}
// FUNCIàN QUE NOS DICE EN QUE LUGAR DEL MENU NOS ENCONTRAMOS
//-----------------------------------------------------------
void satelite_gsm(int senyal) {
if (estoy_en==0){
estoy_en=senyal;
sub_menu(senyal);
}
}
void sub_menu(int menu){
int color_numero=9,color_menu=2,pos_number=0,pos_menu=pos_number+50;
setviewport(170, 100, 600, 300, 0);
switch (menu) {
case 1: // MENU 1: CLIENTES
estoy_en=1;
if (select_actual==1){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,0,"1.-");
setcolor(color_menu);outtextxy(pos_menu,0,"Altas de Clientes");
if (select_actual==2) {seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,40,"2.-");
setcolor(color_menu);outtextxy(pos_menu,40,"Bajas de Clientes");
if (select_actual==3){seleccionado;}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,80,"Modificaciones");
setcolor(color_numero);outtextxy(0,80,"3.-");
if (select_actual==4){seleccionado}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,120,"Listar Clientes");
setcolor(color_numero);outtextxy(0,120,"4.-");
if (select_actual==5){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,160,"5.-");
setcolor(color_menu);outtextxy(pos_menu,160,"Volver");
break;
case 2: // MENU 2 GESTION DE PEDIDOS
if (select_actual==1){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,0,"1.-");
setcolor(color_menu);outtextxy(pos_menu,0,"Altas de Pel¡culas");
if (select_actual==2) {seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,40,"2.-");
setcolor(color_menu);outtextxy(pos_menu,40,"Bajas de Pel¡culas");
if (select_actual==3){seleccionado;}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,80,"Modificaciones");
setcolor(color_numero);outtextxy(0,80,"3.-");
if (select_actual==4){seleccionado}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,120,"Listar Pel¡culas");
setcolor(color_numero);outtextxy(0,120,"4.-");
if (select_actual==5){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,160,"5.-");
setcolor(color_menu);outtextxy(pos_menu,160,"Volver");
break;
case 3: // MENU 3: ALQUILERES
if (select_actual==1){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,0,"1.-");
setcolor(color_menu);outtextxy(pos_menu,0,"Alquiler");
if (select_actual==2) {seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,40,"2.-");
setcolor(color_menu);outtextxy(pos_menu,40,"Devoluci¢n");
if (select_actual==3){seleccionado;}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,80,"Volver");
setcolor(color_numero);outtextxy(0,80,"3.-");
break;
case 4:
if (select_actual==1){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,0,"1.-");
setcolor(color_menu);outtextxy(pos_menu,0,"Alquiler");
if (select_actual==2) {seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,40,"2.-");
setcolor(color_menu);outtextxy(pos_menu,40,"Devoluci¢n");
if (select_actual==3){seleccionado;}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,80,"3.-");
setcolor(color_menu);outtextxy(pos_menu,80,"Volver");
break;
}
}
// FUNCIàN QUE MUESTRA EL MENé PRINCIPAL
//--------------------------------------
void menu_principal(int select_actual) {
setviewport(170, 100, 600, 300, 0);
int color_numero=9,color_menu=2,pos_number=0,pos_menu=pos_number+50;
if (select_actual==1){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,0,"1.-");
setcolor(color_menu);outtextxy(pos_menu,0,"Gesti¢n de Clientes");
if (select_actual==2) {seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,40,"2.-");
setcolor(color_menu);outtextxy(pos_menu,40,"Gesti¢n de Pedidos");
if (select_actual==3){seleccionado;}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,80,"Alquileres");
setcolor(color_numero);outtextxy(0,80,"3.-");
if (select_actual==4){seleccionado}
else{no_seleccionado}
setcolor(color_menu);outtextxy(pos_menu,120,"Devoluciones");
setcolor(color_numero);outtextxy(0,120,"4.-");
if (select_actual==5){seleccionado}
else{no_seleccionado}
setcolor(color_numero);outtextxy(0,160,"5.-");
setcolor(color_menu);outtextxy(pos_menu,160,"Salir");
}