全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1048
推到 Plurk!
推到 Facebook!

請問一下...自動判別結果問題...

答題得分者是:cobraliu
nightforlove
一般會員


發表:4
回覆:5
積分:1
註冊:2008-04-08

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-09 19:59:11 IP:202.175.xxx.xxx 訂閱
請問一下...
如果要程式自動判別算式結果,例如a b c
如果a b c<0就停止程序....
要怎樣表達?
小弟還是個初學者....有什麼說錯了多多包涵......
cobraliu
中階會員


發表:15
回覆:75
積分:83
註冊:2007-11-22

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-09 21:30:32 IP:220.143.xxx.xxx 訂閱
自動判別結果???停止程序??

離開迴圈???
[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
begin
for i := 1 to 100 do
Begin
ShowMessage(IntToStr(i));
IF i <= 2 THEN
break;
End;
end;
[/code]

關閉程式???
[code delphi]
procedure TForm1.Button2Click(Sender: TObject);
VAR i : Integer;
begin
i := 1;
IF i <= 1 THEN
Close;
end;
[/code]
------
初學、初學、學了很久...還是在初學階段..Orz
nightforlove
一般會員


發表:4
回覆:5
積分:1
註冊:2008-04-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-09 23:07:38 IP:202.175.xxx.xxx 訂閱
大約是判斷一元二次的delta的正負那樣吧...
正就算下去
負就顯示無解那樣吧...
謝謝大大了/..
編輯記錄
nightforlove 重新編輯於 2008-04-09 23:13:43, 註解 無‧
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-04-10 02:09:45 IP:61.67.xxx.xxx 未訂閱
先把你想做的這段程式碼po上來看看, 如果你都完全不會, 我們如何指導, 其實答案已經在樓上了!
===================引 用 nightforlove 文 章===================
大約是判斷一元二次的delta的正負那樣吧...
正就算下去
負就顯示無解那樣吧...
謝謝大大了/..
nightforlove
一般會員


發表:4
回覆:5
積分:1
註冊:2008-04-08

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-04-10 13:04:11 IP:202.175.xxx.xxx 訂閱

[code delphi]
var
a,b,c,delta:real;
begin
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
delta:=b*b-4*a*c;
if delta<0 then;
close;
edit4.text:=floattostr(delta);

[/code]
這樣....
一按下按鈕就close了...(就是成功了~)
但係如果用break就出錯(可能我不太明白break的用法!?)
chenyk
高階會員


發表:14
回覆:95
積分:171
註冊:2002-07-08

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-04-10 13:49:15 IP:202.39.xxx.xxx 訂閱

if delta<0 then;
close;
edit4.text:=floattostr(delta);

改成
if delta>0 then
begin //delta > 0的處理
edit4.text:=floattostr(delta);
end else begin
// delta <= 0 的處理
end;

break 一般用於強制跳離迴圈
colse 則是直接離開程式
then 後面不應該加分號
建議既然是初學,還是按部就班把該打的 begin...end 補上。別人比較容易看懂。
nightforlove
一般會員


發表:4
回覆:5
積分:1
註冊:2008-04-08

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-04-10 23:31:53 IP:202.175.xxx.xxx 訂閱

[code delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c,delta,plana,planb:real;
begin
if edit1.text='' then
exit;
if edit2.text='' then
exit;
if edit3.text='' then
exit;
a:=strtofloat(edit1.text);
b:=strtofloat(edit2.text);
c:=strtofloat(edit3.text);
delta:=b*b-4*a*c;
if delta<0 then
begin
edit8.text:='µL¸Ñ';
exit;
end;
if delta>0 then
begin
edit8.Text:='';
edit4.text:=floattostr(delta);
edit5.Text:=floattostr(a) 'x*x ' floattostr(b) 'x ' floattostr(c);
plana:=-b sqrt(delta)/(2*a);
edit6.Text:=floattostr(plana);
planb:=-b-sqrt(delta)/(2*a);
edit7.Text:=floattostr(planb);
end;
end;

[/code]
謝謝大大們...
多得你們的提示...
基本ok了...
順便問下...
我寫的東西...
有地方能縮短ma?(意思是會不會太複雜?)
系統時間:2024-05-04 3:19:56
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!