0

Não consigo realizar a divisão por 0

#include <math.h> #include <stdio.h> #include <locale.h> main(){ //calculadora.cpp setlocale(LC_ALL,"Portuguese"); int x, y, z, o, c; float a, b, d; printf("\nDeseja calcular algo? Digite 0 para não ou qualquer outro número inteiro para sim:\n"); scanf("%i",&c); while (c!=0){ printf("\nCódigos das operações:\n adição = 1;\n subtração = 2;\n multiplicação = 3;\n divisão real = 4;\n porcentagem = 5;\n potência = 6;\n resto da divisão = 7;\n raiz quadrada = 8; \n divisão inteira = 9."); printf("\nDigite o código do cálculo que deseja realizar:\n"); scanf("%i",&o); if (o>9) printf("\nOperação não encontrada. Tente novamente.\n"); else { if (o==8){ printf("\nDigite um número:"); scanf("%f",&a);} if (o!=8, o!=4){ printf("\nDigite dois números inteiros:"); scanf("%i%i",&x,&y);} if (o==4){ printf("\nDigite dois números reais:"); scanf("%f%f",&a,&b);} } switch(o){ case 1:z = x+y; printf("%i + %i = %i", x,y, z ); break; case 2:z = x-y; printf("%i - %i = %i", x,y, z); break; case 3:z = x*y; printf("%i x %i = %i", x,y, z); break; case 4:if(b==0){ printf("Não é possível dividir por zero.");} d = a/b; printf("%f ÷ %f = %f", a,b, d); break; case 5:z = (x*y)/100; printf("%i x %i ÷ 100 = %i", x,y, z); break; case 6:z = pow(x,y); printf("%i ^ %i = %i", x,y, z); break; case 7:z = x%y; printf("O resto da divisão de" " %i por %i é igual a %i", x,y, z); break; case 8:b = sqrt(a); printf("A raiz quadrada de " "%f é igual a %f",a, b); break; case 9:if(y==0){ printf("Não é possível dividir por zero.");} z = x/y; printf("%i ÷ %i = %i", x,y, z); break;} printf("\nDeseja continuar? Digite 0 para não ou qualquer outro número inteiro para sim:"); scanf("%i",&c); }} Nesse código, quando coloco uma variável 0, por exemplo: 9/0, aparece Não é possível dividir por zero.9,000000 ÷ 0,000000 = 1,#INF00. O que pode estar errado? Por favorrr

8th Oct 2023, 7:27 PM
laila
laila - avatar
2 Réponses
0
isso é porque você não pode dividir por zero... é indefinido. pegue 1 e divida-o por algum número realmente pequeno x, se x for positivo a resposta chega ao infinito positivo. mas se x for negativo a resposta se aproxima do infinito negativo. agora se x for 0 é infinito positivo ou negativo ??? ?? responda que é indefinido.
9th Oct 2023, 5:06 AM
Raul Ramirez
Raul Ramirez - avatar
0
So dont divide by zero ever
9th Oct 2023, 5:08 AM
Raul Ramirez
Raul Ramirez - avatar