兩個Delphi的數學題目 |
答題得分者是:jow
|
kentity
一般會員 發表:1 回覆:1 積分:0 註冊:2007-11-06 發送簡訊給我 |
|
jow
尊榮會員 發表:66 回覆:751 積分:1253 註冊:2002-03-13 發送簡訊給我 |
簡單問題應該先提一下自己的想法...^_^
[code delphi] public function Area(l, w: Extended): Extended; overload; //矩型(含正方形) function Area(u, d, h: Extended): Extended; overload; //梯形 function Area(r: Extended): Extended; overload; //圓形 function Get9x9(a, b: Byte; var retVal: Byte; var S: string): Boolean; //求值:九九乘法表 end; implementation function TForm1.Area(l, w: Extended): Extended; begin Result := l * w; end; function TForm1.Area(u, d, h: Extended): Extended; begin Result := (u d) * h / 2; end; function TForm1.Area(r: Extended): Extended; begin Result := PI * r * r; end; function TForm1.Get9x9(a, b: Byte; var retVal: Byte; var S: string): Boolean; begin retVal := 0; S := ''; Result := (a in [1..9]) and (b in [1..9]); if Result then begin retVal := a * b; S := Format('%d x %d = %d', [a, b, retVal]); end; end; [/code]
編輯記錄
jow 重新編輯於 2007-11-06 01:41:53, 註解 無‧
|
kentity
一般會員 發表:1 回覆:1 積分:0 註冊:2007-11-06 發送簡訊給我 |
|
cluise789
一般會員 發表:1 回覆:5 積分:1 註冊:2007-08-07 發送簡訊給我 |
[code delphi] unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Math; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Button1: TButton; Edit3: TEdit; Label1: TLabel; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Button2: TButton; Edit7: TEdit; Edit8: TEdit; Button3: TButton; Edit9: TEdit; Button4: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); procedure Button4Click(Sender: TObject); private { Private declarations } public { Public declarations } function Area(len,wid:Extended):Extended;overload; function Area(ul,ll,ht:Extended):Extended;overload; function Area(rad:Extended):Extended;overload; function Get9X9(a,b:byte;var retVal:byte;var S:string):boolean; end; var Form1: TForm1; //Const PI=3.1415962; implementation {$R *.dfm} function TForm1.Area(len,wid:Extended):Extended; begin result:=len*wid; end; function TForm1.Area(ul,ll,ht:Extended):Extended; begin result:=(ul ll)*ht/2.0; end; function TForm1.Area(rad:Extended):Extended; begin result:=PI*Power(rad,2); end; function TForm1.Get9X9(a,b:byte;var retVal:byte;var S:string):boolean; begin retVal:=0; s:=''; result:=(a in[1..9]) and (b in[1..9]); if result then begin retVal:=a*b; S:=format('%d * %d = %d ',[a,b,retVal]); end; end; procedure TForm1.Button1Click(Sender: TObject); var len,wid:Extended; begin len:=0;wid:=0; if edit1.Text<>'' then try len:=strtofloat(edit1.text); except on E:Exception do begin // messagedlg('輸入的長度錯誤!請重新輸入', mrAbort,[mrAbort],0,mrAbort); MessageDlg('輸入的長度錯誤!請重新輸入', mtError, [mbOk], 0); // showmessage('輸入的長度錯誤!請重新輸入'); abort; end; end; if edit2.Text<>'' then try wid:=strtofloat(edit2.text); except on E:Exception do begin MessageDlg('輸入的寬度錯誤!請重新輸入', mtError, [mbOk], 0); // showmessage('輸入的寬度錯誤!請重新輸入'); abort; end; end; edit3.Text:=format('.2f',[Area(len,wid)]); end; procedure TForm1.Button2Click(Sender: TObject); var ul,ll,ht:extended; begin ul:=0;ll:=0;ht:=0; if edit4.Text<>'' then try ul:=strtofloat(edit4.text); except on E:Exception do begin MessageDlg('輸入的上底錯誤!請重新輸入', mtError, [mbOk], 0); abort; end; end; if edit5.Text<>'' then try ll:=strtofloat(edit5.text); except on E:Exception do begin MessageDlg('輸入的下底錯誤!請重新輸入', mtError, [mbOk], 0); abort; end; end; if edit6.Text<>'' then try ht:=strtofloat(edit6.text); except on E:Exception do begin MessageDlg('輸入的高度錯誤!請重新輸入', mtError, [mbOk], 0); abort; end; end; edit7.Text:=format('.2f',[Area(ul,ll,ht)]); end; procedure TForm1.Button3Click(Sender: TObject); var rad:extended; begin rad:=0; if edit8.Text<>'' then try rad:=strtofloat(edit8.text); except on E:Exception do begin MessageDlg('輸入的半徑錯誤!請重新輸入', mtError, [mbOk], 0); abort; end; end; edit9.Text:=format('.2f',[Area(rad)]); end; procedure TForm1.Button4Click(Sender: TObject); var c:byte; tempstr:string; begin if Get9X9(2,2,c,tempstr) then showmessage(tempstr); end; end. [/code]
------
cluise is a professional programmer. |
MatthewSong
一般會員 發表:17 回覆:17 積分:6 註冊:2007-09-24 發送簡訊給我 |
|
broodwarfish
一般會員 發表:1 回覆:3 積分:0 註冊:2007-02-09 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |