演習課題 ex06-6.c
関西電力の月ごとの電気料金契約「従量電灯A」は、次のような料金単価体系(電気料金は定期的に変動するため単価が異なっているかも)になっている。
- 1契約あたりの基本料金は 334.82円(税込、以下同様)であり、15kWh までの電力量ごとの料金はこの基本料金に含まれる(定額である)。
- 15kWh を超え、120kWh までの電力量ごとの料金は、1kWh あたり 19.95 円 である。
- 120kWh を超え、300kWh までの電力量ごとの料金は、1kWh あたり 25.33 円 である。
- 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 によるマクロ定数定義を積極的に使いましょう。