Hola disculpen estoy empezando en c ,y a la hora de querer compilar este programa , tengo problemas en el área de multiplicación , por ejemplo 4.1*3 deberia dar igual a 12.3 , pero me arroja un resultado 12.29999 , ahora 3.4*1.1
3.74 , pero no lo reconoce , y así hay mas números que fallan , pero no todos , porque sucede esto?
3.74 , pero no lo reconoce , y así hay mas números que fallan , pero no todos , porque sucede esto?
Código (c) [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int main()//Accion Operacion Cuatro cositas
{
float op1,op2,rpta,res2;
char op;
printf("Ingrese la operacion que desee realizar\n");
printf("Ejemplo: 2 + 3\n \n");
scanf("%f",&op1);
scanf("%c",&op);
scanf("%f",&op2);
switch(op)
{
case '+':
;
printf("\nOPERACION SUMA: \n \n");
printf("%6.1f + %6.1f =",op1,op2);
scanf("%f",&rpta);
if(rpta==op1+op2)
{
printf("Felicitaciones!\n");
}
else
{
printf("Errooooor!\n");
}
break;
case '-':
printf("\nOPERACION RESTA: \n \n");
printf("%6.1f - %6.1f =",op1,op2);
scanf("%f",&rpta);
if(rpta==op1-op2)
{
printf("Felicitaciones!\n");
}
else
{
printf("Errooooor!\n");
}
break;
case '*':
res2=op1*op2;
printf("\nOPERACION MULTIPLICACION: \n \n");
printf("%6.2f * %6.2f =",op1,op2);
scanf("%f",&rpta);
printf("%f \n" ,rpta);
printf ("%f \n", res2);
if(rpta==op1*op2)
{
printf("Felicitaciones!\n");
}
else
{
printf("Errooooor!\n");
}
break;
case '/':
if(op2!=0)
{
system("cls");
printf("\nOPERACION DIVISION: \n \n");
printf("%6.1f / %6.1f =",op1,op2);
scanf("%f",&rpta);
if(rpta==op1/op2)
{
printf("Felicitaciones!\n");
}
else
{
printf("Errooooor!\n");
}
}
else
{
printf("\nOPERACION IMPOSIBLE,NO SE PUEDE DIVIDIR ENTRE 0\n");
}
break;
default:
printf("\nOPERADOR DESCONOCIDO\n");
}
system("pause");
return 0;
}