実行したときの出力が上手くいかずに困っています。
問題文と実行例、僕が書いたコードを貼るので助言していただければ幸いです、よろしくお願いします。
[問題文]
int型のメンバーであるdollar,cent,rateをもつ構造体moneyを定義する.キーボードで各々の値を入力させて構造体に格納した後,日本円に換算して画面に出力するプログラムを作成せよ.
[実行例]
dollar? 3
cent? 25
rate? 78
yen: 253.5
#include <stdio.h>
struct money{
int dollar;
int cent;
int rate;
};
main()
{
double yen(struct money);
struct money money;
printf("dollar? ");
scanf("%d", &money.dollar);
printf("cent? ");
scanf("%d", &money.cent);
printf("rate? ");
scanf("%d", &money.rate);
printf("yen: %.1lf\n", yen(money));
}
double yen(struct money money)
{
return (double)((money.dollar * money.rate) + (money.cent * money.rate / 100));
}
dollar? 3
cent? 25
rate? 78
yen: 253.0
となって小数第一位の数字が0になってしまって、うまく出力されないんです。どこに問題があるのか、どうすれば解決するのか助言をお願いします。