青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

ivy-jie

progress ...

C++博客 首頁 新隨筆 聯系 聚合 管理
  9 Posts :: 41 Stories :: 6 Comments :: 0 Trackbacks

#include "stdafx.h"
#include<windows.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include<string.h>
#include"resource.h"

HWND hWndhWnd,
     hEditResult,
     hButtonOptSum0,hButtonOptSum1,hButtonOptSum2,hButtonOptSum3,
  hButtonOptSum4,hButtonOptSum5,hButtonOptSum6,hButtonOptSum7,
  hButtonOptSum8,hButtonOptSum9,hButtonOptSumDec,
     hButtonOptAdd,hButtonOptSub,hButtonOptMul,hButtonOptDiv,
  hButtonOptSqrt,
  hButtonOptPercent,hButtonOptEqu,
  hButtonCancelEntry;
 
HINSTANCE hInst;
char lpszAddItem[20]="";
char lpszResult[20]="";

char lpszResult1[20]="";
char lpszResult2[20]="";
char lpszOpt[]="N";  //貯存操作符號
char *stop;
double nAddItem=0,nResult=0;
double nResult1=0,nResult2=0;
int nMax;
int nOptF=0;  //判斷是否按了操作符鍵
bool bDec=false;    //判斷是否按了點操作符;

LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
void EquResult();               //按下操作符(+,-,*,/,sqrt,%,=)處理函數
void NumResult(char *NumData);  //按下數字鍵(0~9和小數點)的操作處理函數

 


//-------------------------主函數------------------------
int WINAPI WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
  // TODO: Place code here.
 HWND hWnd;
    MSG Message;
 WNDCLASS WndClass;
 char lpszClassName[]="編輯框";
 char lpszTitle[]="計算器";
 WndClass.cbClsExtra=0;
 WndClass.cbWndExtra=0;
 WndClass.hbrBackground=(HBRUSH)(GetStockObject(LTGRAY_BRUSH)); //設置窗體背景:亮灰色
    WndClass.hCursor=LoadCursor(NULL,IDC_ARROW);
 //WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);
 WndClass.hIcon=LoadIcon(NULL,"WinIcon");
 WndClass.hInstance=hInstance;
 WndClass.lpfnWndProc=WndProc;    //消息處理
 WndClass.lpszClassName=lpszClassName;
    WndClass.lpszMenuName="Menu";    //加載菜單
 WndClass.style=0;
 
    if(!RegisterClass(&WndClass))
 {
  MessageBeep(0);
  return FALSE;
 }

   hInst=hInstance;
   hWnd=CreateWindow(
                 lpszClassName,
                 lpszTitle,
        WS_OVERLAPPED | WS_SYSMENU | WS_MINIMIZEBOX,
        CW_USEDEFAULT,
        CW_USEDEFAULT,
        210,230,
        NULL,
        NULL,
        hInstance,
        NULL
       );
    ShowWindow(hWnd,nCmdShow);
    UpdateWindow(hWnd);
 
 while(GetMessage(&Message,NULL,0,0))
 {
      TranslateMessage(&Message);
      DispatchMessage(&Message);
 }
 return Message.wParam;
}


//------------------------消息處理--------------------------------
LRESULT CALLBACK WndProc(HWND hwnd,
       UINT message,
       WPARAM wParam,
       LPARAM lParam)
{
 switch(message)
 {
 case WM_CREATE:
        hEditResult=CreateWindow("EDIT",       //建立文本框
                       NULL,
        WS_CHILD | WS_VISIBLE | ES_RIGHT | WS_BORDER | ES_READONLY,
        10,10,
        185,24,
        hwnd,
        (HMENU)IDE_RESULT,
        hInst,
        NULL);
  hButtonOptSum7=CreateWindow("BUTTON",  //建立按鈕7
                       "7",
        WS_CHILD | WS_VISIBLE,
        10,40,
        30,30,
        hwnd,
        (HMENU) IDB_NUM7,
        hInst,
        NULL);
  hButtonOptSum8=CreateWindow("BUTTON",  //建立按鈕8
                       "8",
        WS_CHILD | WS_VISIBLE,
        45,40,
        30,30,
        hwnd,
        (HMENU) IDB_NUM8,
        hInst,
        NULL);
  hButtonOptSum9=CreateWindow("BUTTON",   //建立按鈕9
                       "9",
        WS_CHILD | WS_VISIBLE,
        80,40,
        30,30,
        hwnd,
        (HMENU) IDB_NUM9,
        hInst,
        NULL);
  hButtonOptSum4=CreateWindow("BUTTON",   //建立按鈕4
                       "4",
        WS_CHILD | WS_VISIBLE,
        10,75,
        30,30,
        hwnd,
        (HMENU) IDB_NUM4,
        hInst,
        NULL);
  hButtonOptSum5=CreateWindow("BUTTON",   //建立按鈕5
                       "5",
        WS_CHILD | WS_VISIBLE,
        45,75,
        30,30,
        hwnd,
        (HMENU) IDB_NUM5,
        hInst,
        NULL);
  hButtonOptSum6=CreateWindow("BUTTON",   //建立按鈕6
                       "6",
        WS_CHILD | WS_VISIBLE,
        80,75,
        30,30,
        hwnd,
        (HMENU) IDB_NUM6,
        hInst,
        NULL);
  hButtonOptSum1=CreateWindow("BUTTON",    //建立按鈕1
                       "1",
        WS_CHILD | WS_VISIBLE,
        10,110,
        30,30,
        hwnd,
        (HMENU) IDB_NUM1,
        hInst,
        NULL);
  hButtonOptSum2=CreateWindow("BUTTON",   //建立按鈕2
                       "2",
        WS_CHILD | WS_VISIBLE,
        45,110,
        30,30,
        hwnd,
        (HMENU) IDB_NUM2,
        hInst,
        NULL);
  hButtonOptSum3=CreateWindow("BUTTON",   //建立按鈕3
                       "3",
        WS_CHILD | WS_VISIBLE,
        80,110,
        30,30,
        hwnd,
        (HMENU) IDB_NUM3,
        hInst,
        NULL);
  hButtonOptSum0=CreateWindow("BUTTON",    //建立按鈕0
                       "0",
        WS_CHILD | WS_VISIBLE,
        10,145,
        65,30,
        hwnd,
        (HMENU) IDB_NUM0,
        hInst,
        NULL);
  hButtonOptSumDec=CreateWindow("BUTTON",  //建立按鈕.
                       ".",
        WS_CHILD | WS_VISIBLE,
        80,145,
        30,30,
        hwnd,
        (HMENU) IDB_NUMDEC,
        hInst,
        NULL);
     hButtonOptSqrt=CreateWindow("BUTTON",  //建立按鈕Sqr
                       "Sqr",
        WS_CHILD | WS_VISIBLE,
        130,40,
        30,30,
        hwnd,
        (HMENU) IDB_OPTSQRT,
        hInst,
        NULL);
  hButtonCancelEntry=CreateWindow("BUTTON",  //建立按鈕CE
                       "C",
        WS_CHILD | WS_VISIBLE,
        165,40,
        30,30,
        hwnd,
        (HMENU) IDB_CANCLEENTRY,
        hInst,
        NULL);
  hButtonOptAdd=CreateWindow("BUTTON",    //建立按鈕+
                       "+",
        WS_CHILD | WS_VISIBLE,
        130,75,
        30,30,
        hwnd,
        (HMENU)IDB_OPTADD,
        hInst,
        NULL);
  hButtonOptSub=CreateWindow("BUTTON",  //建立按鈕-
                       "-",
        WS_CHILD | WS_VISIBLE,
        165,75,
        30,30,
        hwnd,
        (HMENU)IDB_OPTSUB,
        hInst,
        NULL);
  hButtonOptMul=CreateWindow("BUTTON",   //建立按鈕*
                       "*",
        WS_CHILD | WS_VISIBLE,
        130,110,
        30,30,
        hwnd,
        (HMENU)IDB_OPTMUL,
        hInst,
        NULL);
  hButtonOptDiv=CreateWindow("BUTTON",   //建立按鈕/
                       "/",
        WS_CHILD | WS_VISIBLE,
        165,110,
        30,30,
        hwnd,
        (HMENU)IDB_OPTDIV,
        hInst,
        NULL);
  hButtonOptEqu=CreateWindow("BUTTON",  //建立按鈕=
                       "=",
        WS_CHILD | WS_VISIBLE,
        130,145,
        30,30,
        hwnd,
        (HMENU)IDB_OPTEQU,
        hInst,
        NULL);
  hButtonOptPercent=CreateWindow("BUTTON",   //建立按鈕%
                       "%",
        WS_CHILD | WS_VISIBLE,
        165,145,
        30,30,
        hwnd,
        (HMENU)IDB_OPTPERCENT,
        hInst,
        NULL);
 
  SetWindowText(hEditResult,"0");
  break;
 case WM_SETFOCUS:
  SetFocus(hEditResult);
  break;
 
 case WM_COMMAND:
    switch(LOWORD(wParam))
    {
      // 零至玖與點按鈕
               case IDB_NUM0:
        if (nOptF==0)
         break;
         NumResult("0");
      break;
                  case IDB_NUM1:
        NumResult("1");
      break;
      case IDB_NUM2:
         NumResult("2");        
         break;
                  case IDB_NUM3:
         NumResult("3");        
         break;
                  case IDB_NUM4:
         NumResult("4");
         break;
                  case IDB_NUM5:
         NumResult("5");
         break;
                  case IDB_NUM6:
         NumResult("6");
         break;
                  case IDB_NUM7:
         NumResult("7");
         break;
         case IDB_NUM8:
         NumResult("8");
         break;
                  case IDB_NUM9:
         NumResult("9");
         break;
                  case IDB_NUMDEC:
      if (bDec==true)
       break;  //如果已按了點號就返回
                        NumResult(".");
                        nOptF=1;      //按了操作符鍵
      bDec=true;    //按了點操作符;
      break;
                 
            //MessageBox(hwnd,"沒有此功能!","功能",MB_OK);
            break;
   // 加,減,乘,除與百分數按鈕   
            case IDB_OPTADD:
                        EquResult();
      strcpy(lpszOpt,"+");     //設置按了操作符號+
         break;
      case IDB_OPTSUB:              
         EquResult();      
      strcpy(lpszOpt,"-");
         break;
      case IDB_OPTMUL:
      EquResult();
      strcpy(lpszOpt,"*");     //設置按了操作符號+
         break;
      case IDB_OPTDIV: 
       //算出結果
         EquResult();     
      strcpy(lpszOpt,"/");
         break;
      case IDB_OPTPERCENT: 
       //算出結果
         EquResult();     
      strcpy(lpszOpt,"%");
            break;
    // 等于按鈕  
      case IDB_OPTEQU:
         //算出等于結果
         EquResult();      
      strcpy(lpszOpt,"N");
         break;
       //開平方按鈕  
      case IDB_OPTSQRT:
       EquResult();     
       strcpy(lpszOpt,"S");
          break;
      case IDB_CANCLEENTRY:
       SetWindowText(hEditResult,"0");
          nResult=0;
          nAddItem=0;
       nResult1=0;
       nResult2=0;
       strcpy(lpszResult1,"0");
                      strcpy(lpszResult2,"0");
       nOptF=0;
       bDec=false;
       strcpy(lpszOpt,"N");  //貯存操作符號
       break;
   //關于菜單
    case IDM_ABOUT:                
                 MessageBox(hwnd,"歡迎使用本記算器!\n\n\n           作者:麥成勇","關于",MB_OK|MB_ICONINFORMATION);
     break;
    case IDM_COPY:
     break;
   case IDM_PASTE:
     break;
            //退出菜單
    case IDM_EXIT:                
                 SendMessage(hwnd,WM_DESTROY,0,0L);
     break;
   

    
    }
    break;
    case WM_DESTROY:
      PostQuitMessage(0);
      break;
     default:
      return DefWindowProc(hwnd,message,wParam,lParam);
 }
 return 0;
}

 

//-----------------------按下操作符(+,-,*,/,sqrt,%,=)處理函數-----------------------
void EquResult()
{
 
 //算出結果
         if (strcmp(lpszOpt,"N")==0)
      {
       nResult1=strtod(lpszResult1,&stop);       
      }
      else
      {
       switch(*lpszOpt)    //比較上一次按的操作符后所得的結果
       {
       case '+':
        nResult1=strtod(lpszResult1,&stop);
        nResult2=strtod(lpszResult2,&stop);
        nResult1=nResult1+nResult2;
        break;
       case '-':
        nResult1=strtod(lpszResult1,&stop);
        nResult2=strtod(lpszResult2,&stop);
        nResult1=nResult1-nResult2;
        break;
       case '*':
        nResult1=strtod(lpszResult1,&stop);
        nResult2=strtod(lpszResult2,&stop);
        nResult1=nResult1*nResult2;
        break;
       case '/':
        nResult1=strtod(lpszResult1,&stop);
        nResult2=strtod(lpszResult2,&stop);
        if (nResult2==0)
        {
           MessageBox(hWndhWnd,"除數不能為零!","功能",MB_OK);
           break;
        }
        nResult1=nResult1/nResult2;
        break;
       case '%':
        nResult1=strtod(lpszResult1,&stop);
        nResult1=nResult1/100;
        break;
       case 'S':
        nResult1=strtod(lpszResult1,&stop);
        if (nResult1<0)
        {
         MessageBox(hWndhWnd,"負數沒有平方根!","沒意義",MB_OK);
            break;
        }
        nResult=sqrt( nResult1 );
        nResult1=nResult;
        break;
       }
        
      }
                        nResult1=nResult1*1.0;
         _gcvt(nResult1,15,lpszResult1); //雙精度轉化為字符串     
         SetWindowText(hEditResult,lpszResult1);
      nOptF=0; 
      bDec=false;
}

 

//--------------------------按下數字鍵(0~9和小數點)的操作處理函數--------------------
void NumResult(char *NumData)
{
 
         if (nOptF==0)
          SetWindowText(hEditResult,""); 
         nMax=GetWindowTextLength(hEditResult)+1;
         GetWindowText(hEditResult,lpszAddItem,nMax);
         strcat(lpszAddItem,NumData);        ///字符串加該數字鍵的字符
         if (strcmp(lpszOpt,"N")==0)
      {
       strcpy(lpszResult1,lpszAddItem);
             SetWindowText(hEditResult,lpszResult1);
      }
      else
      {
       strcpy(lpszResult2,lpszAddItem);
              SetWindowText(hEditResult,lpszResult2);
      }
                        nOptF=1;  //按下了數字鍵
}

2 資源文件
#include "windows.h"
#include "resource.h"

/////////////////////////////////////////////////////////////////////////////
//
// Menu
//

MENU MENU DISCARDABLE
BEGIN
    POPUP "文件(&F)"
    BEGIN
        MENUITEM "退出(&X)",                    IDM_EXIT
    END
    POPUP "編輯(&E)"
    BEGIN
        MENUITEM "復制(&C)\tCtrl+C",            IDM_COPY
        MENUITEM "粘貼(&V)\tCtrl+V",            IDM_PASTE
    END
    POPUP "幫助(&H)"
    BEGIN
        MENUITEM "關于(&A)...",                 IDM_ABOUT
    END
END


/////////////////////////////////////////////////////////////////////////////
//
// Accelerator
//

MENU ACCELERATORS MOVEABLE PURE
BEGIN
    "^A",           IDM_ABOUT,              ASCII,  NOINVERT
    "^C",           IDM_COPY,               ASCII,  NOINVERT
    "^V",           IDM_PASTE,              ASCII,  NOINVERT
END

WinIcon ICON calc.ico

posted on 2009-05-23 10:37 ivy-jie 閱讀(381) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产日韩欧美不卡在线| 99国产成+人+综合+亚洲欧美| 影音先锋久久资源网| 国产精品男gay被猛男狂揉视频| 欧美极品aⅴ影院| 欧美精品97| 欧美日韩日日骚| 国产精品成人一区二区艾草| 国产精品日韩久久久久| 国产真实乱偷精品视频免| 亚洲第一狼人社区| 99精品福利视频| 欧美一区二区网站| 欧美成人综合一区| 日韩天堂在线观看| 欧美一区1区三区3区公司| 久久久久高清| 欧美日韩美女| 韩国自拍一区| 亚洲尤物精选| 欧美激情精品久久久久久大尺度| 99视频在线精品国自产拍免费观看| 午夜综合激情| 欧美日韩三区| 亚洲国产成人久久综合一区| 亚洲欧美日韩国产精品| 欧美91福利在线观看| 亚洲午夜小视频| 欧美va天堂va视频va在线| 国产精品羞羞答答xxdd| 亚洲三级毛片| 久久久无码精品亚洲日韩按摩| 亚洲免费成人| 久久综合五月| 国产欧美日韩在线视频| 一区二区av| 亚洲成人中文| 欧美一区二区三区四区视频| 欧美日韩高清在线观看| 亚洲国产成人av| 久久精品人人爽| 在线一区二区日韩| 欧美日韩国产美女| 亚洲欧洲一区二区在线播放| 久久免费高清视频| 亚洲尤物视频网| 欧美先锋影音| 中国成人黄色视屏| 欧美国产一区二区在线观看| 欧美一区二区三区视频| 欧美成人一区在线| 亚洲一区二区三区四区五区黄| 嫩草伊人久久精品少妇av杨幂| 亚洲一区二区三区激情| 欧美久久一级| 99国产精品99久久久久久粉嫩| 欧美大成色www永久网站婷| 久久精品国产久精国产思思| 国产精品伊人日日| 午夜精品一区二区三区在线播放 | 亚洲国产精品va在线观看黑人| 久久狠狠亚洲综合| 亚洲欧洲av一区二区| 国产精品入口夜色视频大尺度 | 欧美日韩理论| 一区二区三区精品视频| 最新国产乱人伦偷精品免费网站| 狼狼综合久久久久综合网| 在线观看三级视频欧美| 蜜桃av综合| 六十路精品视频| 亚洲伦理在线观看| 亚洲精品一级| 国产精品视频一区二区三区| 欧美在线观看视频一区二区三区| 亚洲一区二区三区乱码aⅴ| 国产精品乱码久久久久久| 亚洲欧美中文日韩在线| 欧美在线视频全部完| 黄色成人av在线| 亚洲第一页中文字幕| 欧美日韩精品二区第二页| 香蕉国产精品偷在线观看不卡| 欧美一区二区视频在线| 加勒比av一区二区| 亚洲国产专区校园欧美| 国产精品久久久久影院亚瑟| 久久久精品2019中文字幕神马| 欧美在线视频日韩| 亚洲人成艺术| 亚洲私人黄色宅男| 国外视频精品毛片| 亚洲三级观看| 国产亚洲一级高清| 亚洲日本成人网| 国产亚洲精品aa午夜观看| 欧美成年人网站| 国产精品乱码| 欧美国产精品劲爆| 欧美私人啪啪vps| 欧美a级片网站| 国产精品欧美一区二区三区奶水| 免费在线亚洲欧美| 国产精品永久免费| 亚洲欧洲日产国产综合网| 国产精品素人视频| 亚洲国产影院| 一区精品久久| 欧美一区二区三区免费视频| 欧美高清视频| 国产老女人精品毛片久久| 欧美电影打屁股sp| 国产精品一区久久| 亚洲精品国精品久久99热一| 国产综合色精品一区二区三区| 亚洲久久一区| 亚洲国产天堂久久综合网| 欧美亚洲日本网站| 亚洲综合色丁香婷婷六月图片| 免费日韩av电影| 麻豆成人精品| 国语自产精品视频在线看一大j8| 亚洲图片欧洲图片av| 中日韩在线视频| 奶水喷射视频一区| 欧美1区2区| 亚洲国产精品久久91精品| 久久精品国产69国产精品亚洲| 午夜一区二区三区不卡视频| 欧美日韩中文字幕在线| 91久久精品国产91久久| 亚洲国产欧美另类丝袜| 久久亚洲一区二区三区四区| 久久综合久久综合这里只有精品 | 免费在线亚洲| 国产综合久久| 久久国产精品免费一区| 久久精彩视频| 国产一区二区三区日韩| 久久成人免费日本黄色| 久久久国产精品亚洲一区 | 国产一区二区福利| 亚洲欧美一区在线| 久久精品视频网| 国内综合精品午夜久久资源| 久久久99久久精品女同性| 麻豆av一区二区三区久久| 亚洲国产一区二区三区在线播 | 久久综合九色欧美综合狠狠| 免费观看成人鲁鲁鲁鲁鲁视频| 红杏aⅴ成人免费视频| 久久久亚洲影院你懂的| 欧美黄色网络| 妖精成人www高清在线观看| 欧美日韩视频专区在线播放 | 欧美日韩亚洲视频| 亚洲天堂av在线免费| 欧美一级视频免费在线观看| 国内成+人亚洲+欧美+综合在线| 久久久久高清| 亚洲美女在线看| 欧美影院成年免费版| 在线不卡中文字幕播放| 欧美激情精品| 9国产精品视频| 国产精品久久久久久久浪潮网站| 亚洲新中文字幕| 久久亚洲免费| 亚洲作爱视频| 国产综合色产| 欧美日韩亚洲系列| 欧美在线视频一区二区| 91久久精品一区二区别| 亚洲欧美日韩成人| 亚洲黄一区二区三区| 国产精品久久97| 老司机久久99久久精品播放免费| 99国产麻豆精品| 久久综合99re88久久爱| 亚洲午夜av电影| 在线观看视频亚洲| 国产精品分类| 欧美国产视频日韩| 亚洲欧美在线一区二区| 亚洲国产日韩欧美综合久久| 欧美在线日韩| 亚洲夜间福利| 亚洲欧洲中文日韩久久av乱码| 国产精品视频男人的天堂| 欧美高清不卡| 久久久久久久一区| 亚洲综合日本| 中文网丁香综合网| 91久久精品国产91性色| 免费欧美高清视频| 久久久久国产精品厨房| 午夜国产不卡在线观看视频| 一区二区三区欧美成人| 亚洲裸体在线观看| 亚洲国产一区二区三区在线播|