| 
	
		|  Autor | Tema: duda programa sencillo (principante)  (Leído 2,677 veces) |  
	| 
			| 
					
						| Chapielchapas 
								
								 Desconectado 
								Mensajes: 6
								
								
								
								
								
								   | 
 
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); 	producto = (iva * producto) + producto;	printf("El precio del producto con iva es: %f.\n",	producto = ( iva *  producto) +  producto); 	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
 
 |  
						| 
								|  |  
								| « Última modificación: 20 Febrero 2018, 14:18 pm por engel lex » |  En línea | 
 
 |  |  |  | 
			| 
					
						| deleted_account 
								
								 Desconectado 
								Mensajes: 58
								
								   | 
 
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   
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Chapielchapas 
								
								 Desconectado 
								Mensajes: 6
								
								
								
								
								
								   | 
 
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;
 
 
 }
 
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| deleted_account 
								
								 Desconectado 
								Mensajes: 58
								
								   | 
 
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! |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| Chapielchapas 
								
								 Desconectado 
								Mensajes: 6
								
								
								
								
								
								   | 
 
Me sirvió de mucho, gracias!!! Q pases buen día amigo |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
   |