Quando seus programas em linguagem c se tornarem mais avançados,
é sinal que você futuro programador necessita de um menu que acompanhe
seus avanços.
Já postei um Programa no qual entitulei de: "Menu inteligente", más o
programa apesar da alta eficiência só permitia o uso de duas setas do teclado,
que são as setas pra baixo e pra cima, e olha, ele é campeão disparado em
visualizações no meu blog, este aqui com certeza é bem melhor, aceita as
quatro setas do teclado e rejeita qualquer outra tecla exceto o Esc que também
é um canal de saída do programa.
Programa indicado a estudantes, e hobistas avançados em linguagem c.
Veja o vídeo abaixo:
Veja abaixo o código do programa:
é sinal que você futuro programador necessita de um menu que acompanhe
seus avanços.
Já postei um Programa no qual entitulei de: "Menu inteligente", más o
programa apesar da alta eficiência só permitia o uso de duas setas do teclado,
que são as setas pra baixo e pra cima, e olha, ele é campeão disparado em
visualizações no meu blog, este aqui com certeza é bem melhor, aceita as
quatro setas do teclado e rejeita qualquer outra tecla exceto o Esc que também
é um canal de saída do programa.
Programa indicado a estudantes, e hobistas avançados em linguagem c.
Veja o vídeo abaixo:
Veja abaixo o código do programa:
#include <conio.h>
#include <stdio.h>
int main ( );
void Janela5 ( ) {
int lin, col;
col = 0;
system ( "Color 10" );
for ( lin = 2; lin <= 24 ; lin++ )
for ( col = 2; col <= 78 ; col++ ) {
gotoxy ( col , lin );
textbackground ( WHITE );
printf ( " " );
}
}
int Ola_A ( int x , int y ) {
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 30 , 3 );
printf ( "SUPER MENU - LINGUAGEM C" );
textcolor ( LIGHTBLUE );
gotoxy ( 31 , 7 );
printf ( "Você chamou a função A" );
textcolor ( LIGHTRED );
gotoxy ( 31 , 17 );
printf ( "PRESSIONE QUALQUER TECLA" );
getch ( );
return main ( );
}
int Ola_B ( int x , int y ) {
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 30 , 3 );
printf ( "SUPER MENU - LINGUAGEM C" );
textcolor ( LIGHTBLUE );
gotoxy ( 31 , 7 );
printf ( "Você chamou a função B" );
textcolor ( LIGHTRED );
gotoxy ( 31 , 17 );
printf ( "PRESSIONE QUALQUER TECLA" );
getch ( );
return main ( );
}
int Ola_C ( int x , int y ) {
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 30 , 3 );
printf ( "SUPER MENU - LINGUAGEM C" );
textcolor ( LIGHTBLUE );
gotoxy ( 31 , 7 );
printf ( "Você chamou a função C" );
textcolor ( LIGHTRED );
gotoxy ( 31 , 17 );
printf ( "PRESSIONE QUALQUER TECLA" );
getch ( );
return main ( );
}
int Ola_D ( int x , int y ) {
system ( "cls" );
Janela5 ( );
textcolor ( LIGHTRED );
gotoxy ( 30 , 3 );
printf ( "SUPER MENU - LINGUAGEM C" );
textcolor ( LIGHTBLUE );
gotoxy ( 31 , 7 );
printf ( "Você chamou a função D" );
textcolor ( LIGHTRED );
gotoxy ( 31 , 17 );
printf ( "PRESSIONE QUALQUER TECLA" );
getch ( );
return main ( );
}
void Mov_Tecla ( int x , int y ) {
textcolor ( LIGHTRED );
gotoxy ( 30 , 3 );
printf ( "SUPER MENU - LINGUAGEM C" );
textcolor ( LIGHTBLUE );
gotoxy ( 30 , 5 );
printf ( "Use as setas do teclado: " );
if ( x == 17 && y == 7 ) {
Ola_A ( x , y );
}
if ( x == 17 && y == 9 ) {
Ola_B ( x , y );
}
if ( x == 17 && y == 11 ) {
Ola_C ( x , y );
}
if ( x == 17 && y == 13 ) {
Ola_D ( x , y );
}
if ( x == 17 && y == 15 ) {
textcolor ( LIGHTBLUE );
gotoxy ( 17 , 17 );
printf ( "Por: " );
textcolor ( LIGHTMAGENTA );
printf ( "Samuel Lima" );
textcolor ( BLACK );
gotoxy ( 17 , 19 );
printf ( "sa_sp10@hotmail.com" );
Sleep ( 1800 );
textcolor ( LIGHTRED );
gotoxy ( 36 , 23 );
printf ( "MUITO
OBRIGADO" );
getch ( );
exit ( 0 );
}
gotoxy ( 17 , 7 );
textcolor ( LIGHTRED );
printf ( "A" );
textcolor ( LIGHTBLUE );
printf ( " - Chamar a
função " );
textcolor ( LIGHTRED );
printf ( "A" );
gotoxy ( 17 , 9 );
textcolor ( LIGHTRED );
printf ( "B" );
textcolor ( LIGHTBLUE );
printf ( " - Chamar a
função " );
textcolor ( LIGHTRED );
printf ( "B" );
gotoxy ( 17 , 11 );
textcolor ( LIGHTRED );
printf ( "C" );
textcolor ( LIGHTBLUE );
printf ( " - Chamar a função " );
textcolor ( LIGHTRED );
printf ( "C" );
gotoxy ( 17 , 13 );
textcolor ( LIGHTRED );
printf ( "D" );
textcolor ( LIGHTBLUE );
printf ( " - Chamar a função " );
textcolor ( LIGHTRED );
printf ( "D" );
gotoxy ( 17 , 15 );
textcolor ( LIGHTRED );
printf ( "E" );
textcolor ( LIGHTBLUE );
printf ( " - Sair do
programa " );
getch ( );
}
void put ( int x , int y ) {
textcolor ( BLACK );
gotoxy ( x , y );
printf ( "\x1a " );
}
void put2 ( int x , int y ) {
textcolor ( BLACK );
gotoxy ( x , y );
printf ( "\x1b " );
}
void put3 ( int x , int y ) {
textcolor ( BLACK );
gotoxy ( x , y );
printf ( "\x19 " );
}
void put4 ( int x , int y ) {
textcolor ( BLACK );
gotoxy ( x , y );
printf ( "\x18 " );
}
int main ( ) {
system ( "title SUPER
MENU - LINGUAGEM C" );
int x = 2, y = 2, ctr = 0;
Janela5 ( );
put ( x , y );
Mov_Tecla ( x , y );
while ( ctr != 1 )
switch ( _getch ( ) ) {
case 77:
if ( x >= 2 && x < 77 ) {
gotoxy ( x , y );
printf ( " " );
x++;
}
put ( x , y );
Mov_Tecla ( x , y );
break;
case 75:
if ( x > 2 && x < 79 ) {
gotoxy ( x , y );
printf ( " " );
x--;
}
put2 ( x , y );
Mov_Tecla ( x , y );
break;
case 72:
if ( y <= 25 && y > 2 ) {
gotoxy ( x , y );
printf ( " " );
y--;
}
put4 ( x , y );
Mov_Tecla ( x , y );
break;
case 80:
if ( y < 24 && y >= 2 ) {
gotoxy ( x , y );
printf ( " " );
y++;
}
put3 ( x , y );
Mov_Tecla ( x , y );
break;
case 27:
ctr = 1;
break;
default:
textcolor ( LIGHTRED );
gotoxy ( 24 , 20 );
printf ( "No menu só
use as setas do teclado " );
Sleep ( 1800 );
gotoxy ( 24 , 20 );
clreol ( );
main ( );
break;
}
return ( 0 );
}