| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 437 人关注过本帖
标题:关于减法计算器的问题
只看楼主 加入收藏
叼着奶嘴
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-3-21
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:2 
关于减法计算器的问题
#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;
}

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 TRUE;
    }
    else
    {
        return FALSE;
    }
}


void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
    switch(id)
    {
        case IDC_OK:
        {
            TCHAR str1[256];
            TCHAR str2[256];
            GetDlgItemText(hwnd,IDC_EDIT1,str1,sizeof(str1));
            GetDlgItemText(hwnd,IDC_EDIT1,str2,sizeof(str2));
            int i1 = atoi(str1);
            int i2 = atoi(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;
            }
            int i3 = i1 - i2;
            TCHAR str3[256];
            wsprintf(str3,"%i",i3);
            SetDlgItemText(hwnd,IDC_EDIT3,str3);
        }
        break;
        default:
        break;
    }
}

void Main_OnClose(HWND hwnd)
{
    EndDialog(hwnd, 0);
}



其实就是一个减法,但是有两个问题,第二个数如果不是整数测不出来和计算结果不对,求大神指点
搜索更多相关主题的帖子: 计算器 include return 
2013-03-23 11:34
小xiong
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:388
专家分:1722
注 册:2013-2-8
收藏
得分:10 
    int i1 = atoi(str1);
    int i2 = atoi(str2);
你好像把字符串变为int 型了,,,呵呵
2013-03-23 12:44
叼着奶嘴
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2013-3-21
收藏
得分:0 
回复 2楼 小xiong
对呀,变了之后做运算。我把检验输入是否是数字放在主函数里好像就可以,不知道哪里出错了
2013-03-23 15:34
快速回复:关于减法计算器的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023951 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved