/* 程式功能: 電費計算 */

#include <stdio.h>

/* 家庭用電 */
#define TypeA1 2.5      /* 家庭用電100度以下,每度2.5元 */
#define TypeA2 3.3      /* 家庭用電101度以上,300度以下,每度3.3元 */
#define TypeA3 4.2      /* 家庭用電301度以上,每度4.2元 */

/* 工業用電 */
#define TypeB1 150      /* 工業用電契約馬力,每馬力150元 */
#define TypeB2 1.9      /* 工業用電每度1.9元 */

/* 營業用電 */
#define TypeC1 6        /* 營業用電300度以下,每度6元 */
#define TypeC2 6.8      /* 營業用電301度以上,每度6.8元 */

main(void) {
    int T;          /* 用電類別 */
    float Deg;      /* 用電度數 */
    float C;        /* 工業用電契約馬力 */
    float Fee;      /* 電費 */

    printf("1. 家庭用電");
    printf("\n");
    printf("2. 工業用電");
    printf("\n");
    printf("3. 營業用電");
    printf("\n");

    printf("請輸入用電類別(1~3): ");
    scanf("%d", &T);

    if (T>=1 && T<=3) {
        printf("用電度數= ");
        scanf("%f", &Deg);
        switch(T) {
        case 1: 
            if (Deg<=100)
                Fee = Deg*TypeA1;
            else if (Deg<=300)
                Fee = (Deg-100)*TypeA2 + 100*TypeA1;
            else
                Fee = (Deg-300)*TypeA3 + 200*TypeA2 + 100*TypeA1;
            break;
        case 2:
            printf("契約馬力= ");
            scanf("%f", &C);
            Fee = C*TypeB1 + Deg*TypeB2;
            break;
        case 3:
            if (Deg<=300)
                Fee = Deg*TypeC1;
            else
                Fee = (Deg-300)*TypeC2 + 300*TypeC1;
            break;
        }
        printf("電費共為%f", Fee);
        printf("\n");
    } else {
        printf("類別錯誤!");
        printf("\n");
    }
}
--Back--