Conversor de moedas
int main (void)
{ printf("CONVERSOR DE MOEDA (Euro/Dolar)"); getchar ();
float euro, dolar;
printf("Introduz o valor em EUROS:"); scanf ("%d", &euro);
dolar = 1,3;
getchar ();
printf("%d Euros valem %d Dolares."), euro*dolar; getchar (); return 0;
}
A conta está certa, mas tens três problemas.
Primeiro, ao usar a função printf, tens de ter os argumentos dentro dos parêntesis.
Segundo, como usas dois placeholders (%d) tens de ter dois argumentos, o primeiro com o valor em euros, e o segundo com o valor em dólares.
Corrige estes dois e depois experimenta. Vai dar sempre o mesmo valor!
Porquê? O separador decimal que deves usar não é a vírgula, é o ponto. Em C, a vírgula é um operador!
Isto tudo, é claro, ignorando o facto de floats não serem o melhor tipo de dados para representar valores monetários.
http://forum.zwame.pt/showthread.php?t=553598&page=1
#include
int main (void)
{ printf("CONVERSOR DE MOEDA (Euro/Dolar)"); getchar ();
float euro, dolar;
printf("Introduz o valor em EUROS:"); scanf ("%f", &euro);
dolar = 1,3;
getchar ();
printf("%.2f Euros valem %.2f Dolares.", euro*dolar); getchar (); return 0;
}
#include
int main () { float real; float euro; float dolarcan; float valoreuro; float valordolar; float valordolarcan;
printf("Insira o valor em reais que quer converter: "); scanf("%f", &real); printf("\nInsira a cotacao do euro: "); scanf("%f", &euro); printf("\nInsira a cotacao do dolar canadense: "); scanf("%f", &dolarcan);
valoreuro = real * euro; valordolar = real * 1.94; valordolarcan = real * dolarcan;
printf("O valor de %.2f reais em euros eh: %.2f", real, valoreuro); printf("\nO valor de %.2f reais em dolares eh: %.2f", real, valordolar); printf("\nO valor de %.2f reais em dolares canadenses eh: %.2f", real, valordolarcan);
getchar (); getchar ();
return 0;