演習課題 ex06-6.c

関西電力の月ごとの電気料金契約「従量電灯A」は、次のような料金単価体系(電気料金は定期的に変動するため単価が異なっているかも)になっている。

  1. 1契約あたりの基本料金は 334.82円(税込、以下同様)であり、15kWh までの電力量ごとの料金はこの基本料金に含まれる(定額である)。
  2. 15kWh を超え、120kWh までの電力量ごとの料金は、1kWh あたり 19.95 円 である。
  3. 120kWh を超え、300kWh までの電力量ごとの料金は、1kWh あたり 25.33 円 である。
  4. 300kWh を超えた分の電力量ごとの料金は、1kWh あたり 28.76 円 である。

キーボードから一ヶ月に利用した電力量を kWh を単位とする整数値で入力すると、「従量電灯A」で契約した場合の月額電気料金を小数点以下2桁まで(四捨五入して)出力するプログラム ex06-6.c を作成し、kiso2コマンドを用いて提出しなさい。 ただし、電力量の入力と電気料金の出力は繰り返し行えるものとし、電気量に 0 以下の値が入力されるとプログラムが終了するものとする。

実行例:

t190900@s01cd0542-160:~/kiso2-2019/ex06$ ./ex06-6
kWh? 1
334.82 Yen
kWh? 15
334.82 Yen
kWh? 16
354.77 Yen
kWh? 120
2429.57 Yen
kWh? 121
2454.90 Yen
kWh? 300
6988.97 Yen
kWh? 301
7017.73 Yen
kWh? 999
27092.21 Yen
kWh? 0
プログラムのソースコード中に 19.95 などの定数を直接書き込むと、コードが読みにくくなり(数字の意味が不明)、修正もし難く、バグが入り込みやすくなります。#define によるマクロ定数定義を積極的に使いましょう。
  • lecture/kiso2/ex/ex06-6.c.txt
  • 最終更新: 2019/11/04 23:11
  • by sano