ローン返済のプログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
aaa321

ローン返済のプログラム

#1

投稿記事 by aaa321 » 13年前

ローン返済のプログラム
実行例のようになるプログラムを教えてください。



ローンの返済シミュレータを作成しなさい。

(入力)
・借入額(円)
・年利(3%か5%の選択式)
・返済額(円/年)



<実行結果例>

Please enter the amount of loan(yen):10000
Please choose the interest rate(3 or 5%):4

! Error: Please enter the 3 or 5.

Please choose the interest rate(3 or 5%):3
Please enter the amount of annual repayment(yen/year):200

! Error: The repayment amount is lower than the interest rate.

Please enter the amount of annual repayment(yen/year):1000

--------------------------------
Amount of loan : 10000 yen
Total repayment : 12076 yen
Repayment years : 13 year

aaa321

Re: ローン返済のプログラム

#2

投稿記事 by aaa321 » 13年前

これくらいしかわかりません。
ループはまださせていません。



#include<stdio.h>

int main(void)

{
float a,b,c,d,e,f;

printf("Please enter the amount of loan(yen):");
scanf(" %f",&a);
printf("Plese choose the interest rate(3 or 5%):");
scanf(" %f",&b);

if(b!=3 && b!=5)
{
printf("!Error:Please enter the 3 or 5.");
}

if(b==3)
{
c=a*0.03;
printf("Plese enter the amount of annual repayment(yen/year):");
scanf(" %f",&d);

if(c!=d)
{
printf("!Error:The repayment amount is lower than the interest rate.");
}
}

else
{
printf("Please enter the amount of annual repayment(yen/year):");
scanf(" %f",&e);
}
}

non
記事: 1097
登録日時: 14年前

Re: ローン返済のプログラム

#3

投稿記事 by non » 13年前

! Error: The repayment amount is lower than the interest rate.
このメッセージが出る条件がわからないのですが。
元金×年利 以下の場合でしょうか?
non

とっち
記事: 56
登録日時: 13年前
住所: 岡山

Re: ローン返済のプログラム

#4

投稿記事 by とっち » 13年前

とりあえずここまでのプログラムを見ていると、

1. bをfloat型で宣言する意味は何でしょうか?
  3か5%ならint型でいいような気がしますが

2. if(c!=d)とありますがdには何も入っていませんよね?
  なにと比較しようとしているのでしょうか?

アドバイスとしてまず処理の概要からかんがえてみましょう。
大まかには入力、計算、表示、エラー処理の四つです。
おすすめする方法は表示、入力、計算、エラー処理の順で作っていくことですが、
今入力のところは何となくできているので、一気に表示と入力を作ってみましょう。

とりあえずですが、
(入力)
・借入額(円)
・年利(3%か5%の選択式)
・返済額(円/年)

で入力をそのまま
借入額=10000yen
年利=3%
返済額=1000yen

と出力するプログラムはできますか?
できるなら計算の部分も作ってみましょう。


エラー処理は最後に作ることをお勧めします

box
記事: 2002
登録日時: 14年前

Re: ローン返済のプログラム

#5

投稿記事 by box » 13年前

aaa321 さんが書きました:

コード:

  float a,b,c,d,e,f;
このような、一見何を意味するのかわからない変数名ではなく、
元金とか利息とか返済額とかが一目でわかるような名前を
付ける方がいいと思いませんか?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。

かずま

Re: ローン返済のプログラム

#6

投稿記事 by かずま » 13年前

借入額が 10000円で、年利 3%、返済額 1000円/年で
返済総額が 12076円、返済期間が 13年になることを説明できますか?

1年後には 10000円の 3% で 300円の利息がついて、借入額は 10300円になります。
そこで、1000円を返済すると、借入残高は 9300円になります。

2年後、9300 x 0.03 = 189 円の利息がついて、借入額は 9489円になります。
そこで、1000円を返済すると、借入残高は 8489円なります。

3年後、8489 x 0.03 = 254.67 円の利息になりますが、多分、0.67円はおまけして
くれるので、254円の利息になるでしょう。借入額は8489 + 254 = 8743円。
そこで、1000円を返済すると、借入残高は 7743円なります。

これを繰り返して、借入額が 0 円か、それ以下になれば返済完了です。
0以下になるということは、最後の返済は 1000円より少なくてよいということです。

借入額 amount = 10000、年利 rate = 0.03、返済額 repayment = 1000 から出発して

コード:

    for (n = 0; amount > 0; n++) {
        amount = floor(amount * rate) + ammount - repayment;
    }
返済期間は n 年、返済総額は rapyament * n + amount でしょう。
最後に amount は負になっていますから、その分少なくて済みます。

ありゃりゃ、返済総額が 12063円になってしまいました。
利息の端数はおまけしてくれないようです。
切り捨ての floor の代わりに切り上げの ceil を使いましょう。
これらの関数を使うためには #include <math.h> が必要です。

かずま

Re: ローン返済のプログラム

#7

投稿記事 by かずま » 13年前

かずま さんが書きました:2年後、9300 x 0.03 = 189 円の利息がついて、借入額は 9489円になります。
そこで、1000円を返済すると、借入残高は 8489円なります。

3年後、8489 x 0.03 = 254.67 円の利息になりますが、多分、0.67円はおまけして
くれるので、254円の利息になるでしょう。借入額は8489 + 254 = 8743円。
そこで、1000円を返済すると、借入残高は 7743円なります。
計算間違っていますね。

2年後、9300 x 0.03 = 279 円の利息がついて、借入額は 9579円になります。
そこで、1000円を返済すると、借入残高は 8579円なります。

3年後、8579 x 0.03 = 257.37 円の利息になりますが、多分、0.37円はおまけして
くれるので、257円の利息になるでしょう。借入額は8489 + 254 = 8833円。
そこで、1000円を返済すると、借入残高は 7833円なります。


手計算では間違いが入るもんです。だからプログラムを書くんですね。

閉鎖

“C言語何でも質問掲示板” へ戻る