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

Calculadora usando ponteiros e funções diversas


bruce845

Pergunta

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h> // Inclua a conio.h, não esqueça!
#include <math.h>

void validaSimbolo(char *);
void validaValor(char *,double *);
double calculaOperacao(char *,double *);

int main(int argc,char *argv[])
{
  double valor[2];
  char simbolo;
  system("TITLE Calculadora");
  puts("Digite os numeros de acordo com o padrão: x+y e de ENTER!");
  scanf("%lf %c %lf",&valor[0],&simbolo,&valor[1]);
  validaSimbolo(&simbolo);
  validaValor(&simbolo,valor);
  system("CLS");
  printf("%lf %c %lf = %lf\n",valor[0],simbolo,valor[1],calculaOperacao(&simbolo,valor));
  getch();
  return EXIT_SUCCESS;
}
void validaSimbolo(char *simbolo)
{
  while(!strchr("+-*X/:^",toupper(*simbolo)))
  {
    puts("Escreva um operador valido!\a");
    *simbolo=toupper(getch());
  }
  return;
}
void validaValor(char *simbolo,double *valor)
{
  while(strchr("/:",*simbolo)&&valor[1]==0)
  {
    puts("Informe um numero diferente de 0 para a divisao!\a");
    scanf("%lf",&valor[1]);
  }
  return;
}
double calculaOperacao(char *simbolo,double *valor)
{
  switch(*simbolo)
  {
    case '+':return valor[0]+valor[1];
    case '-':return valor[0]-valor[1];
    case 'X':;
    case '*':return (valor[0])*(valor[1]);
    case '/':;
    case ':':return valor[0]/valor[1];
    default:return pow(valor[0],valor[1]);
  }
}

Editado por bruce845
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...