C 语言开发初涉-01 简单学习
尝试用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, );
}
C 语言开发初涉-01 简单学习的更多相关文章
- ESP8266 LUA脚本语言开发: 准备工作-为方便学习(统一使用本人编译的固件)
前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净 ...
- 实验四 Linux系统C语言开发环境学习
项目 内容 这个作业属于哪个课程 Linux系统与应用 这个作业的要求在哪里 作业要求链接 学号-姓名 17041428-朱槐健 作业学习目标 1.Linux系统下C语言开发环境搭建 2.学习Linu ...
- 使用Sublime text 3打造一个小巧但强大的Go语言开发IDE
版权声明:欢迎转载,转载请注明出处! https://blog.csdn.net/iTaacy/article/details/76716049 使用Sublime text 3打造一个小巧但强大的G ...
- unity3D用什么语言开发好?
unity3D用什么语言开发好? 一.总结 一句话总结:选c# 同时U3D团队也会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细 ...
- Linux系统c语言开发环境
项目 内容 这个作业属于哪个课程 班级地址 这个作业要求在哪里 作业要求地址 学号-姓名 17041506-张政 学习目标 Linux系统下C语言开发环境搭建,学习Linux系统环境C语言开发过程 L ...
- Tinyhttpd - 超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client(Qt也有很多第三方HTTP类)
- 2. Tinyhttpd tinyhttpd是一个超轻量型Http Server,使用C语言开发,全部代码只有502行(包括注释),附带一个简单的Client,可以通过阅读这段代码理解一个 Htt ...
- 实验四:Linux系统C语言开发环境学习
项目 内容 这个作业属于哪个课程 班级课程主页链接 这个作业的要求在哪里 作业要求 学号-姓名 17043133-木腾飞 作业学习要求 1.学习Linux系统中如何查看帮助文档:2.在Linux系统中 ...
- C语言开发CGI程序的简单例子
这年头用C语言开发cgi的已经不多,大多数的web程序都使用java.php.python等这些语言了. 但是本文将做一些简单的cgi实例. 首先配置环境 #这里是使用的apache AddHandl ...
- 个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 2
接上篇:个人 WPF+EF(DBFirst) 简单应用开发习惯及EF学习测试(备忘) -- 1 Step1 在主程序中设置连接数据库 从Model类库的 App.Config 把数据库字符串拷贝出来, ...
随机推荐
- 3dmax fx shader, vertex color
美术那边需要一个能在3dmax里用的支持diffuse纹理和顶点色的additive shader(不带光照). 以前没搞过这个,于是从3dmax自带的vertexcolor.fx,DiffuseBu ...
- 点滴积累【other】---HTTP 错误 404.13 - Not Found,请求筛选模块被配置为拒绝超过请求内容长度的请求(转载)
此文参考来源:http://blog.csdn.net/tiantian1980/article/details/6577499 问题:HTTP 错误 404.13 - Not Found,请求筛选模 ...
- Atitit . 编程模型的变革总结
Atitit . 编程模型的变革总结 1. 面向对象与面向过程程序设计有如下不同: 1 1.1. 函数与数据是否分离.... 1 1.2. 以功能为中心;以数据为中心..... 1 1.3. 事件驱 ...
- bazel-编译一个源文件生成可执行程序
demo1 使用bazel编译一个源文件生成可执行程序简单示例 demo1目录树 demo1 ├── app │ ├── BUILD │ └── hello_world.cpp ├── README. ...
- CentOS 6.2下更新GCC
在centos中安装了QT5.1.0,发现无法启动,原因好像是GCC版本问题,所以就更新GCC. 1.下载GCC源码: 下载网址:http://ftp.gnu.org/gnu/gcc/gcc-4.8. ...
- EAV/ESS 8.x 自定义服务器正确方法+更新服务器列表
下面用64位的ESET Smart Security 8.0.319.1进行设置自定义更新服务器说明(注:修改方法32位和64位通用) 1. 让我们先看一下ESET Smart Security 8 ...
- 关于mysqli_free_result($result)报错
运行原来的一个原生的php写的项目,出现mysqli_free_result($result)的警告 Warning: mysqli_free_result() expects parameter 1 ...
- Unicode Table
Unicode Table http://www.tamasoft.co.jp/en/general-info/unicode.html 00 01 02 03 04 05 06 07 08 09 ...
- C++-教程2-VS2010C++相关文件说明
stdafx.h说明:stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展).所谓头文件预编译,就是把一个工程(Proj ...
- 重置 ckeditor清空内容
转载自:http://blog.csdn.net/woshirongshaolin/article/details/8239407 <script type="text/javascr ...