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的小問題 點住撥號圖示下拉一下解鎖,再拉一下就是上鎖。這個功能是避免使用過程中軟體被強制退出。嗨!在這個介面,按住這個撥...