본문 바로가기
카테고리 없음

(예제) C언어로 나만의 맞춤형 다이어트 관리 프로그램 만들기

by heydayz 2024. 8. 20.

C언어로 나만의 맞춤형 다이어트 관리 프로그램 만들기 시뮬레이션

이번 예제는 개인의 체중, 키, 성별, 목표 체중 등을 입력받아, 하루 섭취 칼로리와 운동량을 제시하고, 매일 식단과 운동 기록을 관리하는 간단한 다이어트 관리 프로그램을 시뮬레이션하려고 합니다. 해당 프로그램을 시뮬레이션하려면 개인정보를 사용자를 통해 입력받아야 하며 하루 섭취 칼로리를 계산하여 간단한 기초대사량을 활용하여 칼로리를 계산해야 할 것으로 보입니다. 칼로리 정보를 받기 위한 사이트도 피요할 것으로 보이며 나아가 이미지만 보고 칼로리를 측정하는 프로그램으로 활용가능합니다.

필요한 라이브러리는 아래와 같다.
<stdio.h>: 표준 입출력 라이브러리
<string.h>: 문자열 처리 라이브러리

코드 구현

#include <stdio.h>  
#include <string.h>

struct Person {  
char name\[50\];  
int age;  
char gender;  
float height;  
float weight;  
float targetWeight;  
int dailyCalorie;  
};

int main() {  
struct Person user;

```
// 개인 정보 입력
printf("이름: ");
scanf("%s", user.name);
// ... 나머지 정보 입력 ...

// 하루 섭취 칼로리 계산 (예시: 간단한 BMR 계산)
if (user.gender == 'M') {
    user.dailyCalorie = (int)(10 * user.weight + 6.25 * user.height * 100 - 5 * user.age + 5);
} else {
    user.dailyCalorie = (int)(10 * user.weight + 6.25 * user.height * 100 - 5 * user.age - 161);
}

// 목표 체중에 따라 칼로리 조절
if (user.weight > user.targetWeight) {
    user.dailyCalorie -= 500; // 하루 500칼로리 감소
} else if (user.weight < user.targetWeight) {
    user.dailyCalorie += 500; // 하루 500칼로리 증가
}

printf("%s님의 하루 섭취 칼로리는 %d kcal 입니다.\n", user.name, user.dailyCalorie);

// 매일 식단 및 운동 기록 (예시: 파일 입출력)
// ... 파일 입출력 코드 ...

return 0;
```

}

struct Person {
char name[50];
int age;
char gender;
float height;
float weight;
float targetWeight;
int dailyCalorie;
};

Person 구조체: 개인의 정보(이름, 나이, 성별, 키, 현재 체중, 목표 체중, 하루 섭취 칼로리)를 저장합니다.

코드 설명

우선 사용자의 개인 정보를 저장할 수 있는 구조체를 만들어야 합니다. 구조체는 여러 종류의 데이터를 하나의 묶음으로 다룰 수 있게 해주는 C++의 기능입니다.예를 들어, Person이라는 이름의 구조체를 만들어 사용자의 이름, 나이, 키, 몸무게 등을 저장할 수 있습니다. 사용자 정보 입력 받는 방법은 만든 구조체에 사용자로부터 직접 정보를 입력받아 저장합니다. C++에서는 cin을 사용하여 사용자 입력을 받을 수 있습니다. 하루섭취칼로리를 계산하기 위해서는 사용자의 기초대사량(BMR)을 계산하여 하루에 필요한 칼로리를 추정합니다. BMR은 개인이 가만히 누워 있을 때 소모하는 에너지량입니다. 또한 목표체중 칼로리 조절은 사용자가 목표로 하는 체중에 따라 하루 섭취 칼로리를 조절합니다. 계산된 칼로리를 출력하여 매일 섭취한 음식과 운동한 내용을 파일이나 데이터베이스에 저장하여 관리합니다.
추가적으로 다양한 BMR 공식 지원이 가능합니다. Mifflin-St Jeor, Katch-McArdle 등 다양한 BMR 계산 공식을 추가하여 정확도를 높일 수 있습니다. 그리고 운동량 계산도 확장할 수 있습니다. 운동 종류, 시간, 강도 등을 입력받아 소모 칼로리를 계산합니다.식단 관리 기능을 통해 식품별 칼로리 데이터베이스를 구축하여 식단 입력을 편리하게 합니다.