急急急,求大神用vb教做簡易計算器,加減乘除就可以。能用加分

2022-05-09 01:55:41 字數 5801 閱讀 5106

1樓:匿名使用者

按你的要求做的**如下:

在1個新窗體上編排以下控制元件:

新增1個label1控制元件用作顯示資料,name=lblscreen

新增1個command控制元件陣列(10個數字)用作輸入資料的按鈕0~9,name=cmdnumber,index=0~9

新增1個command控制元件用作小數點按鈕「.」,name=cmdpoint

新增1個command控制元件等號按鈕「=」,name=cmdequal

新增1個command控制元件陣列(4個符號)用作加減乘除按鈕,name=cmdarithmetic,index=0~3

好了,然後複製以下**執行即可成功啦:

private strcalculatetype as string '存放運算型別

private blncalflag as boolean '標記是否已經輸入加數、或減數、或乘數、或除數等

private dblnum1 as double '存放被加數、或被減數、或被乘數、或被除數等

private dblnum2 as double '存放加數、或減數、或乘數、或除數等

private dblmemo as double '記憶體中的數

private sub form_load()

dim i as integer

lblscreen = "0"  '初始化顯示屏和關閉按鈕

lblscreen.backcolor = vbblack

strcalculatetype = ""  '初始化運算子型別和標記變數

blncalflag = false

dblmemo = 0   '初始化記憶體變數

end sub

'四則運算

private sub cmdarithmetic_click(index as integer)

select case index

case 0 '輸入加法

cmdequal_click

strcalculatetype = "+"

dblnum1 = val(lblscreen)

case 1 '輸入減法

cmdequal_click

strcalculatetype = "-"

dblnum1 = val(lblscreen)

case 2 '輸入乘法

cmdequal_click

strcalculatetype = "*"

dblnum1 = val(lblscreen)

case 3 '輸入初法

cmdequal_click

strcalculatetype = "/"

dblnum1 = val(lblscreen)

end select

end sub

'求結果(即等於)

private sub cmdequal_click()

dblnum2 = val(lblscreen)

if strcalculatetype = "/" then

lblscreen = dblnum1 / dblnum2

elseif strcalculatetype = "*" then

lblscreen = dblnum1 * dblnum2

elseif strcalculatetype = "-" then

lblscreen = dblnum1 - dblnum2

elseif strcalculatetype = "+" then

lblscreen = dblnum1 + dblnum2

elseif strcalculatetype = "x^y" then

lblscreen = dblnum1 ^ dblnum2

end if

'    if left(lblscreen.caption, 1) = "." then lblscreen.

caption = "0" & lblscreen.caption

'    if len(lblscreen.caption) > 15 then lblscreen.caption = left(lblscreen.caption, 15)

strcalculatetype = ""

blncalflag = false

end sub

'使用控制元件陣列輸入資料

private sub cmdnumber_click(index as integer)

if lblscreen = "0" then

lblscreen = ""

end if

if blncalflag = false then

lblscreen = cstr(index)

blncalflag = true

else

lblscreen = lblscreen + cstr(index)

end if

end sub

'輸入小數點

private sub cmdpoint_click()

if blncalflag = true then

if instr(1, lblscreen, ".") = 0 then

if lblscreen <> "" then

lblscreen = lblscreen + "."

else

lblscreen = "0."

end if

end if

else

if blncalflag = false then

lblscreen = "0."

blncalflag = true

end if

end if

end sub

怎麼樣?給你的**非常詳細了吧,包括給你的解說哦!

2樓:刀心

用select case 語句 很簡單的

簡易vb加法計算器,請教各位大神**出錯了,該怎麼辦啊

3樓:_死亡狙擊手

private sub text1_change(index as integer)

end sub

亮點是這一段,我估計你的text1被複製成為控制元件陣列了而你使用text1.text並沒有加上識別符號,如:text1(0).text,所以導致錯誤

還有就是你以為黏貼了text2和text3,其實text2和text3反而被黏貼成了text1(1)和text1(2)

建議重新開個工程,儘量不要複製黏貼控制元件

如果黏貼控制元件的時候彈出對話方塊是否建立控制元件陣列,點選否

4樓:銷聲匿跡

你沒有載入

text2.text

text3.text

5樓:ma教教主

你應該根本就沒有叫text3的東西(注意大小寫),死亡狙擊手說的有可能是對的,也有可能只是你單純的大小寫問題

有沒有大神可以幫我用vb做一個簡易計算器啊,能加減乘除,退格、倒數等功能就好了,快考試了,好方啊!! 10

6樓:

介面上放1個文字框。6個按鈕,分別為+、-、*、/、=、c定義幾個窗體級變數

dim x1 as double, x2 as doubledim operateid as integer窗體裝載時給初值

private sub form1_load()x1 = 0

x2 = 0

operateid = 0

end sub

c按鈕,即清零按鈕

private sub button6_click()x1 = 0

x2 = 0

operateid = 0

text1.text = 0

end sub

+按鈕private sub button1_click()calculate()

x1 = val(text1.text)

operateid = 1

end sub

-按鈕private sub button2_click()calculate()

x1 = val(text1.text)

operateid = 2

end sub

*按鈕private sub button3_click()calculate()

x1 = val(text1.text)

operateid = 3

end sub

/按鈕private sub button4_click()calculate()

x1 = val(text1.text)

operateid = 4

end sub

=按鈕private sub button5_click()calculate()

end sub

計算用的函式

sub calculate()

x2 = val(text1.text)

select case operateidcase 1

textbox1.text = x1 + x2case 2

textbox1.text = x1 - x2case 3

textbox1.text = x1 * x2case 4

textbox1.text = x1 / x2end select

operateid = 0

end sub

如何用vb製作計算器(只要有加減乘除,三個文字框)?

7樓:魚木混豬喲

vb中的textbox裡的內容預設是string型別,,如果用+號連線,就會認為是字元型資料做連線運算。如果想要作為數字進行加法,就必須強制轉換算成數值型,可以用val函式來實現轉換。以加法為例:

private sub command1_click() '加text3.text = val(text1) + val(text2.text)

text1.text = ""

text2.text = ""

end sub

其餘幾個預算,也是一樣的道理。

8樓:吹花

private sub command1_click() '加

text3.text = val(text1) + val(text2.text)

text1.text = ""

text2.text = ""

end sub

private sub command2_click() '減

text3.text = val(text1) - val(text2.text)

text1.text = ""

text2.text = ""

end sub

private sub command3_click() '乘

text3.text = val(text1) * val(text2.text)

text1.text = ""

text2.text = ""

end sub

private sub command4_click() '除

text3.text = val(text1) / val(text2.text)

text1.text = ""

text2.text = ""

end sub

注:textbox裡的內容是是string型別,參與運算時應該強制轉換算成數值型,用val函式

你這裡+號兩端都是字元型別資料,在vb中是做連線運算。

咋做英語急急急十萬火急求大神,咋做英語急急急十萬火急求大神幫忙啊

look whymy time canwhat that about where great look whythat time 咋做急急急十萬火急求大神幫忙英語 1 color 2 know 3 meet 4 and 5 call 6 under 7 girl 8 yours 9must 10 s...

工傷!急急急急急急!求律師大神

雖然你們沒有簽訂勞動合同,但是你們存在實際的勞動關係,在工作中發生事故,當然可以申報工傷。如果當地勞動部門不予受理,你可以直接向人民法院提起訴訟!首先對於你的遭遇表示同情。其次如果你確實在這上班,得有證據,比如上崗證啊,或者能夠證明你在這上班的東西啊。第三這事勞動部門確實應該得管,如果你確實在這單位...

求cad大神畫圖,急急急,求cad大神畫圖,急急急!

發 草圖 看下 大概,或者 具體尺寸發出來 也沒個要求,畫什麼,有沒有草圖,這些都不說,人家怎麼知道要不要幫你呢 求cad大神幫畫圖!急急急 請先看一下這個截圖,如果認為可用,請追問,再上傳圖紙給你。或,黑白的 最起碼懸賞100才單獨給你畫 我幫你畫,得給我點時間 求工程圖學大神讀圖cad畫圖!等,...