[프로그래밍] [C언어]함수를 이용한 식단의 영양계산 프로그램
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2007.04.29 / 2019.12.24
- 4페이지 / zip (압축파일)
- 평가한 분이 없습니다. (구매금액의 3%지급)
- 800원
추천 연관자료
- 하고 싶은 말
- 함수를 이용한 칼로리계산 프로그램
- 본문내용
-
(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) 플로우 차트의 작성
위 알고리즘을 플로우 차트로 나타내면 아래와 같다.
자료평가
-
아직 평가한 내용이 없습니다.
오늘 본 자료
더보기
최근 판매 자료
- 전공면접, 전공 PT 면접 대비 - 기계공학과 전공 면접 기출 질문 모음(건설, 엔지니어링 등)
- [공학]토질공식
- 화학실험보고서 - 이산화탄소의 분자량
- 정보통신학개론_현재 스마트폰은 컴퓨터와 전화기의 기능이 융복합화된 IT기술의 총화라고 할 수 있습니다 본인이 가지고 있는 (관심있는) 스마트폰을 먼저 선정한 후 그 스마트폰의 사양과 특징 그리고 사용된 기술들에 대해 공부하고 조사정리한 내용을 제출하면 됩니다
- [일반화학실험보고서] 일반화학실험보고서-이산화탄소분자량
- 철근 인장강도 실험 결과 및 분석
- 토목지질학 - 암석의 분류에 대해서
- [일반물리학실험1] 운동량 보존 법칙
- 도시설계 정리 해설
- 진동공학/중간고사/족보(2016)/금오공대(금오공과대학교)/기계공학과
저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객센터에 신고해 주시기 바랍니다.