#include #include #include #include #include #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"); }