Exemplo de Menu
Publicado por fabio 09/02/2006
[ Hits: 15.186 ]
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;
}
Fazendo o somatório de 1 até N
Full linux c++ implementation of conio.h (conio.h para linux)
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
[Resolvido] dlopen(): error loading libfuse.so.2 AppImages require FUSE to run.
Criação de diretórios e aplicação de restrições de acesso no Linux
Instalando partes faltantes do Plasma 6
Script instalaçao gateway RAK831 (2)
Instalar Dual Boot, Linux+Windows. (4)









