Pues he empezado ha hacer un programa que se llama MathUtilities y de momento tiene 6 opciones:
Pero con el IVA ocurre algo extraño. Simpre da 0. o.O!
Código:
//Cargamos librerías #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <math.h> //Main int main() { double a, b, c, resultado; int Opcion; //Funciones double Suma (double , double ); double Resta (double , double ); double Multiplicacion (double , double ); double Division (double , double ); double Raizcuadrada (double ); double IVA (double, double); printf("\t\t-----MathUtilities-----\n\n"); printf("\t 1- Suma\n"); printf("\t 2- Resta\n"); printf("\t 3- Division\n"); printf("\t 4- Multiplicacion\n"); printf("\t 5- Raiz cuadrada\n"); printf("\t 6- IVA\n"); printf("\t\t Elija Opci¢n:"); scanf("%d", &Opcion); switch (Opcion) { case 1: resultado = Suma (a, b); break; case 2: resultado = Resta (a, b); break; case 3: resultado = Division (a, b); break; case 4: resultado = Multiplicacion (a, b); break; case 5: resultado = Raizcuadrada (a); break; case 6: resultado = IVA (a, b); break; } printf("\n El resultado es: %lf", resultado); getchar(); getchar(); return 0; } double Suma (double a, double b) { double c; printf("\n Introduzca el primer sumando\n:"); scanf ("%lf", &a); printf("\n Introduzca el segundo sumando\n:"); scanf ("%lf", &b); c = a + b; return (c); } double Resta (double a, double b) { double c; printf("\n Introduzca el primer restando\n:"); scanf("%lf", &a); printf("\n Introduzca el segundo restando\n:"); scanf("%lf", &b); c = (a-b); return (c); } double Multiplicacion (double a, double b) { double c; printf("\n Introduzca el primer factor\n:"); scanf("%lf", &a); printf("\n Introduzca el segundo factor\n:"); scanf("%lf", &b); c = a * b; return (c); } double Division (double a, double b) { double c; printf("\n Introduzca el dividendo\n:"); scanf("%lf", &a); printf("\n Introduzca el divisor\n:"); scanf("%lf", &b); c = a / b; return (c); } double Raizcuadrada (double a) { double c; printf("\n Introduzca el numero del que desea la raiz\n: "); scanf ("%lf", &a); c = sqrt (a); return (c); } double IVA (double a, double b) { double c; printf("Introduzca el IVA:\n"); scanf("%d",&a); printf("Introduzca el precio\n"); scanf("%d",&b); c = a + a * b /100; return (c); getchar(); getchar(); }
Extraño fenomeno xD. Haver si alguien me puede explicar porque ocurre esto.
Gracias.
We're off now to seek all our fortunes to the land... of... our dreams
añade
añade un fflush(stdin) despues de pedir las variables haber si te funciona ;)
Haciendo una chapuzeria he
Haciendo una chapuzeria he conseguido que funcione, solo tengo que quitar ahora la frasecita del final:
We're off now to seek all our fortunes to the land... of... our dreams
Es lo que te había dicho yo,
Es lo que te había dicho yo, pero no me leiste. Usabas scanf("%d") en vez de scanf("%f")
Un saludo.
Porque? Era un Double.
Porque? Era un Double.
M no se lee tu comentario
M no se lee tu comentario
se refiere
a sin comentarios
Sobre la función IVA
Cuando abras ese programa la semana que viene y veas la linea "c = a + a * b /100", no va a tener ni idea de lo que calcula.
El resto de código, se ve bien, uso de funciones sentencias "case"
Un saludo.
LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.
Eso que tu dices te calcula
Eso que tu dices te calcula el IVA, si, pero no te lo añade al precio orginal.
Pues en tu programa pones
Pues en tu programa pones IVA, y el IVA es eso el IVA, sin nada más. ¿Puede ser por el scanf(%d) en vez de %f?
Un saludo.
no estoy muy seguro
Prueba a crear otra variable, calculando el iva como dice gorrister y después añade esa variable mas el precio original
Con lo que dice gorrister me
Con lo que dice gorrister me sigue dando 0.0000000 xD
más extraño aun
a mi me da 1.#QNAN0
xD????? Que pasa aqui?
xD????? Que pasa aqui?
Me he leido todos los tutos y
Me he leido todos los tutos y los entiendo todos menos los de la Recursividad y los prototipos de funciones. Por lo demas bien.
Códgio corregido, pero sigue dando el mismo error. Que extraño.
Lo he hecho por separado y si que funciona:
We're off now to seek all our fortunes to the land... of... our dreams