Exemplo de Menu
Publicado por fabio 09/02/2006
[ Hits: 15.149 ]
Exemplo de Menu
(Windows)
---------------------------
#include <stdio.h>
#include <conio.h>
#include <dos.h>
#include <math.h>
#include <stdlib.h>
#include <desenhos.h>
#define UP 72
#define DOWN 80
#define ENTER 13
char cmenu[5][15]={"> CALCULAR <", "> AJUDA <", "> AUTOR <",
"> SAIR Esc<",""};
int imenu, linha, estado, tecla;
void menu()
{
clrscr();
textbackground(4);
for(linha=1;linha<=4;linha++)
{
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
}
linha=0;
textbackground(1);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
textbackground(0);
}
int main()
{
double linf, lsup, np, fr, cnt, dpf, *pf;
int menu1, menu2;
pf=&dpf;
textcolor(14);
menu();
do
{
np=0;
tecla=getch();
if(tecla==DOWN&&linha<4)
{
textbackground(4);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
linha++;
textbackground(1);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
}
if(tecla==UP&&linha>-1)
{
textbackground(4);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
linha--;
textbackground(1);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
}
if(tecla==DOWN&&linha==4)
{
textbackground(4);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
linha=0;
textbackground(1);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
}
if(tecla==UP&&linha==-1)
{
textbackground(4);
gotoxy(30,linha+7); cprintf("%s", cmenu[linha+1]);
linha=3;
textbackground(1);
gotoxy(30,linha+6); cprintf("%s", cmenu[linha]);
}
/* Fun‡äes do menu */
if(tecla==ENTER&&linha==0)
{
textbackground(0);
clrscr();
printf("Entre com o intervalo de n£meros naturais.\n");
printf("De: ");
scanf("%lf", &linf);
printf("at‚: ");
scanf("%lf", &lsup);
for(cnt=linf;cnt<=lsup;cnt++)
{
if(cnt==2||cnt==3||cnt==5||cnt==7)
{
np++;
}
if((modf(cnt/2,pf)!=0)&&(modf(cnt/3,pf)!=0)&&(cnt!=1))
{
if((modf(cnt/5,pf)!=0)&&(modf(cnt/7,pf)!=0))
{
np++;
}
}
}
printf("\nH %.1lf n£meros primos", np);
getch();
menu();
}
if(tecla==ENTER&&linha==1)
{
textbackground(0);
clrscr();
puts("Ajuda do NPRIMOS v.0.1\n");
puts("Este programa calcula a quantidade de n£meros primos existente
no");
puts("intervalo de n£meros naturais definido pelo usu rio.");
puts("Exemplo:");
puts("Selecione 'calcular', depois no campo 'De' insira o limite
inferior");
puts("do intervalo, no campo 'at‚' insira o limite superior do
intervalo.");
puts("Ser mostrado a quantidade de n£meros primos.");
getch();
menu();
}
if(tecla==ENTER&&linha==2)
{
textbackground(0);
clrscr();
waner();
puts("\nNPRIMOS v.0.1");
puts("Desenvolvido por Waner Wodson.");
puts("email: wwagsilva@terra.com.br");
getch();
menu();
}
if(tecla==ENTER&&linha==3)
{
textbackground(0);
clrscr();
gotoxy(40-strlen("NPRIMOS v.0.1")/2, 12); printf("NPRIMOS
v.0.1\n\n");
exit(0);
}
}
while(tecla!=27);
return 0;
}
Método de Power para calcular o autovelor dominante de uma matriz
Programa para cálculo de números complexos
Lista simplesmente encadeada C
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
E aí? O Warsaw já está funcionando no Debian 13? [RESOLVIDO] (15)
Secure boot, artigo interessante, nada técnico. (4)
copiar library para diretorio /usr/share/..... su com Falha na a... (1)









