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 把数据库字符串拷贝出来, ...
随机推荐
- HttpPutFormContentFilter 和 ContextLoaderListener 讲解
1 ContextLoaderListener 继承自ContextLoader,并且实现ServletContextListener接口. 肯定得实现这个接口了,不然怎么作为Servlet的监听器呢 ...
- django Multi-table inheritance ---- 用于实现基表-子表
SQL中的父子表.在django中可以直接通过模式的继承来完成! 一.django中的model定义如下: 1.django定义 from django.db import models # Crea ...
- vue 发送ajax请求
一. 简介 1.vue本身不支持发送AJAX请求,需要使用vue-resource(vue1.0版本).axios(vue2.0版本)等插件实现 2.axios是一个基于Promise的HTTP请求客 ...
- 如何运行Struts2官网最新Demo?
本篇将讲述下如何运行官网当前最新Struts2.5.10.1 版本的Demo. Struts2 官网:http://struts.apache.org/ 0x00 Demo下载 Struts2 官网2 ...
- Decoration3:增删改的实现
下面我们完成数据的增加.删除.修改,这里的主要知识就是前端Angularjs,遇到的问题 1.路由组件采用ui.router,链接的写法有两种: <a href="#/coach/cr ...
- CSS3 图片旋转
.nav_all { position:relative; z-index:; width:172px; display:inline; ; } .nav_all b { display:block; ...
- C++之虚析构函数
代码一. #include <iostream> using namespace std; class Base { public: Base(){}; ~Base() { cout &l ...
- oracle 使用occi方式 批量插入多条数据
if (vecInfo.empty()) { ; //数据为空,不上传,不上传标志设置为1,只有0表示上传成功 } std::string strUserName = userName; std::s ...
- poj2774(后缀数组水题)
http://poj.org/problem?id=2774 题意:给你两串字符,要你找出在这两串字符中都出现过的最长子串......... 思路:先用个分隔符将两个字符串连接起来,再用后缀数组求出h ...
- ardunio
fritzing, arduino简易电路图制作软件