[프로그래밍] [C언어]함수를 이용한 식단의 영양계산 프로그램

이미지
준비중입니다.
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[프로그래밍] [C언어]함수를 이용한 식단의 영양계산 프로그램에 대한 자료입니다.
본문내용
(1) 프로그램 설명
연습문제 7.6은 식단의 내용을 입력 받아 각 영양을 계산하는 프로그램을 작성하는 것으로서, 칼로리 계산을 통한 식단의 영양을 알아본다.

(2) 문제해결 접근 방식
1) 식단의 영양 정의 문제
각 식단의 영양을 계산하기 위해서는 그 기준이되는 정의가 필요하다. 여기서 각 정의들은 모든 함수에서 공통하여 쓰이게 될 것이다. 따라서 전역 변수로 선언을 할 수도 있지만, 전처리 명령어를 사용한다면 더 간단하게 코드를 작성할 수 있을 것이다. 따라서 define을 이용한 칼로리를 정의한다. 각 식단은 무한정으로 정의 할 수 없으므로 pizza, hamburger, meat, rice, fruit으로 제한한다.

2) 식단 계산 및 식단 입력 문제
영양 계산을 위해서는 식단을 알아야 하는데, 식단을 문자열로 입력 받을 수는 없으므로 메뉴를 만들어 그 중에 고르는 방식으로 구현해야 할 것이다. 이를 위해 앞서 정의한 식단들을 메뉴로 구성하고 선택 변수를 설정하여 0을 입력 할 때까지 식단을 선택할 수 있도록 해준다. 식단을 선택하면 calorie 변수에 계속하여 정의된 칼로리를 더해주는데, 이 계산은 함수를 통해 할 것이다. 함수는 항상 이전에 계산된 결과를 저장해야 총 칼로리를 계산할 수 있으므로 더해주는 변수는 static으로 정의 한다면 유용할 것이다.

(3) 알고리즘 구현
1) 간략한 알고리즘
위 제시된 문제점을 중심으로 알고리즘을 구현하면, 우선적으로 식단의 영양을 정의해야 한다. 여기서는 pizza == 2000, hamburger == 1500, meat == 1000, rice == 500, fruit == 100으로 사전 정의해준다. 프로그램은 각 식단을 계속하여 입력 받으면서 함수를 이용하여 칼로리를 계산할 것이다. 따라서 if-else문을 이용하여 입력된 내용이 어떠한 음식에 해당하는지를 검토하고 해당하는 칼로리를 변수에 더해주면 된다. 이러한 내용을 간단히 표현하면 아래와 같다.

ⅰ. 식단은 영양을 정의한다.
ⅱ. 식단의 내용을 입력 받는다.
ⅲ. pizza를 입력한 경우 2000을 더하고 ⅱ로 돌아간다.
ⅳ. hamburger를 입력한 경우 1500을 더하고 ⅱ로 돌아간다.
ⅴ. meat을 입력한 경우 1000을 더하고 ⅱ로 돌아간다.
ⅵ. rice를 입력한 경우 500을 더하고 ⅱ로 돌아간다.
ⅶ. fruit을 입력한 경우 100을 더하고 ⅱ로 돌아간다.
ⅷ. 0을 입력한 경우 총 칼로리를 출력하고 프로그램을 종료한다.


2) 플로우 차트의 작성
위 알고리즘을 플로우 차트로 나타내면 아래와 같다.
하고 싶은 말
함수를 이용한 칼로리계산 프로그램