91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.72MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-30
  • 語言: C/C++
  • 標簽: vc60??計算器??

資源簡介

用vc60win32app寫的可進行四則混合運算的計算器,使用狀態方式保證輸入符合規則,使用逆波蘭表達式進行求值,可進行負數、小數運算。供學習參考。

資源截圖

代碼片段和文件信息

//?calculator.cpp?:?Defines?the?entry?point?for?the?application.
//?四則混合計算器

//狀態標志:
//0-開始狀態,可輸入數字、左括弧、小數點、負號,置空label1后再處理輸入;不允許輸入右括弧、運算符
//1-輸入了左括弧,左括弧數+1,可輸入數字、左括弧、小數點、負號,不允許輸入右括弧、運算符
//2-輸入了負號可輸入數字、小數點,不允許輸入左括弧、右括弧、運算符
//3-輸入了小數點(前提:1、其前為0、1和6狀態可輸入小數點;2、其前為4狀態,若操作數中無小數點,可輸入小數點),可輸入數字、右括?。ㄇ疤幔鹤罄ɑ?0,置左括弧數-1)、運算符(前提:小數點前為數,可輸入-+*/,若左括弧數=0且存在運算符(-+*/)可輸入=,即計算),不允許輸入左括弧、負號、小數點
//4-輸入了數字可輸入數字、運算符(-+*/,左括弧數=0可輸入=,即計算),小數點(前提:該操作數無小數點)、右括?。ㄇ疤幔鹤罄ɑ?0,置左括弧數-1),不允許輸入左括弧、負號
//5-輸入了右括弧,置左括弧數-1,可輸入右括?。ㄇ疤幔鹤罄ɑ?0,置左括弧數-1)、運算符(-+*/,左括弧數=0可輸入=,即計算),不允許輸入左括弧、數字、負號、小數點
//6-輸入了運算符(若輸入=,計算后,初始化),可輸入數字、左括弧、小數點、負號,不允許輸入右括弧、運算符

//鍵盤響應處理
//1、在資源中建立加速表,注意backspace鍵用虛鍵
//2、定義HACCEL?hAccelTable;
//3、在主函數中裝載加速表: hAccelTable?=?LoadAccelerators(hInstance?(LPCTSTR)IDC_CALCULATOR);

//計算處理:利用逆波蘭表達式求值
//先把中序表達式轉換為后序表達式(逆波蘭表達式)
//再利用堆棧進行逆波蘭表達式求值

#include?“stdafx.h“
#include?“resource.h“
//#include?
#include?
#include?“calculator.h“

#define?MAX_LOADSTRING?100
using?namespace?std;
//?Global?Variables:
HINSTANCE?hInst; //?current?instance
TCHAR?sztitle[MAX_LOADSTRING]; //?The?title?bar?text
TCHAR?szWindowClass[MAX_LOADSTRING]; //?The?title?bar?text
int?m_LeftRacketNums=0;?//左括弧數
int?m_OperatingState=0;?//狀態標志
char?lpszPushClassName[]?=?“BUTTON“;
int?m_Columns?=?5;?//數字按鈕每行5
int?m_NumericBtnTop?=?50;?//數字按鈕初始化位置
int?m_NumericBtnLeft?=?3;//數字按鈕初始化位置
int?m_interval?=?10;//間隔


//定義控件句柄
HWND?hwndNumericPush[10]; //0-9數字按鈕
HWND?hwndBracketPush[2]; //()按鈕
HWND?hwndMinusPush; //-負數符號按鈕
HWND?hwndDecimalPush; //小數點按鈕
HWND?hwndClearPush; //清除按鈕
HWND?hwndBackSpacePush; //退格按鈕
HWND?hwndOperatorPush[5]; //運算符按鈕

HWND?hwndStaticText;????????//靜態文本框

//?Foward?declarations?of?functions?included?in?this?code?module:
ATOM MyRegisterClass(HINSTANCE?hInstance);
BOOL InitInstance(HINSTANCE?int);
LRESULT?CALLBACK WndProc(HWND?UINT?WPARAM?LPARAM);
LRESULT?CALLBACK About(HWND?UINT?WPARAM?LPARAM);

void?addNumericpush(HWNDintint);?//創建數字按鈕
void?addBracketpush(HWNDintint);?//創建()按鈕
void?addMinuspush(HWNDintint);?//創建負號按鈕
void?addDecimalpush(HWNDintint);?//創建小數點按鈕
void?addClearpush(HWNDintint);?//創建清除按鈕
void?addBackSpacepush(HWNDintintint);?//創建退格按鈕
void?addOperatorpush(HWNDintintint);?//創建運算符按鈕
void?addStaticText(HWNDintintintint);?//創建靜態文本框

void?handleProc(intint?&int?&);?//計算器按鈕處理

int?getOperatingState(char?*);?//獲得最后一次輸入的狀態碼

void?InfixtoPostfix(char?*);?//中序轉后序(逆波蘭表達式)
double?Parse(char?*);?//逆波蘭表達式求值

int?APIENTRY?WinMain(HINSTANCE?hInstance
?????????????????????HINSTANCE?hPrevInstance
?????????????????????LPSTR?????lpCmdLine
?????????????????????int???????nCmdShow)
{
? //?TODO:?Place?code?here.
MSG?msg;
HACCEL?hAccelTable;

//?Initialize?global?strings
LoadString(hInstance?IDS_APP_title?sztitle?MAX_LOADSTRING);
LoadString(hInstance?IDC_CALCULATOR?szWindowClass?MAX_LOADSTRING);
MyRegisterClass(hInstance);
//?Per

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7680??2012-12-07?18:14??calculator\calculator.aps

?????文件??????21079??2012-12-08?11:16??calculator\calculator.cpp

?????文件???????4541??2012-02-20?17:50??calculator\calculator.dsp

?????文件????????545??2012-02-20?08:35??calculator\calculator.dsw

?????文件????????364??2012-02-21?09:14??calculator\calculator.h

?????文件???????1078??2012-02-20?08:35??calculator\calculator.ico

?????文件?????222208??2012-12-08?12:11??calculator\calculator.ncb

?????文件??????49664??2012-12-08?12:11??calculator\calculator.opt

?????文件???????1238??2012-12-07?18:13??calculator\calculator.plg

?????文件???????4793??2012-12-07?18:14??calculator\calculator.rc

?????文件?????208976??2012-12-07?18:13??calculator\Debug\calculator.exe

?????文件?????288744??2012-12-07?18:13??calculator\Debug\calculator.ilk

?????文件??????91228??2012-12-07?18:13??calculator\Debug\calculator.obj

?????文件????4903280??2012-12-06?17:20??calculator\Debug\calculator.pch

?????文件?????672768??2012-12-07?18:13??calculator\Debug\calculator.pdb

?????文件???????2300??2012-12-06?17:20??calculator\Debug\calculator.res

?????文件??????90701??2010-11-04?20:59??calculator\Debug\msado15.tlh

?????文件??????76655??2010-11-04?20:59??calculator\Debug\msado15.tli

?????文件??????13602??2007-02-17?06:43??calculator\Debug\msscript.tlh

?????文件??????12333??2007-02-17?06:43??calculator\Debug\msscript.tli

?????文件?????110828??2012-12-06?17:20??calculator\Debug\StdAfx.obj

?????文件?????222208??2012-12-07?18:13??calculator\Debug\vc60.idb

?????文件?????585728??2012-12-07?18:13??calculator\Debug\vc60.pdb

?????文件??????13504??2007-02-17?06:43??calculator\msscript.tlh

?????文件??????12284??2007-02-17?06:43??calculator\msscript.tli

?????文件???????2105??2012-02-20?08:35??calculator\ReadMe.txt

?????文件???????1867??2012-05-04?16:51??calculator\resource.h

?????文件????????318??2012-02-20?08:35??calculator\small.ico

?????文件????????297??2012-02-20?08:35??calculator\StdAfx.cpp

?????文件???????1031??2012-05-08?10:20??calculator\StdAfx.h

............此處省略5個文件信息

評論

共有 條評論