Ir para conteúdo
Fórum Script Brasil
  • 0

[AJUDA] Qual o problema com esse código?


Dalkrs

Pergunta

#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 por Dalkrs
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

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");
        }
    }
}

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...