본문 바로가기

Embeded C/C언어 예제

C언어 섭씨(Celsius) 온도를 화씨(Fahrenheit)로 변환 그반대도 가능한 프로그램

0℃에서 100℃까지의 섭씨 온도를 화씨 온도로 바꾸어서 5℃ 간격으로 출력하고 그 반대의 경우도 가능한 프로그램을 작성하겠습니다

출력>>



먼저 섭씨와 화씨는 모두 온도의 단위입니다.

1)섭씨(centigrade)는 스웨덴의 천문학자 Anders Celsius(1701~1744)의 고안에 따른 것입니다.
이 셀시우스가 만든 온도계가 중국에 알려졌을 때, 중국사람들이 셀시우스를 '섭씨'라고 부른 것이 "섭씨"라는 말의 기원이라고 합니다.

2)화씨(Fahrenheit)는 the Fahrenheit scale을 고안한 독일의 물리학자 Gabriel Daniel Fahrenheit(1686~1736)의 이름을 딴 것인데, 섭씨의 경우와 마찬가지로 파렌하이트를 중국사람들이 '화륜해'라고 부르게 되어 '화씨'가 되었다.


섭씨(攝氏) 10도는 10℃, 10 degrees centigrade(Centigrade로도 씀),
화씨(華氏) 10도는 10℉, 10 degrees Fahrenheit로 쓰게 됩니다.

0℃ = 32℉
즉 변환공식은 아래와 같습니다
화씨 -> 섭씨 : 섭씨 = (화씨-32)/1.8
섭씨 -> 화씨 : 화씨 = (섭씨*1.8)+32

#include<stdio.h>

 

void CtoF();

 

int C , F = 0;

char b;

 

int main()

{

           printf("섭씨온도 = C, 화씨온도 = F : ");

           scanf("%c", &b);

           CtoF();                    

          

           return 0;

}

void CtoF()

{

           if((b == 'C')||(b == 'c'))

           {

                     printf("** Celsius To Fahrenheit **\n");

          

                     for(C=0;C<=100;C=C+5)

                     {

                                F = (C*1.8)+32;

                                printf("%3d℃ => %3d℉\n", C, F);

                     }

           }

 

           else if((b == 'F')||(b == 'f'))

           {

                     printf("** Fahrenheit To Celsius **\n");

          

                     for(F=32;F<=212;F=F+9)

                     {

                                C = (F-32)/1.8;

                                printf("%3d℉ => %3d℃\n", F, C);

                     }

           }

           return ;

}