Dalkrs Postado Abril 2, 2016 Denunciar Share Postado Abril 2, 2016 (editado) #include <stdio.h> #include <stdlib.h> int menu (char sinal); int valores (int num1, int num2); int main () { char operador; printf("\t\tBem Vindo a Calculadora\n"); printf("Digite um dos sinais matematicos a seguir: '+','-','*','/','%'\n"); scanf("%c",&operador); menu(operador); } int menu(char sinal) { int operando1, operando2; switch(sinal) { case '+': { valores(operando1,operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 + operando2); break; } case '-': { valores(operando1,operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 - operando2); break; } case '*': { valores(operando1,operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 * operando2); break; } case '/': { valores(operando1,operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 / operando2); break; } case '%': { valores(operando1,operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 % operando2); break; } default: { printf("Operador nao reconhecido.\n"); } } } int valores(int num1,int num2) { printf("=---------------------------------------------------------------=\n"); printf("Digite o Valor 1:\n"); scanf("%d", &num1); printf("Digite o Valor 2:\n"); scanf("%d", &num2); return num1 && num2; } Editado Abril 2, 2016 por Dalkrs Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 fesoalll Postado Abril 4, 2016 Denunciar Share Postado Abril 4, 2016 O erro esta no modo como você retornou os dados da função. #include <stdio.h> #include <stdlib.h> int menu (char sinal); int valores (int num1, int num2); char ans; int main () {big: char operador; printf("\t\também Vindo a Calculadora\n"); printf("Digite um dos sinais matematicos a seguir: '+','-','*','/','%'\n"); scanf("%c",&operador); menu(operador); printf("\n Para realizar outra operaçao tecle Enter.\n Para finalizar tecle q >> enter."); fflush(stdin); scanf("%c",&ans); if(ans!='q')goto big; else goto end; end: return 0; } int valores1(int num1) { printf("=---------------------------------------------------------------=\n"); printf("Digite o Valor 1:\n"); scanf("%i", &num1); return num1; } int valores2(int num2) { printf("Digite o Valor 2:\n"); scanf("%i", &num2); return num2; } int menu(char sinal) { int operando1, operando2; switch(sinal) { case '+': { operando1=valores1(operando1); operando2=valores2(operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 + operando2); break; } case '-': { operando1=valores1(operando1); operando2=valores2(operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 - operando2); break; } case '*': { operando1=valores1(operando1); operando2=valores2(operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 * operando2); break; } case '/': { operando1=valores1(operando1); operando2=valores2(operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 / operando2); break; } case '%': { operando1=valores1(operando1); operando2=valores2(operando2); printf("%d%c%d=%d", operando1, sinal, operando2, operando1 % operando2); break; } default: { printf("Operador não reconhecido.\n"); } } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Dalkrs
Link para o comentário
Compartilhar em outros sites
1 resposta 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.