| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1091 人关注过本帖
标题:计算器2.0版
取消只看楼主 加入收藏
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
结帖率:98.26%
收藏
已结贴  问题点数:20 回复次数:4 
计算器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 编辑 ]
搜索更多相关主题的帖子: 计算器 
2010-05-07 19:19
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 2楼 ltyjyufo
呵呵呵!写的不好呀!多谢指点呀!呵呵!

愿用余生致力编程
2010-05-08 09:06
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 9楼 BlueGuy
自己写的肯定存在很多不足的地方,欢迎高手来指点呀!之所以叫它为2.0版是因为这个计算器能够进行四则运算,所以就称它为2.0了呀,见笑了呀!

愿用余生致力编程
2010-05-08 19:03
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 4楼 Devil_W
与你这样的高手当然是没有法比了呀,呵呵!给自己一点小自信呀!呵呵!

愿用余生致力编程
2010-05-08 19:05
我菜119
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:938
专家分:1756
注 册:2009-10-17
收藏
得分:0 
回复 8楼 jmjy
因为我刚开始自学windows编程,所以难免存在不足的地方,呵呵!分享一下嘛!

愿用余生致力编程
2010-05-08 19:07
快速回复:计算器2.0版
数据加载中...
 
   



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

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