duda programa sencillo (principante)

Iniciado por Chapielchapas, 9 Febrero 2018, 19:18 PM

0 Miembros y 1 Visitante están viendo este tema.

Chapielchapas

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
-Engel Lex

Thiamatt

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 ;)

Chapielchapas

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;
   
   
}

Thiamatt

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!

Chapielchapas

Me sirvió de mucho, gracias!!! Q pases buen día amigo