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 Answers
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