카테고리 없음

1주차 (C,Cpp과 C#의 차이점, BMI계산기, C# 입출력)

이승형 2023. 3. 16. 17:39

우선 C와 Cpp는 class가 있느냐 없느냐에 따라서 나뉘어 지고 

C++ 객체지향 프로그래밍이다.

c언어는 가장 기본이 되는 언어이고, 빠르다

c++은 아두이노에 최적화 되어 있으며 빠르고 작지만 매우 어렵다. 

실행파일이 적고 하드웨어에서 잘돌아간다

또한 C#은 C와 비슷한 문법 루트이지만 .NET과 결합을 한 상태이며 

C++에 비해 유연하지 않고 많은 시간과 노력이 필요하다 

유니티라는 프로그램은 게임제작에 쓰이는데 여기서 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#의 입출력은

맨위에 두 줄은 왼쪽부터 C / C++ / C#으로 나누어 진것이며 

위쪽이 입력할때 쓰는것이고, 아래쪽이 출력할때 쓰는것이다 .

여기서  Console.ReadLine(),Console.WriteLine() 이

C#에 입력과 출력을 담당한다. 

또한 형 변화의 경우 double = double.Parse(string) parse를 사용하여

한다는 것을 기억해놓자.