- ベストアンサー
困っています教えてください。
独学でCを勉強しているものですが、 作り方がわかりません。教えてください、問題は↓です "次のインターネットプロパイダーの料金は以下のようになっている。 10時間以内 2000円 10~20時間まで一時間 210円 20時間を超えると一時間 205円 このとき使用時間を入力すると、料金が表示されるプログラムを作成したい。加えて一度計算して終了ではなく、使用時間で0と入れたらときだけプログラムが終了しそれ以外は何度も使用時間を入力、料金の表示ができるようにプログラムを作成しなさい” と書いてあるのですが作り方がわかりません、おしえてください。お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
わからなくなったら箇条書きにするんです。 [1]- 以下のことを繰り返す。 [2]- 使用時間を入力 [3]- 使用時間が0ならおしまい [4]- 使用時間 < 10 なら 2000円 [5]- 使用時間 < 20 なら 使用時間 x 210円 [6]- さもなくば 使用時間 x 205円 [7]- 結果を表示 で、それぞれを計算機のコトバに置き換えます [1]: while [2]: scanf など [3]: if [4]-[6]: if ... else if ... else [7]: print ほらできた。
その他の回答 (3)
独学で勉強されているのでしたら、全く見当もつかない問題よりも、分かりそうな範囲の問題を選んだほうが良いですよ。 それにどの部分が分からないと具体的に指摘しないと答えようがないでしょう。 補足お願いしますね。 #muyoshidさんへ #問題文を多分読み違えていますよ。 #それだと 10時間以上だといきなり料金が跳ね上がりますよ。
- muyoshid
- ベストアンサー率72% (230/318)
すみません。 プログラムの18行目を、間違えましたので訂正します。 [誤] price = 205 * 10; [正] price = 205 * hour;
- muyoshid
- ベストアンサー率72% (230/318)
コンパイルしていませんので、文法エラーがあるかも知れませんが、 こんな感じになると思います。 #include <stdio.h> main() { int hour, price; for (;;) { printf("使用時間を入力して下さい。 : "); scanf("%d", &hour); if (0 == hour) { printf("Program exit.\n"); break; } // 利用料金の計算 if (hour < 10) { price = 2000; } else if (hour < 20) { price = 210 * hour; } else { price = 205 * 10; } printf("プロバイダ料金は、%d円です。\n", price); } return(0); }