Turbo C & BCB 的問題 |
尚未結案
|
laydduck
一般會員 發表:9 回覆:10 積分:3 註冊:2003-11-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
laydduck您好:
sqrt:Domain error
有可能是因為您輸入的引數是負值
或是利用Debug的工具(DebugView),您可以試試看
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31236
RaynorPao 版主有說明如何使用 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~> 發表人 -
|
laydduck
一般會員 發表:9 回覆:10 積分:3 註冊:2003-11-16 發送簡訊給我 |
感謝囉,不錯的除錯程式~
但是找了找還是沒辦法找出真正的原因,
想了一下BCB 唯一與Turbo C最大不同點在於一開始的宣告部分
會不會是我宣告、讀值有不恰當的地方呢?
還是有其他宣告的方式。^^" ex:
//......................start
double x,y;
double W_OF_LG;
double L_OF_LG; W_OF_LG=Edit1->Text.ToDouble();
L_OF_LG=Edit2->Text.ToDouble(); x=W_OF_LG*L_OF_LG;
........
........
y=sqrt(x);
........
Edit3->Text=AnsiString(y);
........
//.......................end
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
laydduck您好:
我試過您的程式碼,並沒有問題耶
< class="code">
void __fastcall TForm1::Button1Click(TObject *Sender)
{
double x,y;
double W_OF_LG;
double L_OF_LG;
W_OF_LG=Edit1->Text.ToDouble();
L_OF_LG=Edit2->Text.ToDouble();
x=W_OF_LG*L_OF_LG;
y=sqrt(x);
Edit3->Text=AnsiString(y);
} 順心 <>~我也是在學習的階段,回答的不好請您多多見諒與指教~>
|
laydduck
一般會員 發表:9 回覆:10 積分:3 註冊:2003-11-16 發送簡訊給我 |
|
taishyang
站務副站長 發表:377 回覆:5490 積分:4563 註冊:2002-10-08 發送簡訊給我 |
aydduck您好:
引言: 那是我舉一個例子啦~~ 寫小程式的時候我都是這樣做,都沒問題。 還有其他比較方便的宣告的方式嗎? 可以提供給我參考一下嗎? PS:我看下次能不能把已寫好,但有問題的程式碼 拿出來直接給你幫我看一下~那該怎麼寄給你呢?因為您提供的資訊實在太少,很難看出問題在哪邊 所以假如可以的話,您可以將專案上傳至[會員求助程式檔案上傳區] http://delphi.ktop.com.tw/forum.asp?FORUM_ID=97 讓大家幫您看看< > 順心< > ~我也是在學習的階段,回答的不好請您多多見諒與指教~ |
laydduck
一般會員 發表:9 回覆:10 積分:3 註冊:2003-11-16 發送簡訊給我 |
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
對不起,挿個嘴,關於
error:
sqrt:Domain error
Invalid float point operation
指的是您在叫用 sqrt(x) 時,輸入參數 x 已經是一個負數,所以會有 domain error 的錯誤,以下是 BCB5 Online Help
Category Math Routines Syntax #include <math.h> double sqrt(double x); long double sqrtl(long double x); Description Calculates the positive square root. sqrt calculates the positive square root of the argument x. sqrtl is the long double version; it takes a long double argument and returns a long double result. Error handling for these functions can be modified through the functions _matherr and _matherrl. Return Value On success, sqrt and sqrtl return the value calculated, the square root of x. If x is real and positive, the result is positive. If x is real and negative, the global variable errno is set to EDOM Domain error如果您確定您的算式沒錯,那可以試試 y=sqrt(fabs(x));確保叫用 sqrt 時是以正實數傳入,就不會有 Domain error 的錯誤了。 沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |