• ベストアンサー

再度の質問ですが・・・

預金福利計算で再度の質問をお願いします。 自分は数学処理の<math.h>は全然わかりません・・・ そこで入出力の<stdio.h>だけでやろうとするのはムリですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.4

voidとreturn0; 及び int mainのintは省略できると思います。 しかし警告メッセージがでる場合もあるので書いとくのが無難です。 とりあえずこんな感じで #include <stdio.h> /?円は金利%で何年後で倍? */ int main(void){ int in_money; int in_nenri; double nw_money; double wk_money; double nenri; int test; int year = 0; printf("預金額:"); scanf("%d",&in_money); printf("金利:"); scanf ("%d" ,&in_nenri); nw_money=(double)in_money; nenri=(double)in_nenri; wk_money=nw_money; while( 2 * nw_money >= wk_money){ year++; wk_money = wk_money * ( 1+ (nenri/100)); } printf ("%d年後です。",year); return 0; }

aki-to
質問者

お礼

ありがとうございます。 プログラミングは深いですね~・・・ 「自分に覚えきれるか」と、言うのがとっても不安です。

その他の回答 (3)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

エラー11ですか・・・。 そのまま貼り付けたのでしょうか?全角スペースとか入っていたので そういうが原因だったと思います。あと符号が逆とかのミスがありました。 即席で作ったものなのでそこは勘弁してください。 とりあえず↓のものはそのままはりつけてコンパイルできます。テストもしましたので。 「36年後です」と表示されるはずです。 #include <stdio.h> /*10000円は金利2%で何年後で倍? */ int main(void){ double nw_money = 10000; double wk_money; double nenri = 2; int year = 0; wk_money=nw_money; while( 2 * nw_money >= wk_money){ year++; wk_money = wk_money * ( 1+ (nenri/100)); } printf ("\n%d年後です。\n",year); return 0; }

aki-to
質問者

お礼

なるほど! sha-girlさんの回答は自分が使ったことのある範囲なので、 たいへん助かります。 そこで、ここから自力で預金額と金利をキーボードから 入力をしてみたのですが、うまくいかないんですよね・・・ 入力の模範解答を頂けるとうれしいのですがー あと、これは(void)と"return"ってないとだめなんですかね?

noname#2009
noname#2009
回答No.2

QNo.285776 の ANo.#3 のソースで > y = log(2)/log(1+r/100); > printf("year=%f年\n",y); の部分を取り去れば、 #include<math.h> も不要です。 >wolvサンへ 大変失礼致しました。 重ねて言うようですが、この方の回答で全て答えは出て いました。Visual C++ でもC でも一緒です。

aki-to
質問者

お礼

そ、それだけで平気なんですね・・・ ただただ"?"って思うだけです。 締め切る前にもう一つだけ。 やっぱり初心者にはプログラムは難しいです! 習得するのは大変ですかね!?

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

前回の質問の方を拝見させて頂きましたが回答のプログラムは特に math.hをインクルードしなくても動くと思いますよ。 参考までにちょっと書きました。テストはしていませんが //10000円は金利2%で何年後で倍? double nw_money=10000; double wk_money; double nenri =2; int year=0; wk_money=nw_money; while(2*nw_money < wk_money){  year++;  wk_money = wk_money * (1+(nenri/100)); } printf ("%d年後です。",year)

aki-to
質問者

お礼

回答ありがとうございます。 実行してみたところエラーが11ありました・・・ なんででしょう?

関連するQ&A