본문 바로가기

공부/MFC

계산기 만들기 프로젝트 - 일단 완료

6. C버튼 처리를 넣어준다.


void CCALCDlg::OnBnClickedClear()
{
mS = "";//초기화
m_sub = 0;
UpdateData(false);//변경된 변수값을 화면에 적용.
}

//화면내용 나타내주는 변수를 초기화 하고 변경된 값을 화면 출력으로 보냄.
//저장된 다른 앞의 항도 초기화해줌. 


7. 

4개의 사칙연산에 따른 코드 작성.

 

void CCALCDlg::OnBnClickedPlus()
{

m_sub = _tstoi(mS);
m_Newsub = 1;
mS = "";
UpdateData(false);

}

void CCALCDlg::OnBnClickedMinus()
{

m_sub = _tstoi(mS);
m_Newsub = 2;
mS = "";
UpdateData(false);
}
 
= 연산에서 처리하기 위해 각 버튼마다 int값의 표시를 만듬.


8.  

= 버튼의 코드를 작성



void CCALCDlg::OnBnClickedEq()
{
// TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.

CString exx;
int dab;


switch(m_Newsub)
{
case 1://덧셈
dab = m_sub + _tstoi(mS);

exx.Format(_T("%d"), dab);
mS = exx;

UpdateData(false);
m_sub = _tstoi(mS);
break;


case 2://뺄셈
dab = m_sub - _tstoi(mS);
exx.Format(_T("%d"), dab);
mS = exx;

UpdateData(false);
m_sub = _tstoi(mS);
break;
case 3://곱셈
dab = m_sub * _tstoi(mS);
exx.Format(_T("%d"), dab);
mS = exx;

UpdateData(false);
m_sub = _tstoi(mS);
break;
case 4://나눗셈
dab = m_sub / _tstoi(mS);
exx.Format(_T("%d"), dab);
mS = exx;
UpdateData(false);
m_sub = _tstoi(mS);
break;
}


}


////////////////

까지 하면 사칙연산을 간단하게 할 수 있는 계산기가 완성됩니다.

오오 계산기 오오.

 /////////////////////

하지만 이렇게 짜게되면 버튼입력으로 한 내용만. 계산이 가능한 뭔가 모자란 계산기가 된다.

이를 방지하려면 4칙연산과 = 버튼의 처리 시 UpdateData(true); 를 제일 위에 위치시켜주어

에디트 박스에 있는 값을 mS값에 입력시켜주면

잘 작동하게 된다.

////////////////////////




코드파일 업로드.