Ir ao conteúdo

Posts recomendados

Postado

Olá

 

Estou com dificuldades para criar uma condição para quando tentar fazer uma divisão por zero aparecer uma mensagem dizendo que não é possível.

Eu estou aprendendo a mexer no visual studio, e não sei muita coisa ainda.. 

alguém tem uma dica de como eu possa fazer isso?

Postado

Para exemplificar, você pode fazer a estrutura desta forma.

 

Tratando seu Exception separadamente pelo seu tipo

 

int a, b; 
  
  a = 2;
  b = 0;
 
  try {
  	a = a / b; 
  }
  catch(Exception ex){
    if(ex is DivideByZeroException){
		//...
     }
     else if(ex is OverflowException){
		//...
     }
  }

 

Postado

#include<stdio.h>
#include<stdlib.h>

int main() {

    int num1, num2, soma, subtracao, multiplicacao, divisao;

    
    printf("Digite o primeiro numero:");
    scanf_s("%d", &num1);
    
    printf("\n");
    
    printf("Digite o segundo numero:");
    scanf_s("%d", &num2);


    printf("\n");


    soma = num1 + num2;
    subtracao = num1 - num2;
    multiplicacao = num1 * num2;
    divisao = num1 / num2; 
    
    printf("A soma = %d\n", soma);
    printf("\n");
    printf("A subtracao = %d\n", subtracao);
    printf("\n");
    printf("A multiplicacao = %d\n",multiplicacao);
    printf("\n");
    printf("A divisao = %d\n", divisao);
    
    printf("\n");

    system("pause");
    return 0;
}

 

esse é o codigo que eu fiz como eu colocaria essa estrutura que você me passou?

Postado

Se não for tratar como uma exceção como no primeiro exemplo, faça uma verificação com os valores a serem divididos antes da operação. 

 

 
if(num1 == 0 || num2 == 0){
    printf("Divisão por zero.", '');
}
else {
divisao = num1 / num2;
}

 

Postado

Eu consegui fazer funcionar de certo modo agora eu consigo fazer a mensagem  aparecer quando for divisão por zero porém o erro no programa ainda persiste: Exceção sem tratamento em 0x00901A37 em Project14.exe: 0xC0000094: Integer division by zero.

 

if (num2 != 0)
        divisao = num1 / num2;
    else
        printf("Invalido, nao pode ser divido por 0");
    
    if (divisao = num1 / num2);    <<< ( o problema está nessa linha aqui, não sei como tenho ideia de como resolver isso).
    
    else 
        printf("A divisao = %d\n", divisao);

 

  • Confuso 1
Postado

Vai retornar a mensagem pois esta sendo feito a divisão com zero dentro do if, ao confirmar que há uma divisão por zero você não pode realiza-la. 

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!