Buenas, estoy empezando a programar y me han pedido hacer un programa que al introducir el precio del producto me devuelva el precio de ese producto con el iva (0,21). Y no me da ese resultado, qué he hecho mal?
/**EJERCICIO 2 TEMA 2
Realice un programa para calcular el IVA de un producto cuyo precio es introducido por el usuario.
Suponga que el IVA es del 21 %*/
#include <stdio.h>
int main(){
float producto;
const float iva = 0.21;
printf("Introduzca precio del producto %f.\n",producto);
scanf("%f",&producto);
producto = (iva * producto) + producto;
printf("El precio del producto con iva es: %f.\n", producto = (iva * producto) + producto);
system("pause");
return 0;
}
Gracias de antemano
· Los códigos deben ir en etiquetas GeSHi
· No se debe escribir en mayúsculas
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex
Hola!
Veo que tu código necesita más organización. Te recomiendo ir paso a paso...
1) Tienes que tener el precio. Entonces, defines una variable para almacenarlo.
2) Saca el precio con el Iva, o sea el SubTotal. Este va a ser el resultado del Precio multiplicado 0.21 .
3) Suma el Precio Original con el Subtotal.
Te recomiendo crear una variable por cada 1. Esto hará tu código mucho más legible. Estas sobreescribiendo una y otra vez.
Pruebalo y dime que sucede ;)
Gracias por tu aporte. Intentando seguir tus indicaciones he llegado hasta aquí, y me han surgido los siguientes problemas: 1. Cuando meto el precio con decimales solo aparece la parte entera.
2. No calcula nada, solo pone 0,00000
/**EJERCICIO 2 TEMA 2
Realice un programa para calcular el IVA de un producto cuyo precio es introducido por el usuario.
Suponga que el IVA es del 21 %*/
#include <stdio.h>
int main(){
float precio, subtotal, suma;
//PRECIO NO SE LE DA VALOR, SE INTRODUCE POR TECLADO
subtotal = precio * 0,21;
suma = subtotal + precio;
printf("\n\nBIENVENIDO A LA CALCULADORA DE IVA\n\n");
printf("\n\nINTRODUCE EL PRECIO DE TU PRODUCTO\n\n");
scanf("%f",&precio);
printf("\n\nEL PRECIO INTRODUCIDO ES %f EUROS\n\n",precio);
printf("\n\nEL IVA DE SU PRODUCTO ES %f EUROS\n\n",subtotal);
printf("\n\nEL PRECIO CON IVA ES %f EUROS\n\n",suma);
system("pause");
return 0;
}
Ok! He notado un error: Estás calculando el IVA usando un precio que no existe!
Al iniciar la Variable Precio, su número inicial es de 0. Y tu estás calculando sobre 0. En resumen, el error está aquí:
int main(){
float precio, subtotal, suma;
//PRECIO NO SE LE DA VALOR, SE INTRODUCE POR TECLADO
subtotal = precio * 0,21; // ERROR
suma = subtotal + precio; // ERROR
printf("\n\nBIENVENIDO A LA CALCULADORA DE IVA\n\n");
printf("\n\nINTRODUCE EL PRECIO DE TU PRODUCTO\n\n");
scanf("%f",&precio);
printf("\n\nEL PRECIO INTRODUCIDO ES %f EUROS\n\n",precio);
printf("\n\nEL IVA DE SU PRODUCTO ES %f EUROS\n\n",subtotal);
printf("\n\nEL PRECIO CON IVA ES %f EUROS\n\n",suma);
system("pause");
return 0;
}
Cuando debería de ser así:
int main(){
float precio, subtotal, suma;
printf("\n\nBIENVENIDO A LA CALCULADORA DE IVA\n\n");
printf("\n\nINTRODUCE EL PRECIO DE TU PRODUCTO\n\n");
scanf("%f",&precio);
//PRECIO NO SE LE DA VALOR, SE INTRODUCE POR TECLADO
subtotal = precio * 0,21;
suma = subtotal + precio;
printf("\n\nEL PRECIO INTRODUCIDO ES %f EUROS\n\n",precio);
printf("\n\nEL IVA DE SU PRODUCTO ES %f EUROS\n\n",subtotal);
printf("\n\nEL PRECIO CON IVA ES %f EUROS\n\n",suma);
system("pause");
return 0;
}
No se si se entendió. Basicamente, estás realizando los cálculos sobre el precio, que es igual a 0. Y al pedirle al usuario el precio, no modificas el cálculo.
Suerte!
Me sirvió de mucho, gracias!!! Q pases buen día amigo