MFC 계산기 레포트
- 등록일 / 수정일
- 페이지 / 형식
- 자료평가
- 구매가격
- 2011.01.03 / 2019.12.24
- 9페이지 / (기타파일)
- 평가한 분이 없습니다. (구매금액의 3%지급)
- 4,900원
추천 연관자료
- 하고 싶은 말
- 프로그램 테스트는 물론, 이해할 수 있는 소스코드 해설도 같이 첨부해놓았습니다. 많은 도움 되시길 바랍니다.
- 본문내용
-
진짜 제대로 된 MFC 계산기 입니다.
Source는 물론 상세 설명파일까지 있어, 쉽게 이해할 수 있고 응용도 쉽게 할 수 있습니다.
--
Dialog기반 MFC 프로그램으로 만드는 계산기이다.
FilenameDlg라는 클래스의 멤버 변수로 다음과 같은 변수들을 작성한다.
FilenameDlg.h라는 헤더 파일안에 자동으로 정의된다.
enum OperType {none, plus, minus, multiply, divide};
OperType m_eOperator; //연산자의 종류를 나타내는 변수
enum ButtonType {digit, oper};
ButtonType m_eDigitOrOper; //눌려진 버튼이 숫자인지 연산자인지 나타내는 변수
void GetOperators(OperType); //연산자 입력
void GetNumbers(char); //숫자 입력
double m_Tol; //나눗셈할때 너무 작은 숫자로 나누는지 알기 위해
double m_Result; //결과값
CString m_Edit; //화면 edit box에 읽고 쓰기 위한 변수
실제로 활용은 FilenameDlg.cpp안에 작성하면 된다.
Edit box의 변수를 m_Edit로 정의하였다. 화면 상의 edit box에 쓴 내용은 UpdateData()를 호출하면 변수값이 갱신된다.
UpdateData(False)를 호출하면 m_Edit 변수의 내용이 화면 상에 씌여진다.
계산을 수행하기 위한 함수를 하나씩 살표보자.
숫자 버튼을 눌렀을 때 동작하는 함수이다
아래에서 하나씩 자세히 살펴보자.
void CCalc_V1Dlg::OnButtonEqual()
{
// TODO: Add your control notification handler code here
try { // 나눗셈 error 발생 시, 처리 위해서, error message를 throw한다
double denominator=1;
if (m_eDigitOrOper == digit) { //방금 눌려진 버튼이 숫자인 경우
//연산자가 이중으로 눌려진 경우 skip 하기 위해서이다
switch (m_eOperator)
{
case plus: // plus 연산
m_Result += atof(m_Edit);
break;
자료평가
-
아직 평가한 내용이 없습니다.