当前位置:首页 » 编程软件 » mfc编译计算器

mfc编译计算器

发布时间: 2023-08-28 03:54:10

A. MFC编写计算器具体步骤 方法 代码,拜托高手急用!

1、首先打开VS2013,新建一个VC++ MFC项目,命名为 gongzi。

B. 求助一个用MFC来编写的计算器程序代码

主代码如下。。这个是我自己做的。就怕你看不懂了。。。
不过敢上来问,应该是比较精通的了。。

#include
"stdafx.h"
#include
<stdio.h>
#include
<stdlib.h>
#include
<windows.h>
#include
<windowsx.h>
#include
"resource.h"
#include
"MainDlg.h"
#define
TURE
1
#define
FALSE
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);

}

return
FALSE;
}
BOOL
Main_OnInitDialog(HWND
hwnd,
HWND
hwndFocus,
LPARAM
lParam)
{

return
TRUE;
}
BOOL
IsInt(TCHAR*
str)
{
int
i=atoi(str);
TCHAR
strtemp[256];
wsprintf(strtemp,"%i",i);
if(strcmp(str,strtemp)==0)
{
return
TURE;
}
else
{
return
FALSE;
}
}
TCHAR
str1[256],str2[256],str3[256];
int
i1,i2,i3;
void
Main_OnCommand(HWND
hwnd,
int
id,
HWND
hwndCtl,
UINT
codeNotify)
{
switch(id)
{
case
IDC_OK:
{

GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT2,str2,sizeof(str2));
int
i1,i2,i3;

if(!IsInt(str1))
{
MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
if(!IsInt(str2))
{
MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
i1=atoi(str1);i2=atoi(str2);i3=i1+i2;

wsprintf(str3,"%i",i3);
SetDlgItemText(hwnd,IDC_EDIT3,str3);

}
break;
case
IDC_OK2:
{

GetDlgItemText(hwnd,IDC_EDIT4,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT5,str2,sizeof(str2));

if(!IsInt(str1))
{
MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
if(!IsInt(str2))
{
MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}

i1=atoi(str1);
i2=atoi(str2);

i3=i1-i2;
wsprintf(str3,"%i",i3);
SetDlgItemText(hwnd,IDC_EDIT6,str3);

}
break;

case
IDC_OK3:
{
GetDlgItemText(hwnd,IDC_EDIT7,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT8,str2,sizeof(str2));
if(!IsInt(str1))
{
MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
if(!IsInt(str2))
{
MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
i1=atoi(str1);i2=atoi(str2);
i3=i1*i2;
itoa(i3,str3,10);
SetDlgItemText(hwnd,IDC_EDIT9,str3);
}
break;

case
IDC_OK4:
{
GetDlgItemText(hwnd,IDC_EDIT10,str1,sizeof(str1));
GetDlgItemText(hwnd,IDC_EDIT11,str2,sizeof(str2));
if(!IsInt(str1))
{
MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
if(!IsInt(str2))
{
MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}

i1=atoi(str1);

i2=atoi(str2);

i3=i1/i2;

itoa(i3,str3,10);

//else
str3="除不掉";这里仍然有个bug!
SetDlgItemText(hwnd,IDC_EDIT12,str3);
}
break;

case
IDC_OK5:
{
GetDlgItemText(hwnd,IDC_EDIT13,str1,sizeof(str1));
i1=atoi(str1);
itoa(i1,str2,2);
SetDlgItemText(hwnd,IDC_EDIT14,str2);
}
break;

case
IDC_OK6:
{
GetDlgItemText(hwnd,IDC_EDIT15,str1,sizeof(str1));
if(!IsInt(str1))
{
MessageBox(hwnd,TEXT("第一个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
if(!IsInt(str2))
{
MessageBox(hwnd,TEXT("第二个数不是整数!"),TEXT("错误"),MB_OK|MB_ICONERROR);
return
;
}
i1=atoi(str1);
itoa(i1,str2,16);
SetDlgItemText(hwnd,IDC_EDIT16,str2);
}
break;
default:
break;
}
}
void
Main_OnClose(HWND
hwnd)
{

EndDialog(hwnd,
0);
}

C. 使用MFC制作简单计算器

void CCalDlg::OnButtonadd()
{
// TODO: Add your control notification handler code here
UpdateData();
isresult=TRUE;
num1 = m_edit;
m_edit="";
UpdateData(false);
oper=1;
}
void CCalDlg::OnButtondeng()
{
// TODO: Add your control notification handler code here
UpdateData();
num2 = m_edit;
double result=0;
double firnum=atof(num1);
double secnum=atof(num2);
switch(oper)
{case 1:result=firnum+secnum;
m_edit.Format("%g",result);
UpdateData(false);
break;}
}

在使用m_edit前,要先updatedata更新控件内容到变量。

热点内容
内网服务器怎么免费获得 发布:2024-11-20 18:25:34 浏览:72
php不重复随机数 发布:2024-11-20 18:25:30 浏览:929
职业病上传 发布:2024-11-20 18:23:27 浏览:4
怎么从ios系统返回到安卓系统 发布:2024-11-20 18:21:03 浏览:954
android百度浏览器 发布:2024-11-20 18:20:59 浏览:845
b压缩包 发布:2024-11-20 18:20:46 浏览:473
18夏朗没有电动门是哪个配置 发布:2024-11-20 18:18:42 浏览:301
软件编程专业就业方向 发布:2024-11-20 18:15:35 浏览:120
GL文上传 发布:2024-11-20 18:01:55 浏览:969
色子稳赢算法 发布:2024-11-20 17:55:50 浏览:519