Ir ao conteúdo

Posts recomendados

Postado

Escreva um programa que leia dois números quaisquer e um caractere representando um operador matemático básico (+,-,x,/), nessa ordem. Imprima o resultado, com duas casas decimais, da operação correspondente ao caractere digitado considerando os números informados, de acordo com a tabela abaixo. Lembre-se de validar o operador (Saída: Operador inválido) e alertar casos de divisão por zero (Saída: Divisão por zero). Sua solução deve conter a estrutura de seleção switch.

Símbolo lido         Operação

    +                        Adição

    -                         Subtração

    x                        Multiplicação

    /                         Divisão

Exemplo 1:

Entrada: 3 5 +

Saída: 8.00

Exemplo 2:

Entrada: 2.5 2 x

Saída: 5.00

Exemplo 3:

Entrada: 3 0 / 

Saída: Divisão por zero

Exemplo 4:

Entrada: 4.2 3 #

Saída: Operador inválido

 

 

 

NÃO CONSEGUI FAZER ESTE EXERCÍCIO alguém ME AJUDA

  • Amei 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

 

  • Curtir 1
  • 1 ano depois...
Postado

Bom Dia!

 

Em 30/06/2022 às 17:09, Gabrielga_99 disse:

NÃO CONSEGUI FAZER ESTE EXERCÍCIO alguém ME AJUDA

 

Tem o básico de expressões lógicas, aritmética e condicionais.

        If else | == eq | switch | ?: ternário | scanf | printf

 

 

Como Resolver ?

        Escanear-se o dado composto de 2 double como números, 1 char como símbolo da operação (o operador), checa-se com instruções condicionais e fluxo de controle o símbolo\sinal da operação. Deste modo, redireciona-se o programa para os comandos designados pelo símbolo conforme o enunciado no problema (do exercício). 

 

        Sugerem o uso do switch para expressar o fluxo das operações.

 

 

 

 

  • Curtir 1
Postado

Por exemplo,

 

c'11 - gcc'11.4


#include <stdio.h> /* Include the header file for input and output */

#define NUMERO                  " %lf"
#define OPERADOR                 " %c"
#define ADICAO                     '+'
#define SUBTRACAO                  '-'
#define MULTIPLICACAO              'x'
#define DIVISAO                    '/'
#define RESULTADO(r)   "%.2f%c",r,'\n'

typedef double  Numero;
typedef char  Operador;

int main (void) {
  Numero esquerdo ,direito;
  Operador operacao;

  int l= scanf (NUMERO,&esquerdo);
  int r= scanf (NUMERO,&direito);
  int u= scanf (OPERADOR,&operacao);

  if (l!=1 || r!=1 || u!=1) {
    perror ("Falhou na solicitação");
    return 1;
}
   switch (operacao) {
      case ADICAO :
           esquerdo+= direito;
      break;
      case SUBTRACAO :
           esquerdo-= direito;
      break;
      case MULTIPLICACAO :
           esquerdo*= direito;
      break;
      case DIVISAO :
           if (direito==0.0) {
             printf ("%s%c","Divisão por zero",'\n');
             operacao= 0;
}            
               else
             esquerdo/= direito;
      break;
      default: /* 
                * Operação Inválida 
                */
           printf ("%s%c","Operador Inválido",'\n');
           operacao= 0;
      break;
}
  if (operacao) printf (RESULTADO(esquerdo));
  return 0;
}

...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!