vb if語句的一些小問題,VB裡if語句判斷有點小問題

2022-03-26 02:48:33 字數 6236 閱讀 6229

1樓:

1、為什麼當d<0時,會顯示「無效的過程呼叫或引數」???

這是不存在的,因為

d = sqr(b * b - 4 * a * c)

永遠不會出現d<0的情況。

2、你的if語句沒有錯誤

但是!!!!!

你的**不能正確求解一元二次方程。因為你對一元二次方方程的判別式認識錯誤。

正確的**,如下:

private sub command1_click()

dim a as double

dim b as double

dim c as double

dim d as double

'這裡要增加防止「係數沒有輸入」的錯誤的**

a = val(text1.text)

b = val(text2.text)

c = val(text3.text)

d = b * b - 4 * a * c

label5.caption = d

if d >= 0 then'實根

d=sqr(d)

label7.caption = ((-b) + d) / (2 * a)

label9.caption = ((-b) - d) / (2 * a)

else'虛根

d=sqr(-d)

label7.caption = -b/2/a & 「+」 & d/2/a & 「i"

label9.caption = -b/2/a & 「+」 & d/2/a & 「i"

end if

end sub

2樓:匿名使用者

寫的沒錯

顯示無效的過程或引數在哪行顯示的你沒說明白,應該是d = label5.caption這行吧?

你先宣告瞭這個變數為雙精度型別,如果 label5.caption 不是一個數字,就會報錯。

label5.caption = d

d = label5.caption

這個不理解,都賦值過去了,你再賦值回來幹嘛。

3樓:匿名使用者

乍一看沒錯,實在沒時間建立那麼多控制元件幫你測試,sorry

vb裡if語句判斷有點小問題

4樓:億劫修行

我的視窗控制元件如圖所示:

以下**即可滿足你的計算要求:

private sub command1_click()'計算按鈕**

dim a, b, c as integerdim x1, x2 as single

dim dear as single

a = val(text1.text)

b = val(text2.text)

c = val(text3.text)

dear = b ^ 2 - 4 * a * clabel1.caption = "dear=" + str(dear)

if dear > 0 or dear = 0 thenx1 = (-b - sqr(dear)) / (2 * a)x2 = (-b + sqr(dear)) / (2 * a)text4.text = str(x1)

text5.text = str(x2)

else

text4.text = "無解"

text5.text = "無解"

end if

end sub

vb中關於 if語句 的小問題,都來看看!!!

5樓:

if 語句的兩種使用方式

方式一:

i f ..... then

......

else(可選)

.......(可選)

end if

方式二:

if ..... then .......

6樓:匹諾曹_浩

一班 if和endif裡 只有一句執行時 都寫做這種形式 寫成 if then endif 也可以 都是對的

7樓:ii個人的寂寞

呵呵。通常情況下,if語句需要end if 結束,但是如果執行塊中只有一句,並且和if語句寫在同一行就不需要endif了。這個是非常常用的。

並且還可以這麼用

if 表示式 then 語句1:語句2也是可以的

例子:if 1=1 then msgbox 「test1」:msgbox 「test2」

等同於if 1=1 then

msgbox 「test1」

msgbox 「test2」

end if

以上解釋希望可以幫到你。

8樓:vb中手

哈哈,同一行的if,不用endif

9樓:匿名使用者

if語句和then寫在同一行就不需要endif了

10樓:匿名使用者

if語句有兩種語法

第一種語法:可以使用單行形式來做短小簡單的測試。

if condition then [statements][else elsestatements]

第二種語法:塊形式則提供了更強的結構化與適應性,並且通常也是比較容易閱讀、維護及除錯的。

if condition then

[statements]

[elseif condition-n then[elseifstatements] ...

[else

[elsestatements]]

end if

關於vb語言if語句(也可能應該是別的語句?)的小問題,求幫忙

11樓:

private sub command1_click()if text1.text="" and text2.text<>"" then

msgbox "請輸入出借人!"

elseif text2.text="" and text1.text<>"" then

msgbox "請輸入樂器編號!"

elseif text1.text="" and text2.text="" then

msgbox "請分別輸入出借人及樂器編號!"

else

msgbox "資料新增成功!"

end sub

12樓:匿名使用者

if text1.text="" thenmsgbox("輸入出借人")

elseif text2.text="" thenmsgbox("輸入樂器編號")

elseif text1.text<>"" and text2.text<>"" then

msgbox("資料新增成功")

end if

13樓:匿名使用者

private sub text1_click()text1.text = ""

end sub

private sub text2_click()text2.text = ""

end sub

private sub cmdadditem_click()if text1.text = "" thentext1.text = "請輸入出借人"

elseif text2.text = "" thentext2.text = "請輸入樂器編號"

end if

if text1.text <> "" and text2.text <> "" then

i = msgbox("恭喜你新增成功", vbokonly, "系統提示你")

end if

end sub

關於vb中if語句中的理解問題

14樓:匿名使用者

不妨把第1、2句改寫成如下形式:

if option1.value thenn = 60

endif

if option2.value thenn = 360

endif

第1行option1.value值為真時,執行第2行,否則順序執行if...endif結構後的那一行,即第4行

而現在的形式:if option1.value then n = 60,按語法規定不需要寫endif,意思同上:如果條件滿足執行then後面的語句,否則,執行if 結構後面的那句

15樓:匿名使用者

這個很好理解,一組option可以同時不被選中,但不會同時被選中,一般我們會在程式裡或控制元件屬性裡設定一組option裡的某個option預設是被選中的,這樣再來看你的程式,假如option1和option2預設設定為option1是預設選中的,你就應該明白這段程式的意思了。

16樓:匿名使用者

if then 寫成一行,可以不用end if第一句:option1.value 為真,則n=60;

。。。。

逐句執行,程式初始化常用這種方式。

vb問題!if語句的!懂的來!

vb中if語句問題 20

17樓:公子七哥

如果已經15級再點選就不能強化了唄?所以在強化之前先判斷是不是到了15級,如果是15級了就直接結束子程式。

private sub label1_click()

if cmdint =15

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

end sub

end if

cmdint = cmdint + 1

if cmdint = 1 then

msgbox "恭喜您強化成功!當前強化等級為+1,不愧是被龍神選中的人啊"

else

if cmdint <15

msgbox "恭喜您強化成功!當前強化等級為+" & str(cmdint) & "不愧是被龍神選中的人啊"

end if

if cmdint = 15 then

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

end if

end if

end sub

好像,不用判斷cmdlnt是不是等於1吧,如下:

private sub label1_click()

if cmdint =15

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

end sub

end if

cmdint = cmdint + 1

msgbox "恭喜您強化成功!當前強化等級為+" & str(cmdint) & "不愧是被龍神選中的人啊"

if cmdint = 15 then

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

end if

end sub

個人認為,後面第二處if cmdlnt = 15 then ... end if 這幾行可以不用的。如下:

private sub label1_click()

if cmdint =15

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

end sub

end if

cmdint = cmdint + 1

msgbox "恭喜您強化成功!當前強化等級為+" & str(cmdint) & "不愧是被龍神選中的人啊"

end sub

18樓:匿名使用者

dim cmdint

private sub label1_click()cmdint = cmdint + 1

if cmdint = 1 then

msgbox "恭喜您強化成功!當前強化等級為+1,不愧是被龍神選中的人啊"

else

if cmdint >= 15 then

msgbox "當前已為最高階,暫時無法繼續強化哦!快拿起你的+15神器去擊敗黑暗大將吧!"

else

msgbox "恭喜您強化成功!但前強化等級為+" & str(cmdint) & "不愧是被龍神選中的人啊"

end if

end if

end sub

麻將的小問題,麻將的一些小問題

大三元 胡牌時,手中持有 中中中發發發白白白 其他牌按普通組合即可。小四喜 胡牌時,東南西北 這四喜牌中三喜持有三張,另一喜持有一張,如 東東東南南南西西西北北。其他牌按普通組合即可。十三么 胡牌時,手中持有一九萬一九條一九並 東南西北中發白各一張,另有其中相同的任何一張配對即可。一般高 相同的順子...

關於戀愛的小問題,關於戀愛的一些小問題,戀愛經驗不足,我想問一下

別人和他談起你,說你是他的前同桌,他報以一個微笑你居然問這是不是肯定?你已經患得患失到了很誇張的一個地步了。這樣的感情即使開始,也一定不會維持太久的。你要知道,好姑娘,戀愛必須是維持在一個平等的微妙平衡狀態,才能走的遠。一個人愛的撕心裂肺,一個接受的心安理得,那種感情總是不長久的。我只是給你說明一下...

小米2S的一些小小問題,小米2S的小問題

你是不是root之後給卸了?或者個停用了?設定,應用,全部,找通訊錄,點下面的啟用 嗨!由於miui的桌面無二級選單,所以在桌面查詢,實在找不到可以把手機恢復出廠或者刷機。小米2s的小問題 點住撥號圖示下拉一下解鎖,再拉一下就是上鎖。這個功能是避免使用過程中軟體被強制退出。嗨!在這個介面,按住這個撥...