Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa no me arroja el resultado correcto de una operacion matematica

Estas en el tema de Programa no me arroja el resultado correcto de una operacion matematica en el foro de C/C++ en Foros del Web. Hola a todos. Je, tenía bastante tiempo sin programar en Turbo C++, y me dio el gusanito de nuevo, por lo que estoy como.. comenzando ...
  #1 (permalink)  
Antiguo 11/02/2011, 13:12
Avatar de glendys666  
Fecha de Ingreso: febrero-2011
Ubicación: Lecheria
Mensajes: 2
Antigüedad: 13 años, 2 meses
Puntos: 0
Pregunta Programa no me arroja el resultado correcto de una operacion matematica

Hola a todos. Je, tenía bastante tiempo sin programar en Turbo C++, y me dio el gusanito de nuevo, por lo que estoy como.. comenzando de muevo!
Mi problema es el siguiente:
Estoy haciendo un programa cuya intención es calcular el porcentaje de comisiones por ventas, así como el pago total de ese mes por esas ventas.
El detalle es que no está haciendo los cálculos como se debe, por lo cual el resultado no es el correcto- En una cuenta donde debía arrojarme la cantidad de Bs. 130 me arroja la cantidad de Bs. 201326609.998047 (¿?) por concepto de comisiones XD

¿¿¿qué estaré haciendo mal????

Otra cosa: Me gustaría que no salieran tantos decimales, sólo necesito dos, porque son operaciones en moneda!!!

Saludos!

Aquí el código del programa:



#include<STDIO.H>
#include<CONIO.H>
void main ()
{
float basico, venta1, venta2, venta3, comision1, comision2, comision3, totalcomision, totalpago;
clrscr;
printf("PROGRAMA PARA EL CALCULO DE COMISIONES");
gotoxy (1,2);
printf("INTRODUZCA SUELDO BASICO:");
getch ();
scanf("%f", &basico);
gotoxy (1,3);
printf("INGRESE MONTO DE LA PRIMERA VENTA:");
getch ();
scanf("%f", &venta1);
gotoxy (1,4);
printf("INGRESE EL MONTO DE LA SEGUNDA VENTA:");
getch ();
scanf("%f",&venta2);
gotoxy (1,5);
printf("INGRESE MONTO DE LA TERCERA VENTA:");
getch ();
scanf("%2f", &venta3);
comision1=venta1*10/100;
comision2=venta2*10/100;
comision3=venta3*10/100;
totalcomision=comision1+comision2+comision3;
gotoxy (1,6);
printf("SU TOTAL DE COMISIONES ES DE Bs. %f"), totalcomision;
gotoxy (1,7);
totalpago=totalcomision+basico;
printf("SU PAGO TOTAL ES DE Bs. %f"),totalpago;
gotoxy (1,8);
printf("PULSE CUALQUIER TECLA PARA SALIR");
getch();
}


Bueno, eso es todo.... espero sus respuestas, gracias anticipadas....

Última edición por glendys666; 11/02/2011 a las 13:13 Razón: faltó un dato: Ya intenté con %2f para que no me arroje tantos decimales.
  #2 (permalink)  
Antiguo 11/02/2011, 15:28
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Programa no me arroja el resultado correcto de una operacion matematica

printf("SU TOTAL DE COMISIONES ES DE Bs. %f"), totalcomision;???? es correcta esta expresion

no sería mas correcta

printf("SU TOTAL DE COMISIONES ES DE Bs. %f", totalcomision);
  #3 (permalink)  
Antiguo 12/02/2011, 08:47
 
Fecha de Ingreso: noviembre-2010
Ubicación: Venezuela
Mensajes: 24
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Programa no me arroja el resultado correcto de una operacion matematica

hola,

el error podria esta donde dijo margarito

incorrecto
Cita:
printf("SU TOTAL DE COMISIONES ES DE Bs. %f"), totalcomision;
correcto
Cita:
printf("SU TOTAL DE COMISIONES ES DE Bs. %f", totalcomision);
tengo tiempo que no hago nada en c o c++ pero si mi memoria no me falla para que salgan 2 decimales seria
Cita:
%2f
  #4 (permalink)  
Antiguo 14/02/2011, 07:49
 
Fecha de Ingreso: junio-2010
Ubicación: Madrid
Mensajes: 620
Antigüedad: 13 años, 10 meses
Puntos: 73
Respuesta: Programa no me arroja el resultado correcto de una operacion matematica

Por ejemplo:

printf("SU TOTAL DE COMISIONES ES DE Bs. %10.2f", totalcomision);

va a imprimir totalcomision con 10 caracteres en total, incluyendo el signo, el punto decimal y dos cifras decimales.

Si el número total de caracteres supera el que le digas, imprimirá cuantos sean necesarios, pero respetará el número de cifras decimales.

Etiquetas: correcto, operacion, programa, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:19.