Exemplo de Menu
Publicado por fabio 09/02/2006
[ Hits: 15.202 ]
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;
}
Cálculo de divisores de um número.
Decimal, Hexa, Char para Binário
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como fazer a conversão binária e aplicar as restrições no Linux
Como quebrar a senha de um servidor Linux Debian
Como bloquear pendrive em uma rede Linux
Um autoinstall.yaml para Ubuntu com foco em quem vai fazer máquina virtual
Instalar GRUB sem archinstall no Arch Linux em UEFI Problemático









