-------------------------------------------------------------------------MAIN.h------------------------------------------------------------------------------------------
#ifndef _MAIN_H
#define _MAIN_H
#define _MAIN_H
#include <windows.h>
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void Main_OnClose(HWND hwnd);
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam);
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify);
void Main_OnClose(HWND hwnd);
#endif
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------resource.h--------------------------------------------------------------------------------------
#define IDD_MAIN 101
#define IDR_DEFAULT1 103
#define IDI_ICON1 115
#define IDC_OK 1000
#define IDC_DSC 1005
#define IDC_D7 1007
#define IDC_DE 1009
#define IDC_D0 1010
#define IDC_DSC2 1012
#define IDC_D8 1016
#define IDC_D9 1017
#define IDC_DD 1018
#define IDC_DSU 1019
#define IDC_D4 1020
#define IDC_D5 1021
#define IDC_D6 1022
#define IDC_DM 1023
#define IDC_DP1X 1024
#define IDC_D1 1025
#define IDC_D2 1026
#define IDC_D3 1027
#define IDC_DS 1028
#define IDC_DP 1030
#define IDC_DA 1031
#define IDC_DPB 1037
#define IDC_DPCE 1038
#define IDC_DPC 1039
#define IDC_DPAS 1040
#define IDC_DPR 1041
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 116
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1013
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
#define IDR_DEFAULT1 103
#define IDI_ICON1 115
#define IDC_OK 1000
#define IDC_DSC 1005
#define IDC_D7 1007
#define IDC_DE 1009
#define IDC_D0 1010
#define IDC_DSC2 1012
#define IDC_D8 1016
#define IDC_D9 1017
#define IDC_DD 1018
#define IDC_DSU 1019
#define IDC_D4 1020
#define IDC_D5 1021
#define IDC_D6 1022
#define IDC_DM 1023
#define IDC_DP1X 1024
#define IDC_D1 1025
#define IDC_D2 1026
#define IDC_D3 1027
#define IDC_DS 1028
#define IDC_DP 1030
#define IDC_DA 1031
#define IDC_DPB 1037
#define IDC_DPCE 1038
#define IDC_DPC 1039
#define IDC_DPAS 1040
#define IDC_DPR 1041
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 116
#define _APS_NEXT_COMMAND_VALUE 40001
#define _APS_NEXT_CONTROL_VALUE 1013
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------Stdafx.h-----------------------------------------------------------------------------------------
#define _WIN32_WINNT 0x0501
#define _WIN32_IE 0x0600
#define WINVER 0x0501
#define _WIN32_IE 0x0600
#define WINVER 0x0501
#if !defined(AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_)
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
#define AFX_STDAFX_H__A9DB83DB_A9FD_11D0_BFD1_444553540000__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------Stdafx.cpp--------------------------------------------------------------------------------------
#include "stdafx.h"
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------Main.cpp---------------------------------------------------------------------------------------
#include "stdafx.h"
#include "resource.h"
#include "MainDlg.h"
#include <COMMCTRL.H>
#include "resource.h"
#include "MainDlg.h"
#include <COMMCTRL.H>
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
InitCommonControls();
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
InitCommonControls();
DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAIN), NULL, Main_Proc);
return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------MainDlg.cpp------------------------------------------------------------------------------------
#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include <stdlib.h>
#include <string.h>
#include <math.h>
TCHAR msg[256]; //第一个数
TCHAR msa[256]; //另一个数
TCHAR m0[256]; //用于初始化
TCHAR m1[256]; //用于上界面显示
int flag=0; //标记
TCHAR msa[256]; //另一个数
TCHAR m0[256]; //用于初始化
TCHAR m1[256]; //用于上界面显示
int flag=0; //标记
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}
return FALSE;
}
}
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
SetDlgItemText(hwnd,IDC_DSC,"0");
return TRUE;
}
{
SetDlgItemText(hwnd,IDC_DSC,"0");
return TRUE;
}
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
{
switch(id)
{
case IDC_DE://等于
{
if(flag==1)
{
double sum;
sum=atof(msa)+atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==2)
{
double sum;
sum=atof(msa)-atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==3)
{
double sum;
sum=atof(msa)*atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==4)
{
double sum;
sum=atof(msa)/atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==5)
{
int sum;
sum=atoi(msa)%atoi(msg);
itoa(sum,msg,10);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
}
break;
//
{
if(flag==1)
{
double sum;
sum=atof(msa)+atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==2)
{
double sum;
sum=atof(msa)-atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==3)
{
double sum;
sum=atof(msa)*atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==4)
{
double sum;
sum=atof(msa)/atof(msg);
gcvt(sum,sizeof(sum)+1,msg);
wsprintf(m1,"%s",m0);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
else if(flag==5)
{
int sum;
sum=atoi(msa)%atoi(msg);
itoa(sum,msg,10);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,msg);
wsprintf(msa,"%s",m0);
flag=0;
}
}
break;
//
case IDC_DA: //加法
{
flag=1;
wsprintf(m1,"%s+",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DM: //乘法
{
flag=3;
wsprintf(m1,"%sx",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
{
flag=1;
wsprintf(m1,"%s+",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DM: //乘法
{
flag=3;
wsprintf(m1,"%sx",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DD: //除法
{
flag=4;
wsprintf(m1,"%s÷",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
{
flag=4;
wsprintf(m1,"%s÷",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DS: //减法
{
flag=2;
wsprintf(m1,"%s-",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DSU: //求余
{
flag=5;
wsprintf(m1,"%s%%",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
{
flag=2;
wsprintf(m1,"%s-",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DSU: //求余
{
flag=5;
wsprintf(m1,"%s%%",msg);
SetDlgItemText(hwnd,IDC_DSC2,m1);
wsprintf(msa,"%s",msg);
wsprintf(msg,"%s",m0);
}
break;
case IDC_DPR: //求根
{
double sum;
sum=sqrt(atof(msg));
gcvt(sum,sizeof(sum)+1,msg);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
double sum;
sum=sqrt(atof(msg));
gcvt(sum,sizeof(sum)+1,msg);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_DP1X: // 1/x
{
double sum;
sum=1/(atof(msg));
gcvt(sum,sizeof(sum)+1,msg);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
double sum;
sum=1/(atof(msg));
gcvt(sum,sizeof(sum)+1,msg);
if(msg[strlen(msg)-1]=='.')
{
msg[strlen(msg)-1]='\0';
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_DPAS://正负号
{
if(msg[0]=='-')
{
for(int k=0;k<strlen(msg);k++)
{
msg[k]=msg[k+1];
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
else
{
int c;
c=strlen(msg);
for(int k=0;k<=c;c--)
{
msg[c+1]=msg[c];
if(c==0)
{
msg[0]='-';
break;
}
}
SetDlgItemText(hwnd,IDC_DSC,msg);
}
}
break;
case IDC_DPC: //C
{
wsprintf(msg,"%s",m0);
wsprintf(msa,"%s",m0);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,"0");
}
break;
{
wsprintf(msg,"%s",m0);
wsprintf(msa,"%s",m0);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,"0");
}
break;
case IDC_DPCE: //CE
{
wsprintf(msg,"%s",m0);
wsprintf(msa,"%s",m0);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,"0");
}
break;
{
wsprintf(msg,"%s",m0);
wsprintf(msa,"%s",m0);
wsprintf(m1,"%s",m0);
SetDlgItemText(hwnd,IDC_DSC2,m1);
SetDlgItemText(hwnd,IDC_DSC,"0");
}
break;
case IDC_DPB: //←
{
int t=strlen(msg)-1;
if(t<0)
{
return;
}
if(t==0)
{
SetDlgItemText(hwnd,IDC_DSC,"0");
wsprintf(msg,"%s",m0);
}
else
{
msg[t]='\0';
SetDlgItemText(hwnd,IDC_DSC,msg);
}
}
break;
{
int t=strlen(msg)-1;
if(t<0)
{
return;
}
if(t==0)
{
SetDlgItemText(hwnd,IDC_DSC,"0");
wsprintf(msg,"%s",m0);
}
else
{
msg[t]='\0';
SetDlgItemText(hwnd,IDC_DSC,msg);
}
}
break;
case IDC_DP: //点
{
int k;
int flag1=0;
for(k=0;k<strlen(msg);k++){
if(msg[k]=='.')
{
flag1=1;
break;
}
}
if(flag1==1) break;
wsprintf(msg,"%s%c",msg,'.');
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D0:
{
int k;
int flag1=0;
for(k=0;k<strlen(msg);k++){
if(msg[k]=='.')
{
flag1=1;
break;
}
}
if(msg[0]=='0'&&flag1!=1) break;
wsprintf(msg,"%s%d",msg,0);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
int k;
int flag1=0;
for(k=0;k<strlen(msg);k++){
if(msg[k]=='.')
{
flag1=1;
break;
}
}
if(msg[0]=='0'&&flag1!=1) break;
wsprintf(msg,"%s%d",msg,0);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D1:
{
wsprintf(msg,"%s%d",msg,1);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D2:
{
wsprintf(msg,"%s%d",msg,2);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,2);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D3:
{
wsprintf(msg,"%s%d",msg,3);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,3);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D4:
{
wsprintf(msg,"%s%d",msg,4);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,4);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D5:
{
wsprintf(msg,"%s%d",msg,5);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,5);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D6:
{
wsprintf(msg,"%s%d",msg,6);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,6);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D7:
{
wsprintf(msg,"%s%d",msg,7);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,7);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D8:
{
wsprintf(msg,"%s%d",msg,8);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,8);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
case IDC_D9:
{
wsprintf(msg,"%s%d",msg,9);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
{
wsprintf(msg,"%s%d",msg,9);
SetDlgItemText(hwnd,IDC_DSC,msg);
}
break;
default:
break;
}
}
break;
}
}
void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
{
EndDialog(hwnd, 0);
}