티스토리 뷰
======================================================
안녕하세요 Doridori 입니다.
간만의 휴가를 알차게 보내고 다음 프로젝트를 준비 하고 있습니다.
가족들과 본가도 다녀오고, 부산도 다녀오고, 그 동안 가보고 싶었던 장소도 다녀왔습니다.
뭔가 미묘하게 짧은 듯 하지만 또 열심히 달려 봐야 하지 않을까 싶네요.
다음주 부터 바로 프로젝트 시작인데 이번에도 출장을 가게 되어 적응 할 때 까지는 또 뭘 준비하기 쉽지 않을 듯 합니다.
이번에 자격증도 한번 공부 해 볼까 싶어서 정리가 되야 다시 돌아올듯 하네요.
쉬었으니 빡시게 움직여 보도록 하겠습니다.
모두 화이팅 하십시오!!
======================================================
68. 프로그램 개발 하기 (실습)
Source UI) (이번 강의는 처음부터 다 만들었기 때문에 별도 UI가 없습니다.)
Soruce 전체)
교재)
지난번 "도리도리 하고 싶은거 다해" 쪽에 올려 놓은 "11. 프로그램 어떻게 만들지? (프로그램 개발 순서)"에 대한 실습 강의 입니다.
2023.05.03 - [C#/도리도리 하고 싶은거 다해] - Doridori 하고싶은거다해) 11. 프로그램 어떻게 만들지? (프로그램 개발 순서)
목업까지 진행 하였으니 이제 실제 개발을 해봐야 할텐데 저 같은 경우는 어떤 식으로 개발 하는지 제가 만드는 순서에 따라 실제로 만들어 보면서 눈에 보이도록 구성 해봤습니다.
이 내용 부터 보신분은 길지 않은 내용이니 사전 내용을 미리 보고 오시면 이해가 편하실 듯 합니다.
중요 내용의 경우 지난번 도리도리 하고 싶은거 다해 쪽에 올렸기 때문에 ppt 같은 경우 이번 강의에 대해서는 UI 관련 된 부분만 있다고 보시면 될듯 합니다.
강의)
Source)
처음부터 끝까지 다 만들기 때문에 아주 간단한 예제 프로그램을 만들었습니다.
덕분에 소스코드도 복잡하지 않고 짧습니다.
한번 따라해보시면서 점점 더 살을 붙여 나가는 방법을 연습해 보시면 좋을 듯 합니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace BMI_Calculator
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/// <summary>
/// Button Click Event
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnCal_Click(object sender, EventArgs e)
{
try
{
// BMI = 몸무게(kg) / {키(m) * 키(m)}
// 1.값을 입력 받아서 BMI를 계산
double dCM = double.Parse(tboxCM.Text) / 100; // 미터 변환
double dKG = double.Parse(tboxKG.Text);
// textBox 입력 값에 대한 Interlock (tryParse 정도 사용 하면 될듯)
double dRet = fBMICal(dCM, dKG);
// 2. BMI 수치를 가지고 Trackbar를 이동
int iRet = (int)(dRet * 10); // tbar 소수점 이동이 되지않아 자리수를 10배로 지정
// tbar 수치 기준이 150 ~ 280 임으로 Interlock 추가
if (iRet < 150)
{
iRet = 150;
}
else if (280 < iRet)
{
iRet = 280;
}
tbarRet.Value = iRet;
// 3. 문자형태로 결과를 표시
string strRet = CalResult(dRet);
lblRet.Text = $"※ BMI 지수 [{dRet}]로 비만도 결과 [{strRet}] 입니다.";
}
catch (Exception ex)
{
lblRet.Text = ex.ToString();
}
}
/// <summary>
/// bmi 계산
/// </summary>
/// <param name="dCM">키(cm)</param>
/// <param name="dKG">몸무게(kg)</param>
/// <returns></returns>
private double fBMICal(double dCM, double dKG)
{
// BMI = 몸무게(kg) / {키(m) * 키(m)}
//double dCM = double.Parse("171.2") / 100; // 미터 변환
//double dKG = double.Parse("63.8");
double dRet = dKG / (dCM * dCM);
return Math.Round(dRet, 1); // 소수점 1자리만 return
}
/// <summary>
/// BMI 결과 값 return
/// </summary>
/// <param name="dRet">BMI 값</param>
/// <returns></returns>
private string CalResult(double dRet)
{
string strRet = string.Empty;
if (dRet < 18.5)
{
strRet = "저체중";
}
else if (18.5 <= dRet && dRet < 23)
{
strRet = "정상";
}
else if (23 <= dRet && dRet < 25)
{
strRet = "과체중";
}
else if (25 <= dRet)
{
strRet = "비만";
}
return strRet;
}
}
}
|
cs |
'C# > C# 강좌 Winform' 카테고리의 다른 글
Doridori C# 강의 3) 70. Rest API (Client Program) (0) | 2023.10.29 |
---|---|
Doridori C# 강의 3) 69. Rest API (Server Program) (10) | 2023.10.20 |
Doridori C# 강의 3) 67. 인쇄 (PrintDocument) (7) | 2023.04.02 |
Doridori C# 강의 3) 66. Software Design Pattern MVP (feat.MVC) (4) | 2023.01.28 |
Doridori C# 강의 3) 65. Logging (log4net) (0) | 2022.11.24 |
- Total
- Today
- Yesterday
- 위스키
- 증류주
- C# 강좌
- WinForm
- 와인
- C#
- 주말
- 막걸리
- 서울
- 하이볼
- 전통주
- 도리도리 C#
- 맛집
- 아이랑
- 프로그램 강의
- 게임
- 모바일
- 칵테일
- 술
- 가볼만한곳
- 나들이
- 소주
- C# 강의
- Visual Studio
- 가볼만한 곳
- 보드카
- 광저우
- C# 기초 강의
- 맥주
- 도리도리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |