본문 바로가기
코스웨어/16년 스마트컨트롤러

20160403_김가연_스터디일지_섭씨 화씨 변환 소스

by 알 수 없는 사용자 2016. 4. 3.
728x90
반응형

사실 저는 아트메가를 할때도 그렇고 최근에 수업하는 소스코드들을 거의 모른다고 해도 무방할정도로 이해하는 것이 어려웠습니다.

그래서

오늘은 답지를 전혀 보지않고 제 머릿속에서 짜내어서 예제를 풀어보았습니다.

 

221p 문제 2번)

섭씨(Celsiua)온도를 입력하면 화씨(Fahrenheit)온도를 반환하는 CelToFah라는 함수와 그 반대로 화씨온도를 입력하면 섭씨 온도를 반환하는 FahToCel이라는 이름의 함수를 정의하고 이 두함수를 호출하는 예제를 완성해 보자. 참고로 섭씨와 화씨의 온도변환의 공식은 다음과 같다.

Fah=1.8*Cel+32

 

저는 함수를 작성하는 요령도 잘 모르고 메인함수 이외의 함수 작성에 대한 이해도가 극히 떨어집니다.

그래서 일단 종이에다가 손으로 적어보았습니다.

 

외곽만 대강 만든후에 컴파일하여보았습니다.

답지를 보지 않았기때문에 어느점이 틀린지도 잘모르겠고 고칠수록 에러가 늘어났습니다......

 

부산 컨텐츠 코리아랩에서 공부를 하던 와중에 이전에 학원에 한번 오셨던 김태현 선배님을 우연찮게 보았습니다.

 

선배님께 자문을 구하고나니 정확히는 아니더라도 대강은 알 수 있고 책에 있던 내용도 어느정도 이해하였습니다. 감사합니다!!!

 

 

처음에 작성한 함수입니다..

지금보면 상황과도 맞지 않고 말이 안되는 함수같습니다.

 

 

 

반환형도 상황에 맞게 변경하고 매개변수도 변경하였습니다.

 

 

처음에 작성하였던 메인함수입니다.

Fah, Cel 이렇게 두개로 나눌필요가 없음에도 불구하고 변수가 두개였습니다.

컴파일이 되고 실행은 되었지만

제대로 된 값이 나오지 않았습니다.

int를 쓰기에는 부적절함에도 잘몰랐기 때문에 '일반적으로' 사용한다고 생각했던 int 형으로 모두 선언해 버렸습니다....

 

 

 

 

 

 

 

다음과 같이 조금 간결해지고 변수형도 적절하게 바꾸었습니다.

 

전체소스를 보면 이렇습니다.

 

 

 

결과를 보면 이런식으로 나옵니다.

 

이런식으로 자동으로 계산을해서 나옵니다.

 

<응용>

whlie문을 이용해서 소스를 조금 고쳐서 

프로그램을 실행시키면

무한 반복이 걸리며 입력을 계속 유도하면서 동시에 프로그램 종료도 가능하게 메인함수를 수정해보겠습니다. 

 

 

while문안에 소스들을 넣어서 무한반복하도록 하고

else if 함수를 하나 추가하여서  0을 입력하면 종료하도록 하였습니다.

 

 

 

다음과 같이 잘! 작동합니다.

 

제대로 알지 못했던부분을

(조금 오래 하긴했지만) 자투리시간을 이용해서 어느정도 익히게 되었습니다.

너무 기본적인 부분이라서 저 혼자만 몰랐던것 같습니다..ㅠㅠ

 

다시한번 김태현 선배님 감사합니다~~~~

 

 

이상입니다

 

 

 

728x90