티스토리 뷰

글로벌 환경에서 일을 하다 보면 국제표준 단위와 피트/야드 단위로 정보를 나타내야 할 일이 생길 것이다. 물론 어느 시점에 도량형을 변환해야 가장 정확한 값을 구할 수 있는지도 알아야 할 것이다. 방의 면적을 계산하는 프로그램을 작성하라. 방의 길이와 폭을 피트 단위로 입력 받은 다음 제곱피트와 제곱미터로 면적을 나타내보자.

#출력 예 What is the length of the room in feet? 15

What is the width of the room in feet? 20

You entered dimensions of 15 feet by 20 feet

The area is

300 square feet

27.871 square meters

제곱피트에서 제곱미터로 변환하는 식은 다음에서 찾을 수 있다.

http://www.endmemo.com/sconvert/m2ft2.php

#제약 조건

  • 출력문과 계산부분을 분리할 것
  • 상수를 사용하여 변환 상수를 저장할 것

#도전 과제

  • 입력 값으로 숫자만 받을 수 있도록 프로그램을 수정해보자. 숫자가 입력될 때까지 진행되지 않도록 하라.
  • 입력 값이 피트 단위인지 미터 단위인지를 선택하는 새로운 버전을 만들어 보자.
  • 이 프로그램을 GUI 버전으로 구현하여 입력 값이 변경되는 즉시 바로 결과가 업데이트되도록 하라.






My code


using System;
using System.Windows.Forms;
 
namespace Exam._7
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            cbDimension.SelectedIndex = 0;
        }
 
        // 콤보박스, 입력 텍스트박스의 값이 바뀔 때 결과 바로 업데이트
        private void cbDimension_SelectedIndexChanged(object sender, EventArgs e)
        {
            double calc = double.Parse(txtLength.Text) * double.Parse(txtWidth.Text);
            double calcmeter = calc / 10.76;
            double calcfeet = calc * 10.76;
 
// 입력단위가 feet일 때
            if (cbDimension.Text == "feet")
            {
                lblA.Text = calc + " square feet";
                lblB.Text = calcmeter + " square meters";
            }
            else // 입력단위가 meter일 때
            {
                lblA.Text = calc + " square meters";
                lblB.Text = calcfeet + " square feet";
            }
        }
 
        private void txt_KeyPress(object sender, KeyPressEventArgs e)
        {
            // 숫자와 소수점, 백스페이스만 입력되도록 필터링
            if (!(char.IsDigit(e.KeyChar) || e.KeyChar == Convert.ToChar(Keys.Back) || e.KeyChar == 46))
            {
                e.Handled = true;
            }
        }
    }
}
 
cs





Result





댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글