cleyvison Postado Outubro 18, 2008 Denunciar Share Postado Outubro 18, 2008 (editado) Caros amigos, sou novo aqui no forum e comecei a estudar c/c++ agora e já me deparei ccom um problema. Minha situação é a seguinte, preciso colocar no meu programa uma função que quando o usuário teclar "ESC" o programa encerre. alguém pode me ajudar?este é o codigo, coisa simples mas, ta faltando a sainda com o acionamento da tecla "ESC".=========================#include <stdio.h> #include <stdlib.h> //Funcao soma double soma (double a, double b) { double soma; soma=a+b; return (soma); } //Funcao multiplicacao double produto (double a, double b) { double produto; produto=a*b; return (produto); } //Funcao subtracao double sub (double a, double b) { double sub; sub=a-b; return (sub); } //Funcao divisao double divi (double a, double b) { double divi; divi=a/b; return (divi); } int main(int argc, char *argv[]) { double a,b; char op; printf ("Digite o Primeiro Numero: "); scanf ("%lf", &a); printf ("Digite o Segundo Numero: "); scanf ("%lf", &b); printf ("Escolha uma Opcao: \n"); printf ("Somar (S)\n" "Subtrair (U)\n" "Multiplicar (P)\n" "Dividir (D)\n" "Sair (Q)\n"); printf ("Opcao: \n"); scanf ("%c", &op); op = getch(); switch (op) { case 'S': printf (" Voce escolheu Somar, o resultado e: %lf\n",soma (a,b));break; case 'U': printf (" Voce escolheu Subtrair, o resultado e: %lf\n",sub(a,b));break; case 'P': printf (" Voce escolheu Multiplicar, o resultado e: %lf\n",produto(a,b));break; case 'D': printf (" Voce escolheu Dividir, o resultado e: %lf\n",divi(a,b));break; case 'Q': system("exit");break; default: printf ("Opcao Invalida\n"); } system("\n PAUSE"); return 0; } Editado Outubro 19, 2008 por cleyvison Adicionar tag CODE Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Outubro 19, 2008 Denunciar Share Postado Outubro 19, 2008 cara, tenha pacencia, se você postou a 4 horas atras, é bem provavel q ninguém vai ter respondido, as pessoas não ficam entrando no forum a cada 5 minutos. ainda mais de fim de semana, espere sempre uns dois dias pra ver se ninguém vai responder.agora, quanto ao esc, você ta falando naquele getch(), ta querendo substituir o Q?? se for, o codigo do esc é 27. faca assim:case 27: system("exit");break; Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleyvison Postado Outubro 19, 2008 Autor Denunciar Share Postado Outubro 19, 2008 (editado) Amigo bom dia, so dei uip porque havia esquecido de póstar o codigo, qunado o fiz vi que o tópico não tinha subido, desculpe-me.Não quero substituir o que, que implementar mais a possibiliidade de ao clicar "ESC" o programa encerre.de acordo com sua orientação fiz assim:switch (op) { case 'S': printf (" Voce escolheu Somar, o resultado e: %lf\n",soma (a,b));break; case 'U': printf (" Voce escolheu Subtrair, o resultado e: %lf\n",sub(a,b));break; case 'P': printf (" Voce escolheu Multiplicar, o resultado e: %lf\n",produto(a,b));break; case 'D': printf (" Voce escolheu Dividir, o resultado e: %lf\n",divi(a,b));break; case 'Q': system("exit");break; case '27': system("exit");break; default: printf ("Opcao Invalida\n"); } mas, não funcionou ele me respondeu com se eu tivesse escolhido uma opção inválida, o que preciso é que ao clicar "ESC" o programa encerre. Muito obrigado e mais uma vezx desculpe-me pelo "UP" ============================================================cara, tenha pacencia, se você postou a 4 horas atras, é bem provavel q ninguém vai ter respondido, as pessoas não ficam entrando no forum a cada 5 minutos. ainda mais de fim de semana, espere sempre uns dois dias pra ver se ninguém vai responder. agora, quanto ao esc, você ta falando naquele getch(), ta querendo substituir o Q?? se for, o codigo do esc é 27. faca assim: case 27: system("exit");break; Editado Outubro 19, 2008 por cleyvison Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Outubro 19, 2008 Denunciar Share Postado Outubro 19, 2008 o 27 não é pra ta entre aspa, olha o codigo la em cima como eu fiz.case 27: system("exit");break;27 é o codigo ascii do esc, assim como você podia testar o Q com o codigo ascii dele em vez de com o caracter direto. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 cleyvison Postado Outubro 19, 2008 Autor Denunciar Share Postado Outubro 19, 2008 o 27 não é pra ta entre aspa, olha o codigo la em cima como eu fiz.case 27: system("exit");break; 27 é o codigo ascii do esc, assim como você podia testar o Q com o codigo ascii dele em vez de com o caracter direto. funcinou muito obrigado pela a juda... tenha um bom domingo ficou assim: #include <stdio.h> #include <stdlib.h> //Funcao soma double soma (double a, double b) { double soma; soma=a+b; return (soma); } //Funcao multiplicacao double produto (double a, double b) { double produto; produto=a*b; return (produto); } //Funcao subtracao double sub (double a, double b) { double sub; sub=a-b; return (sub); } //Funcao divisao double divi (double a, double b) { double divi; divi=a/b; return (divi); } int main(int argc, char *argv[]) { double a,b; char op; printf ("Digite o Primeiro Numero: "); scanf ("%lf", &a); printf ("Digite o Segundo Numero: "); scanf ("%lf", &b); printf ("Precione 'ESC' para Sair ou Escolha uma Opcao: \n"); printf ("Somar (S)\n" "Subtrair (U)\n" "Multiplicar (P)\n" "Dividir (D)\n" "Sair (Q)\n"); printf ("Opcao: \n"); scanf ("%c", &op); op = getch(); switch (op) { case 'S': printf (" Voce escolheu Somar, o resultado e: %lf\n",soma (a,b));break; case 'U': printf (" Voce escolheu Subtrair, o resultado e: %lf\n",sub(a,b));break; case 'P': printf (" Voce escolheu Multiplicar, o resultado e: %lf\n",produto(a,b));break; case 'D': printf (" Voce escolheu Dividir, o resultado e: %lf\n",divi(a,b));break; case 'Q': system("exit");break; case 27: system("exit");break; default: printf ("Opcao Invalida\n"); } system("\n PAUSE"); return 0; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
cleyvison
Caros amigos, sou novo aqui no forum e comecei a estudar c/c++ agora e já me deparei ccom um problema.
Minha situação é a seguinte, preciso colocar no meu programa uma função que quando o usuário teclar "ESC" o programa encerre.
alguém pode me ajudar?
este é o codigo, coisa simples mas, ta faltando a sainda com o acionamento da tecla "ESC".
=========================
Editado por cleyvisonAdicionar tag CODE
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.