计算器2.0版
自己写了个计算器,也许有不足的地方,希望大家指点呀!呵呵呵!
这是代码:
程序代码:
#include "stdafx.h" #include <windows.h> #include <windowsx.h> #include "resource.h" #include "MainDlg.h" 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; } void CALLBACK mytimeProc(HWND hwnd ,UINT message,UINT iTimerID,DWORD dwTiemr) { SYSTEMTIME strLocal; GetLocalTime(&strLocal); TCHAR strlocaltime[256]; wsprintf(strlocaltime,"%i年%i月%i日 %i:%i:%i",strLocal.wYear,strLocal.wMonth,strLocal.wDay, strLocal.wHour,strLocal.wMinute,strLocal.wSecond); SetDlgItemText(hwnd,IDC_EDIT4,strlocaltime); } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)//初始化窗口// { SetTimer(hwnd,0,0,mytimeProc); HWND hwndCombo = GetDlgItem(hwnd,IDC_COMBO); ComboBox_InsertString(hwndCombo,-1,TEXT("+")); ComboBox_InsertString(hwndCombo,-1,TEXT("-")); ComboBox_InsertString(hwndCombo,-1,TEXT("*")); ComboBox_InsertString(hwndCombo,-1,TEXT("/")); return TRUE; } void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDC_OK: { HWND hwndCombo = GetDlgItem(hwnd,IDC_COMBO); TCHAR strname1[256]; TCHAR strname2[256]; GetDlgItemText(hwnd,IDC_EDIT1,strname1,sizeof(strname1)/sizeof(TCHAR)); GetDlgItemText(hwnd,IDC_EDIT2,strname2,sizeof(strname2)/sizeof(TCHAR)); double i1=atof(strname1); double i2=atof(strname2); double i3; int ret = ComboBox_GetCurSel(hwndCombo); switch(ret) { case 0: { i3=i1+i2; } break; case 1: { i3=i1-i2; } break; case 2: { i3=i1*i2; } break; case 3: { i3=i1/i2; if(i2==0) { MessageBox(hwnd,TEXT("除数不能够为零"),TEXT("提示"),MB_ICONEXCLAMATION); return ; } } break; default: break; } TCHAR strCombo[256]; gcvt(i3,10,strCombo);//gcvt是浮点数转化为字符数组型的函数,fcvt是单浮点数的转换函数// SetDlgItemText(hwnd,IDC_EDIT3,strCombo); } break; default: break; } } void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0);//关闭窗口函数// }这是文件打包解压就可以了呀!
计算器.rar
(1.63 MB)
[ 本帖最后由 我菜119 于 2010-5-7 19:34 编辑 ]