SOGO論壇
  登入   註冊   找回密碼
查看: 712|回覆: 0
列印 上一主題 下一主題

[技術文章] 電費計算 [複製連結]

Rank: 11Rank: 11Rank: 11Rank: 11

熱心參予論壇活動及用心回覆主題勳章 數位硬體勳章

狀態︰ 離線
跳轉到指定樓層
1
發表於 2012-7-18 11:29:50 |只看該作者 |倒序瀏覽
/* 程式功能: 電費計算 */

#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");
    }
}

喜歡嗎?分享這篇文章給親朋好友︰
               感謝作者     

請注意︰利用多帳號發表自問自答的業配文置入性行銷廣告者,將直接禁訪或刪除帳號及全部文章!
您需要登錄後才可以回覆 登入 | 註冊


本論壇為非營利自由討論平台,所有個人言論不代表本站立場。文章內容如有涉及侵權,請通知管理人員,將立即刪除相關文章資料。侵權申訴或移除要求:abuse@oursogo.com

GMT+8, 2024-4-28 23:31

© 2004-2024 SOGO論壇 OURSOGO.COM
回頂部