ページ 11

質問です

Posted: 2009年6月09日(火) 18:34
by ユーリ
これは学校の課題なのですが
「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい(while文)」という問題なんですが
while文をどのように組み合わせていくのかわかりません
基本的なことはわかっています。
プログラムの流れについてヒントを頂けませんか?

Re:質問です

Posted: 2009年6月09日(火) 18:41
by lbfuvab
貯める額をループごとに倍にして合計に足していけばいいと思いますよ。
int sum=0,i=1;

while(終了条件){
  sum+=i;
  i*=2;
}

Re:質問です

Posted: 2009年6月09日(火) 18:43
by 初級者
基本的なことに、while文を含んでいないのでしょうか?

私にしてみれば、じゅうぶん基本的なことだと思います。

Re:質問です

Posted: 2009年6月09日(火) 21:05
by conio
とりあえず、作ってみました。
日本語で書いてあるところを、どうにかすれば完成するようになってます。
参考程度にどうぞ。

----------------------------------------------------------------------------------
int sum = 0, benefit = 1, month = 1;
while(//終了条件){
  //貯金額に、一ヶ月に貯めた金額を足す処理//
  printf("【%3dヶ月目】 貯金額:%7d円, 今月貯めた金額:%6d\n",month,sum,i);
  //利益を2倍にする処理//
  //一ヶ月経過させる処理//
}
----------------------------------------------------------------------------------

無題

Posted: 2009年6月09日(火) 21:11
by ユーリ
ありがとうございます。
頑張ってみます

Re:無題

Posted: 2009年6月09日(火) 22:10
by ユーリ
1,2,4,8・・・・・と表示するにはどうしたらいいですかね?

Re:無題

Posted: 2009年6月09日(火) 22:31
by MNS
conioさんのコードのように、
ループ毎にprintf等で金額を出力すればいいと思いますが。

Re:無題

Posted: 2009年6月09日(火) 22:37
by 通りすがり
ユーリさんの言っている「基本的なことはわかっています。」は
どんな事を意味してるんでしょうか?

Re:無題

Posted: 2009年6月09日(火) 23:05
by ユーリ
基本的というよりは基礎的なことです。
といっても基礎の基礎がわかってるくらいですかね。
一向に進む気配がないですし

Re:無題

Posted: 2009年6月10日(水) 01:41
by ユーリ
貯金額に、一ヶ月に貯めた金額を足す処理
これがいまいちわからいのですがどうすればいいのですか?

Re:無題

Posted: 2009年6月10日(水) 02:15
by b
金額を足す処理というのは、プログラムで足し算を行う処理です。これが分からないということは、基礎の基礎がわかってないということです。
上の書き込みにもあるように、課題を解く手順は既に示されています。
一度課題から離れて、文法を調べてみてはいかがでしょう?

Re:無題

Posted: 2009年6月10日(水) 10:48
by 通りすがり
(管理人により記事が修正されました)

以下、マルチポスト先と思われるURLです。

http://detail.chiebukuro.yahoo.co.jp/qa ... 1127091451

Re:無題

Posted: 2009年6月10日(水) 11:28
by やそ
こたえは全て出ています。
>「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい

毎月ためた金額(1からはじまり前月の倍額)
貯金合計
経過月数
100万円を越えるまで

が出ているのですから。

whileの()の中身は継続条件を書きます。つまり100万円以下なら続けるよということ。
経過月数は1づつ増えていけばいいですよね。
今月ためた金額は前月ためた金額の2倍(どうやって稼ぐんだ?丁半ばくちか?(笑))
貯金合計は前月までの合計+今月ためた金額
それぞれ画面?に表示

を繰り返せばいいのではないでしょうか?

Re:無題

Posted: 2009年6月10日(水) 15:48
by conio
>>貯金額に、一ヶ月に貯めた金額を足す処理
>>これがいまいちわからいのですがどうすればいいのですか?


上のほうでプログラムを書いたのですが、
補足しておきますと、言葉と変数は 下記のように対応します。
-----------------------------------
貯金額 = sum
一か月に貯めた金額 = benefit
-----------------------------------

なので、sum に benefit を足す式を書けばよいということになります。

Re:無題

Posted: 2009年6月10日(水) 18:38
by ユーリ
ありがとうございました。
解決しました