Menu Selecionavel - Em C

1. Menu Selecionavel - Em C

Erique
zeriqueh

(usa Outra)

Enviado em 06/09/2017 - 20:28h

Pessoal ,Boa noite

Como podemos criar um menu que use as setas direcionais, é não pedir ao usuário para digitar um número, assim fica mais dinâmico o menu.

Desde já, agradeço!

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

void main()
{
//menu
int opcao,decisao;
inicio:
system("cls");
system("color 0F");
printf("1 - JOGAR \n2 - RANKINGS \n3 - CREDITOS \n4 - SAIR\n");
scanf("%d", &opcao);
switch (opcao) {
case 1:
system("cls");
printf("GAME\n");
break;
case 2:
system("cls");
printf("Ranking\n");
break;
case 3:
system("cls");
printf("Creditos\n");
break;
case 4:
system("cls");
printf("Voce pediu para sair, prencione qualquer tecla para continuar\n");
break;
default:
printf("Voce deve escolher uma opcao valida\n");
printf("Precione qualquer tecla para voltar ao menu\n");
system("pause");
goto inicio;
}
}



  


2. Re: Menu Selecionavel - Em C

felipe silva
lipman

(usa Debian)

Enviado em 06/09/2017 - 21:24h

pesquise sobre sdl ou gtk


3. Re: Menu Selecionavel - Em C

Uilian Ries
uilianries

(usa Linux Mint)

Enviado em 06/09/2017 - 21:27h

Existem várias soluções para resolver isso. Das maneiras mais simples, listo essas duas:

1) Usar a função keypad da ncurses: https://www.vivaolinux.com.br/artigo/Utilizando-a-biblioteca-NCURSES-Parte-I

2) Usar a função getch para capturar o código da tecla. O Paulo deu uma excelente explicação sobre essa função aqui: https://www.vivaolinux.com.br/topico/C-C++/Semelhante-ao-getch

Abraço.




4. Re: Menu Selecionavel - Em C

Erique
zeriqueh

(usa Outra)

Enviado em 07/09/2017 - 11:29h

Isso aqui me ajudou, resolvido, obrigado

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int a,b,L,L2;
void gotoxy(int x,int y){
COORD c;
c.X = x;
c.Y = y;
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),c);
}
int main(){
/*//menu*/
int opcao;
do{
inicio:
opcao=0;
L=2;L2=2;b=2;
system("cls");
system("color 0f");
printf("\n\n 1 - JOGAR \n 2 - RANKINGS \n 3 - CREDITOS \n 4 - SAIR\n");
do{
gotoxy(1,L);
printf("-->");
gotoxy(10,6);
if(kbhit){a=getch();}
if(a == 80 && b < 5){L2=L;L++;b++;}/*seta p/baixo*/
if(a == 72 && b > 2){L2=L;L--;b--;}/*seta p/cima */
if(L!=L2){gotoxy(1,L2);printf(" ");L2=L;}
if(a == 13){opcao=b-1;}
}while(opcao == 0);
switch (opcao){
case 1:
system("cls");
printf("\n GAME\n");
Sleep(2000);
break;
case 2:
system("cls");
printf("\n Ranking\n");
Sleep(2000);
break;
case 3:
system("cls");
printf("\n Creditos\n");
Sleep(2000);
break;
case 4:
system("cls");
printf("voce pediu para sair, prencione qualquer tecla para continuar\n");
break;
default:
printf("voce deve escolher uma opcao valida\n");
printf("Precione qualquer tecla para voltar ao menu\n");
system("pause");
goto inicio;
}
}while(opcao!=4);
return 0;
}







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts