當前位置:編程學習大全網 - 編程語言 - vb編寫計算器加減乘除怎麽弄

vb編寫計算器加減乘除怎麽弄

'?------------------------------------------------------------------------

'版權所有?(C)?1994?Microsoft?Corporation

'

'?您可以免費以任何方式使用、修改、復制並分發您認為有用的

'?示例應用程序文件?(或任何修改過的版本)。Microsoft?對任何

'?示例應用程序文件不做任何保證,不負任何責任和義務。

'?------------------------------------------------------------------------

Option?Explicit

Dim?Op1,?Op2'?預先輸入操作數。

Dim?DecimalFlag?As?Integer?'?小數點存在嗎?

Dim?NumOps?As?Integer'?操作數個數。

Dim?LastInput'?指示上壹次按鍵事件的類型。

Dim?OpFlag?'?指示未完成的操作。

Dim?TempReadout

'?C?(取消)?按鈕的?Click?事件過程

'?重新設置顯示並初始化變量。

Private?Sub?Cancel_Click()

Readout?=?Format(0,?"0.")

Op1?=?0

Op2?=?0

Form_Load

End?Sub

'?CE?(取消輸入)?按鈕的?Click?事件過程。

Private?Sub?CancelEntry_Click()

Readout?=?Format(0,?"0.")

DecimalFlag?=?False

LastInput?=?"CE"

End?Sub

'?小數點?(.)?按鈕的?Click?事件過程

'?如果上壹次按鍵為運算符,初始化?readout?為?"0.";

'?否則顯示時追加壹個小數點。

Private?Sub?Decimal_Click()

If?LastInput?=?"NEG"?Then

Readout?=?Format(0,?"-0.")

ElseIf?LastInput?<>?"NUMS"?Then

Readout?=?Format(0,?"0.")

End?If

DecimalFlag?=?True

LastInput?=?"NUMS"

End?Sub

'?窗體的初始化過程

'?設置所有變量為其初始值。

Private?Sub?Form_Load()

DecimalFlag?=?False

NumOps?=?0

LastInput?=?"NONE"

OpFlag?=?"?"

Readout?=?Format(0,?"0.")

'Decimal.Caption?=?Format(0,?".")

End?Sub

'?數字鍵?(0-9)?的?Click?事件過程

'?向顯示中的數追加新數。

Private?Sub?Number_Click(Index?As?Integer)

If?LastInput?<>?"NUMS"?Then

Readout?=?Format(0,?".")

DecimalFlag?=?False

End?If

If?DecimalFlag?Then

Readout?=?Readout?+?Number(Index).Caption

Else

Readout?=?Left(Readout,?InStr(Readout,?Format(0,?"."))?-?1)?+?Number(Index).Caption?+?Format(0,?".")

End?If

If?LastInput?=?"NEG"?Then?Readout?=?"-"?&?Readout

LastInput?=?"NUMS"

End?Sub

'?運算符?(+,?-,?x,?/,?=)?的?Click?事件過程

'?如果接下來的按鍵是數字鍵,增加?NumOps。

'?如果有壹個操作數,則設置?Op1。

'?如果有兩個操作數,則將?Op1?設置為?Op1?與

'?當前輸入字符串的運算結果,並顯示結果。

Private?Sub?Operator_Click(Index?As?Integer)

TempReadout?=?Readout

If?LastInput?=?"NUMS"?Then

NumOps?=?NumOps?+?1

End?If

Select?Case?NumOps

Case?0

If?Operator(Index).Caption?=?"-"?And?LastInput?<>?"NEG"?Then

Readout?=?"-"?&?Readout

LastInput?=?"NEG"

End?If

Case?1

Op1?=?Readout

If?Operator(Index).Caption?=?"-"?And?LastInput?<>?"NUMS"?And?OpFlag?<>?"="?Then

Readout?=?"-"

LastInput?=?"NEG"

End?If

Case?2

Op2?=?TempReadout

Select?Case?OpFlag

Case?"+"

Op1?=?CDbl(Op1)?+?CDbl(Op2)

Case?"-"

Op1?=?CDbl(Op1)?-?CDbl(Op2)

Case?"X"

Op1?=?CDbl(Op1)?*?CDbl(Op2)

Case?"/"

If?Op2?=?0?Then

MsgBox?"除數不能為零",?48,?"計算器"

Else

Op1?=?CDbl(Op1)?/?CDbl(Op2)

End?If

Case?"="

Op1?=?CDbl(Op2)

Case?"%"

Op1?=?CDbl(Op1)?*?CDbl(Op2)

End?Select

Readout?=?Op1

NumOps?=?1

End?Select

If?LastInput?<>?"NEG"?Then

LastInput?=?"OPS"

OpFlag?=?Operator(Index).Caption

End?If

End?Sub

'?百分比鍵?(%)?的?Click?事件過程

'?計算並顯示第壹個操作數的百分數。

Private?Sub?Percent_Click()

Readout?=?Readout?/?100

LastInput?=?"Ops"

OpFlag?=?"%"

NumOps?=?NumOps?+?1

DecimalFlag?=?True

End?Sub

  • 上一篇:軟硬件壹體+自主研發,這款中國品牌汽車令人刮目相看
  • 下一篇:多頭氣割機的詳細資料與詳細操作步驟與操作註意事項
  • copyright 2024編程學習大全網