카테고리 없음

C#) BMI계산기 만들기

1vdlrwnsv1 2025. 1. 31. 15:16

스파르타코딩 국비지원 중 과제에 BMI 계산기 만들기가 있었다 switch문을 활용하여 만들어보자

일단 BMI계산 공식을 알아보자

BMI(체질량지수)는 체중(kg)을 키(m)의 제곱으로 나눈 값으로, BMI = 체중(kg) / 신장(m)²로 계산합니다. 
 
BMI를 이용해 비만도를 판단할 수 있습니다. BMI의 범위와 체중 상태는 다음과 같습니다. 
 
  • 18.4 이하: 저체중
  • 18.5~24.9: 정상
  • 25~29.9: 과체중
  • 30~34.9: 비만
  • 35~39.9: 고도비만

그럼 만들어보자

일단 이름, 체중, 키를 입력받는 코드 작성 보통 키는 Cm로 말하니 100으로 나눠 M단위로 변경, 입력받은 값을 통해 Bmi 계산 공식

WriteLine 사용해서 출력

Console.WriteLine("이름 : ");
string name = Console.ReadLine();

Console.WriteLine("체중(Kg) : ");
double weight = double.Parse(Console.ReadLine());

Console.WriteLine("키(Cm) : ");
double height = double.Parse(Console.ReadLine()) / 100;

double bmi = weight / (height * height);

 Console.WriteLine($"{name}님의 Bmi는 {bmi}입니다");

잘 되나 확인해보자

 

소수점이 화면을 뚫을 기세다 소수점 두 자리까지만 나오게 변경하자 콘솔 출력 코드 bmi 변수 뒤에 :F2만 추가하면 된다

F2는 소수점 두 자리까지만 출력하겠다는 뜻 

Console.WriteLine("이름 : ");
string name = Console.ReadLine();

Console.WriteLine("체중(Kg) : ");
double weight = double.Parse(Console.ReadLine());

Console.WriteLine("키(Cm) : ");
double height = double.Parse(Console.ReadLine()) / 100;

double bmi = weight / (height * height);

 Console.WriteLine($"{name}님의 Bmi는 {bmi:F2}입니다");

다시 확인해 보자

완벽하다

이제 비만 상태 체크를 swich문을 통해 구현해보자

 

  • 18.4 이하: 저체중
  • 18.5~24.9: 정상
  • 25~29.9: 과체중
  • 30~34.9: 비만
  • 35~39.9: 고도비만
 Console.WriteLine("이름 : ");
        string name = Console.ReadLine();

        Console.WriteLine("체중(Kg) : ");
        double weight = double.Parse(Console.ReadLine());

        Console.WriteLine("키(Cm) : ");
        double height = double.Parse(Console.ReadLine()) / 100;

        double bmi = weight / (height * height);

        string[] bmicheck = { "마름 ", "정상", "과체중", "비만", "극혐 씹돼짗" };

        string status = bmi switch
        {
            <= 18.4 => bmicheck[0], // 마름
            >= 18.5 and <= 24.9 => bmicheck[1], // 정상
            >= 25 and <= 29.9 => bmicheck[2], // 과체중
            >= 30 and <= 34.9 => bmicheck[3], // 비만
            _ => bmicheck[4] // 씹돼지
        };
        Console.WriteLine($"{name}님의 Bmi는 {bmi:F2}, {status}입니다");

출력 결과

오타 수정 귀찮아서 안했다. 어쨌든 잘 된다 good

bmi는 근육량을 계산하지 않은 부정확한 지표이므로 맹신은 하지말자