Exemplo de Menu
Publicado por fabio 09/02/2006
[ Hits: 14.970 ]
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; }
Retirar ocorrências de uma substring dentro de uma string
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado