연습문제 (1)

단국대학교 멀티미디어공학전공 HCI프로그래밍 II (2011년 가을학기) 연습

□ 단원 : C# 기초

□ 목표 : C# 프로그램 기초

□ 주요 연습 내용 : Visual Studio 2010, C# 입출력, 변수, 메소드, 제어문 사용 연습

□ 준비자료 : StandardWeightCalculator.cs

연습문제 Ex1 (Due by 9/30 금 24시까지)

-cyber 강의실 (cyber.dku.edu)로 source code, executable file, solution/project VC# file, 보고서를 학번_이름_Ex1.zip으로 묶어서 낼 것. 보고서 (30%)

[연습문제]

0. Visual C# Console Application의 프로젝트를 생성한다.

1. BMI(Body Mass Index) 방식의 표준체중계산기 프로그램 StandardWeightCalculator 클래스를 작성하라.  (30%)

- enum Gender { Female, Male };를 사용

- enum BMI { Underweight, Normal, Overweight, Obesity };를 사용

- void GetKeyboardInput() 함수는 키보드로 신장, 체중, 성별을 입력받아서 처리

+ 힌트: while 문을 사용하여 남/여 혹은 M/F가 아닌 경우 다시 입력을 받음

+ 힌트: Console.ReadLine() 함수는 string을 반환하므로, float로 변환하기 위하여

Parse 함수 사용 => floatValue = (float)double.Parse(string)

+ 힌트: TryParse 함수는 string을 double로 변환이 가능하면, out 매개변수로 변환된

값을 전달해 주고, true boolean 값을 반환  => boolValue = double.TryParse(string, out doubleValue)

- Gender GetGenderFromString(string str) 메소드는 Female/Male 중에 하나를 반환

- static float GetNormalWeight(float height, Gender gender) 메소드는 표준체중 값을 계산하여 반환

// 남자표준체중 = 신장(m) x 신장(m) x 22

// 여자표준체중 = 신장(m) x 신장(m) x 21

- BMI GetBMI(float height, float weight) 메소드는 Underweight /Normal/ Overweight/ Obesity 중에 하나를 반환

// BMI = 체중(kg)/신장^2(m^2)

// 20 미만 저체중 (Underweight)

// 20~24 정상 (Normal)

// 25~29 과체중 (Overweight)

// 30 이상 비만 (Obesity)

- void Print() 메소드는 개인의 표준체중과 비만도를 화면에 출력

2. Main 함수에서는 StandardWeightCalculator 객체를 생성하고 키보드 입력으로 키(cm),  몸무게(kg), 성별(남/녀)를 입력받아서, 표준체중, 비만도를 출력하는 routine 등을 추가한다. (20%)

- do..while 문을 사용하여 다른 사람을 하려면 다시 처음으로 돌아갈 수 있도록 함

3. Main 함수에서 본인이 더 테스트해보고 싶은 StandardWeightCalculator 클래스의 Method나 routine을 추가하라. (20%)

- 예를 들어, 복부비만=허리둘레(cm)/ 엉덩이둘레(cm)

결과 값이 0.7~0.8cm는 정상, 0.8~0.9cm는 위험, 0.9cm 이상은 심각