Hola a todos. Tengo una duda con respecto al siguiente código. La cosa es que me sale como error de compilacion que las variables EuroaYen y EuroaDolar no se usa, cuando se puede ver claramente que están dentro del switch... no se muy bien que hacer... (soy novato)
Aquí dejo el código:
#include <stdio.h>
float EuroYen(float cantidadConvertir);
float EuroDolar(float cantidadConvertir);
float DolarYen(float cantidadConvertir);
float DolarEuro(float cantidadConvertir);
float YenDolar(float cantidadConvertir);
float YenEuro(float cantidadConvertir);
int main ()
{
int EleccionMoneda;
float cantidadConvertir, EuroaYen, EuroaDolar;
EuroaDolar=0;
EuroaYen=0;
cantidadConvertir=0;
EleccionMoneda=0;
printf(" ***Conversor de monedas***\n\n");
printf("Elija la moneda cuyo valor quiera saber\n\n");
printf("* 1-Euro *\n");
printf("* 2-Dolar *\n");
printf("* 3-Yen *\n");
scanf("%d",&EleccionMoneda);
switch(EleccionMoneda)
{
case 1:
printf("Introduzca la cantidad a convertir: \n");
scanf("%f",&cantidadConvertir);
EuroaYen=EuroYen(cantidadConvertir);
EuroaDolar=EuroDolar(cantidadConvertir);
break;
case 2:
printf("Introduzca la cantidad a convertir: \n");
scanf("%f",&cantidadConvertir);
break;
case 3:
printf("Introduzca la cantidad a convertir: \n");
scanf("%f",&cantidadConvertir);
break;
default: break;
}
getch();
return 0;
}
float EuroYen(float cantidadConvertir)
{
float Yenes=0;
Yenes=cantidadConvertir*25;
return Yenes;
}
float EuroDolar(float cantidadConvertir)
{
float Dolares=0;
Dolares=cantidadConvertir*1.34;
return Dolares;
}
float DolarYen(float cantidadConvertir)
{
float Yenes=0;
Yenes=cantidadConvertir*20;
return Yenes;
}
float DolarEuro(float cantidadConvertir)
{
float Euro=0;
Euro=cantidadConvertir*0.74;
return Euro;
}
float YenDolar(float cantidadConvertir)
{
float Dolares=0;
Dolares=cantidadConvertir*0.05;
return Dolares;
}
float YenEuro(float cantidadConvertir)
{
float Euros=0;
Euros=cantidadConvertir*0.04;
return Euros;
}
No es un error, es una advertencia del compilador. Las advertencias son solo consejos, aclaraciones, ambiguedades...
La advertencia te indicará que has creado una variable y no la has usado. Y es verdad, has declarado una variable y no la has usado para nada (tan solo le has dado un valor)
Podrías imprimirla por pantalla por lo menos:
printf("La cantidad es %f \n",EuroaYen);
printf("La cantidad es %f",EuroaDolar);
amchacon si le pasas al gcc al compilar este parámetro:
-Werror
Te salen esas advertencias como errores, aunque como tu dices al mostrarlas por la pantalla con printf, se van, pero queda una declaración implícita a getch que también da error. Así que no se si será la mejor solución pero esto es para desactivar eso(pasarlo al compilador como parámetro):
-Wno-error=switch
Y sustituye el getch por:
getchar();
O incluye:
#include <conio.h>//NO PORTABLE
¡Un saludo!
Vale Vale estupendo, tienes toda la razón del mundo amchacon. Muchas gracias :D