📄 jisuanqidlg.cpp
字号:
// jisuanqiDlg.cpp : implementation file
//
#include "stdafx.h"
#include "jisuanqi.h"
#include "jisuanqiDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
int math_i;
double count=10;
char buffer[10];
double input_int=0,input_dec=0;
double input1=0,input2=0;
double value=0;
bool decimal=FALSE;
/////////////////////////////////////////////////////////////////////////////
// CJisuanqiDlg dialog
CJisuanqiDlg::CJisuanqiDlg(CWnd* pParent /*=NULL*/)
: CDialog(CJisuanqiDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CJisuanqiDlg)
m_ResultEdit = _T("");
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CJisuanqiDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CJisuanqiDlg)
DDX_Control(pDX, IDC_OPERATOR_LIST, m_Operatorbox);
DDX_Text(pDX, IDC_RESULT_EDIT, m_ResultEdit);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CJisuanqiDlg, CDialog)
//{{AFX_MSG_MAP(CJisuanqiDlg)
ON_BN_CLICKED(IDC_1_BUTTON, On1Button)
ON_BN_CLICKED(IDC_2_BUTTON, On2Button)
ON_BN_CLICKED(IDC_3_BUTTON, On3Button)
ON_BN_CLICKED(IDC_4_BUTTON, On4Button)
ON_BN_CLICKED(IDC_5_BUTTON, On5Button)
ON_BN_CLICKED(IDC_6_BUTTON, On6Button)
ON_BN_CLICKED(IDC_7_BUTTON, On7Button)
ON_BN_CLICKED(IDC_8_BUTTON, On8Button)
ON_BN_CLICKED(IDC_9_BUTTON, On9Button)
ON_BN_CLICKED(IDC_0_BUTTON, On0Button)
ON_BN_CLICKED(IDC_DECIMAL_BUTTON, OnDecimalButton)
ON_BN_CLICKED(IDC_EQUUAL_BUTTON, OnEquualButton)
ON_LBN_SELCHANGE(IDC_OPERATOR_LIST, OnSelchangeOperatorList)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CJisuanqiDlg message handlers
BOOL CJisuanqiDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CenterWindow(GetDesktopWindow()); // center to the hpc screen
// TODO: Add extra initialization here
CString str;
str.Format(_T("加"));
m_Operatorbox.AddString(str);
str.Format(_T("减"));
m_Operatorbox.AddString(str);
str.Format(_T("乘"));
m_Operatorbox.AddString(str);
str.Format(_T("除"));
m_Operatorbox.AddString(str);
return TRUE; // return TRUE unless you set the focus to a control
}
void CJisuanqiDlg::On1Button()
{
if(decimal)
{
input_dec=input_dec+1/count;
count=count*10;
}
else input_int=input_int*10+1;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On2Button()
{
// TODO: Add your control notification handler code here
if(decimal)
{
input_dec=input_dec+2/count;
count=count*10;
}
else input_int=input_int*10+2;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On3Button()
{
if(decimal)
{
input_dec=input_dec+3/count;
count=count*10;
}
else input_int=input_int*10+3;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On4Button()
{
if(decimal)
{
input_dec=input_dec+4/count;
count=count*10;
}
else input_int=input_int*10+4;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On5Button()
{
if(decimal)
{
input_dec=input_dec+5/count;
count=count*10;
}
else input_int=input_int*10+5;
value=input_int+input_dec;
//
// wcscpy(m_ResultEdit,LPCTSTR(buffer));
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On6Button()
{
if(decimal)
{
input_dec=input_dec+6/count;
count=count*10;
}
else input_int=input_int*10+6;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On7Button()
{
if(decimal)
{
input_dec=input_dec+7/count;
count=count*10;
}
else input_int=input_int*10+7;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On8Button()
{
if(decimal)
{
input_dec=input_dec+8/count;
count=count*10;
}
else input_int=input_int*10+8;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On9Button()
{
if(decimal)
{
input_dec=input_dec+9/count;
count=count*10;
}
else input_int=input_int*10+9;
value=input_int+input_dec;
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::On0Button()
{
if(decimal)
{
input_dec=input_dec+0/count;
count=count*10;
}
else input_int=input_int*10+0;
value=input_int+input_dec;
//
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::OnDecimalButton()
{
decimal=TRUE;
}
//DEL void CJisuanqiDlg::OnSelchangeList()
//DEL {
//DEL // TODO: Add your control notification handler code here
//DEL input1=input_int+input_dec;
//DEL decimal=FALSE;
//DEL input_int=0;
//DEL input_dec=0;
//DEL count=10;
//DEL math_i=m_Operatorbox.GetCurSel();
//DEL }
void CJisuanqiDlg::OnEquualButton()
{
// TODO: Add your control notification handler code here
input2=input_int+input_dec;
decimal=FALSE;
input_int=0;
input_dec;
count=10;
switch(math_i){
case 0:
value=input1+input2;
break;
case 1:
value=input1-input2;
break;
case 2:
value=input1*input2;
break;
case 3:
value=input1/input2;
break;
}
m_ResultEdit.Format(_T("%f"),value);
UpdateData(FALSE);
}
void CJisuanqiDlg::OnSelchangeOperatorList()
{
// TODO: Add your control notification handler code here
input1=input_int+input_dec;
decimal=FALSE;
input_int=0;
input_dec=0;
count=10;
math_i=m_Operatorbox.GetCurSel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -