尝试用C语言写windows程序:
简单的计算器 1.0版,仅用来熟悉C 开发windows的一些语法和语句用法
#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include <stdio.h>
#include <stdlib.h>
#include <typeinfo.h>
#include "resource.h"
#include "MainDlg.h" /*
http://www.cnblogs.com/daomul/
*/
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 IsNum(TCHAR* nameOne,TCHAR* nameTwo)
{
TCHAR TempOne[],TempTwo[];
int temp1=atoi(nameOne);
int temp2=atoi(nameTwo);//先将输入的字符串转化为整形 wsprintf(TempOne,"%d",temp1);
wsprintf(TempTwo,"%d",temp2);//再将整形转化为字符型,如果是数字,则整形月字符型是相同的 if(strcmp(TempOne,nameOne)!=)
{ //MessageBox(hwnd,TEXT("第一个数字输入不合法!请重新输入!"),TEXT("ok"),MB_OK|MB_ICONERROR);
return FALSE;
}
if(strcmp(TempTwo,nameTwo)!=)
{
//MessageBox(hwnd,TEXT("第二个数字输入不合法!请重新输入!"),TEXT(""),MB_OK|MB_ICONERROR);
return FALSE; }
return TRUE;
}
/******************** 解决输入判断结束****************************** */ void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_OK:
{
TCHAR nameOne[],nameTwo[];//解决中文编码问题
GetDlgItemText(hwnd,IDC_INPUTONE,nameOne,sizeof(nameOne));
GetDlgItemText(hwnd,IDC_INPUTTWO,nameTwo,sizeof(nameTwo)); /******************** 解决输入判断****************************** */ if(!IsNum(nameOne,nameTwo))
{
MessageBox(hwnd,TEXT("数字输入不合法!请重新输入!"),TEXT("error"),MB_OK|MB_ICONERROR);
return;
} /******************** 解决输入判断结束****************************** */ TCHAR str[];
int result;
result=atoi(nameOne)+atoi(nameTwo);//加头文件#include<stdlib.h> itoa(result,str,);//同样可以用来转化类型(可以转化进制) SetDlgItemText(hwnd,IDC_RESULT,str); //wsprintf(msg,"%d",result);//要添加 #include <stdio.h>头文件 相当于拼接 //MessageBox(hwnd,msg,TEXT("ok"),MB_OK);
}
break; case IDC_CHANGE:
{
/******************** 转化为二进制****************************** */
TCHAR result[];
GetDlgItemText(hwnd,IDC_RESULT,result,sizeof(result));
if(NULL==result)
{
MessageBox(hwnd,TEXT("请先输入数字!"),TEXT(" "),MB_OK);
}
else
{
TCHAR ChangeResult[];
itoa(atoi(result),ChangeResult,);
SetDlgItemText(hwnd,IDC_RESULT,ChangeResult);
}
}
break; default:
break;
}
} void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, );
}