본문 바로가기

미래(2015-2016)/자습

전기요금 계산하기



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
/*
    2015.09.04
    내용: 전기요금 계산 프로그램
    키보드로 전기 사용량(kw)을 입력 받으면 사용 요금을 출력
    계산식 : 기본요금 + (사용량 * kw당 요금) + 세금
    세금은 전체 사용요금의 9% 임.
        [기본요금]            [kw당 요금]
    1~100kw => 370원        처음 100kw까지 : 52.0
    ~200kw => 660        다음 100kw까지 : 88.5
    ~300kw => 1130      다음 100kw까지 : 127.8
    ~400kw => 2710        다음 100kw까지 : 184.3
    ~500kw => 5130        다음 100kw까지 : 274.3
    500kw 초과 => 9330    500kw초과 : 494.0
    화면결과>
    전기 사용량을 입력하세요(kw) : 270
    이번 달 요금은 26297 원입니다.
*/
 
#include <stdio.h>
 
int main()
{
    int basic, tax, usedPower, switchPower, i;
    double mount = 0.0, all;
    int basicFee[] = { 370660113027105130 };
    double utl[] = { 52.088.5127.8184.3274.3494.0 };
 
    printf("전기 사용량을 입력하세요(kw) (330) : ");
    scanf("%d"&usedPower);
 
    // 전기요금이 100단위로 나뉘므로 계산을 위해 100으로 나눔. 500이상은 5로 고정.
    // usedPower에서 1을 뺀 이유는 전기사용량 기준이 1~100까지이므로 -1로 기준을 0~99로 바꾸기 위함임.
    switchPower = (usedPower > 500) ? 5 : ((usedPower - 1/ 100);
 
    if (usedPower <= 0)    // 사용량이 0이하일 경우 에러 발생
        printf("잘못 입력하셨습니다. 다시 입력해주세요. \n");
 
    else
    {
        if (switchPower == 0)    // 사용량이 100kw 이하인 경우
        {
            basic = basicFee[0];
            mount = usedPower * utl[0];
        }
        else
        {
            for (i = 0; i < switchPower; i++)    // 반복문을 통해 사용량의 100단위까지 누적 계산한다.
            {
                mount += 100 * utl[i];
            }
 
            if (usedPower > 500)    // 500 이상인 경우 500이 넘는 부분과 기본요금을 계산
            {
                mount += (usedPower - 500* utl[5];
                basic = basicFee[5];
            }
            else                // 나머지 사용량과 기본요금을 계산
            {
                mount += (usedPower - (100 * switchPower)) * utl[switchPower];
                basic = basicFee[switchPower];
            }
        }
 
        all = basic + mount + ((basic + mount) * 0.09);
        printf("이번달 전기 사용량은 %dKW이며, 전기요금은 %.0lf원 입니다. \n", usedPower, all);
    }
 
    return 0;
}
cs


c150904_powerRates.c


'미래(2015-2016) > 자습' 카테고리의 다른 글

피라미드 출력하기  (0) 2015.09.08
소수 출력하기  (0) 2015.09.07
계산기  (0) 2015.09.03
자판기  (0) 2015.09.03
배열을 정렬하여 병합하기  (0) 2015.09.01