C#을 활용하여 BMI 계산기를 만들어 보았다.
우선 BMI는 체중(kg)/키(m)으로 계산된다.
난 아직 C++밖에 배우지 않았기에
C++과 C#의 입출력의 차이점을 알아야 한다.
C++은 cin, cout으로 입출력을 하는 반면
C#은 Console.ReadLine(), Console.WriteLine()으로 입출력이 한다.
int age를 입력하려면
C++ 에선 cin >>age; 란 식을 사용했다.
C#에선 string s= Console.ReadLine() int age = int.Parse(s);란 식을 사용하는데
이때 int.Parse(s)는 변수 s를 정수로 번역해라 라는 말이다.
이렇게 하는 이유는 C#에선 모든 입력값을 string으로 받는다. 그렇기 때문에 입력값을 숫자로 변환시키기 위해서는 int.Parse(s), double.Parse() 등을 사용한다.
이 점들을 유의하면서 bmi 계산기를 만들기를 시작했다.
아직 어려운 C#으로 처음 시작하면 어려울 수 있으니 C++로 먼저 bmi 계산기를 만들었다.
비주얼 스튜디오의 C++의 콘솔 앱을 이용하여 만들거기에 새 프로젝트를 만들어준다.
키는 height를, 체중은 weight를 변수로 설정해 준다.
#include <iostream>
using namespace std;
int main()
{
int height, weight;
cout << "키(cm): ";
cin >> height;
cout << "체중(kg) :";
cin >> weight;
double bmi = weight / (height / 100.0 * height / 100.0);
cout << "bmi = " << bmi;
}
여기서 유의할 점은 우리는 키를 cm로 입력하나 원래 계산식에선 m로 되어 있으므로 100을 꼭 나누어주어야 한다.
위 코드를 디버그 하지 않고 시작(ctrl+F5)을 시켜주면 결과는 이렇게 나온다.
이제 C++로 BMI 계산기의 코드 짜는 법을 알았으니 C#으로 만들기 시작했다.
우린 이미 솔루션을 만들었기에 '솔루션 탐색기 검색'에서 해당 솔루션을 마우스 오른쪽 클릭하면 아래 화면이 나온다.
C++에서 콘솔 앱을 사용해 코드를 만들었으니 C#에서도 우선 콘솔 앱으로 코드를 만들었다.
코드를 짜기 시작하면 이렇게 나온다. C++과 어떤 점이 다른지 비교하기 위해 C++로 만든 코드를 다시 한번 언급했다.
#include <iostream>
using namespace std;
int main()
{
int height, weight;
cout << "키(cm): ";
cin >> height;
cout << "체중(kg) :";
cin >> weight;
double bmi = weight / (height / 100.0 * height / 100.0);
cout << "bmi = " << bmi;
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace bmiCS
{
class Program
{
static void Main(string[] args)
{
double weight, height;
Console.Write("키(cm): ");
height = double.Parse(Console.ReadLine());
Console.Write("체중(kg): ");
weight = double.Parse(Console.ReadLine());
double bmi = weight / (height / 100.0 * height / 100.0);
Console.WriteLine("bmi =" + bmi);
}
}
}
✔ C#에선 모든 입력값을 string으로 받기에 꼭 double.Parse()으로 변환하는 것이 눈에 보여야 한다.
✔ C#에서는 문자열+문자열=문자열, 문자열+숫자=문자열로 처리한다.
✔ 콘솔 창에 cw를 입력하고 tab을 두 번 연속 누르면 Console.WriteLine이 저절로 입력된다.
위 코드를 디버그 하지 않고 시작(ctrl+F5)을 시켜주면 결과는 이렇게 나온다.
C#에서도 콘솔 앱으로 코드를 만들었으니 이제 Windows Forms 앱(. NET Framework)으로 만들었다.
이렇게 창을 만들면 윈도우 창이 하나 뜨게 되는데 앱인벤터의 화면과 유사하다고 느꼈다.
왼쪽 측면에 도구 상자라는 것이 보이는데 그것을 클릭해 압정처럼 생긴 것이 세로로 세워지게(고정되게) 만든다.
만약에 왼쪽 측면에 없다면 위쪽 보기를 눌러 도구 상자를 찾아 클릭하면 된다.
도구 상자는 이렇게 생겼는데 난 이것 역시 앱인벤터에서 사용하던 것과 비슷하다고 느꼈다.
Lable 하나를 클릭해 윈도우 창에 올려두면 오른쪽 하단에 속성 창이 뜬다.
이것의 윗부분을 마우스로 끌고 와 윈도우 창에 옆에 두고 사용해도 문제없다.
위 사진을 자세히 보면 속성 밑에 label1이라고 쓰여 있는데 이것은 내가 가져온 레이블의 이름을 뜻한다.
이번엔 Text만 사용할 것인데 클릭하여 수정해주면 된다.
Label, TextBox, Button을 사용하여 만든 윈도우 창이다.
bmi계산이란 버튼 밑에 lable 하나를 넣는 것을 잊으면 안 된다.
위 사진까지 완성하고 디버깅을 시키면 아무것도 실행을 못 한다.... 당연하다....
여기에서 bmi계산기로 칭한 button1을 더블클릭하면 아래와 같은 화면이 보인다.
이제 button1_Click이라 쓰인 부분에 코드를 작성하면 된다.
double height = double.Parse(textBox1.Text)/100;
double weight = double.Parse(textBox2.Text);
double bmi = weight / (height * height);
label3.Text = "bmi = " + bmi.ToString();
✔ double height = double.Parse(textBox1.Text)/100; 에서 double.Parse(textBox1.Text)은 textbox1에 있는 text를 실수로 변환시킨다는 뜻이다.
✔ label3.Text = "bmi = " + bmi.ToString();는 label3의 text에 "bmi = "와 계산 결과를 나타낸다는 뜻이다.
위 코드를 디버그 하지 않고 시작(ctrl+F5)을 시켜주면 결과는 이렇게 나온다.
이렇게 C#으로 bmi 계산기 만들기를 끝낸다.
'C# > Basics' 카테고리의 다른 글
H001. 사칙연산 계산기 만들기 (0) | 2021.04.25 |
---|---|
F004. ScoreCalc (0) | 2021.04.14 |
W003. BMI계산기 (0) | 2021.04.14 |
F002. Login (0) | 2021.04.14 |
F001. Hello (0) | 2021.04.14 |