當前位置:首頁 » 編程軟體 » 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 17:09:36 瀏覽:399
目前安卓手機用什麼軟體 發布:2024-11-20 17:08:56 瀏覽:908
12個符號組成密碼多少個 發布:2024-11-20 17:08:56 瀏覽:296
災難資料庫 發布:2024-11-20 17:08:55 瀏覽:210
釣魚發燒友腳本機價格 發布:2024-11-20 16:59:41 瀏覽:122
什麼是網頁伺服器 發布:2024-11-20 16:59:38 瀏覽:63
訪問黎姿 發布:2024-11-20 16:50:57 瀏覽:877
砸迷你電風扇解壓視頻 發布:2024-11-20 16:44:40 瀏覽:620
個稅最新演算法 發布:2024-11-20 16:42:14 瀏覽:806
巔峰坦克游戲密碼是什麼 發布:2024-11-20 16:40:38 瀏覽:606