Exemplo de Menu
Publicado por fabio 09/02/2006
[ Hits: 15.032 ]
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; }
Manipulação de letras maiusculas e minusculas
Aprenda a Gerenciar Permissões de Arquivos no Linux
Como transformar um áudio em vídeo com efeito de forma de onda (wave form)
Como aprovar Pull Requests em seu repositório Github via linha de comando
Procurando vídeos de YouTube pelo terminal e assistindo via mpv (2025)
Gravação de tela com temporizador
Aplicativo simples para gravar tela
Como fazer boot em img do debian 12.img da web? (11)
Manjaro 25.0 no permite usar crontab (1)
trocar linhas [RESOLVIDO] (11)