請問小算盤程式+-*/的問題 |
答題得分者是:ANDY8C
|
stu904022
一般會員 發表:2 回覆:1 積分:0 註冊:2012-03-20 發送簡訊給我 |
這是我最上面設的變數
var Form1: TForm1; strShow :string; intX,intI, intJ, intA , intZ , intMresult, intM1, intResult:double; 等於(=) 鍵的部分 var intResult,intJ:real; begin intA := round(intA); intJ := StrTofloat(strShow); case intA of 1: begin intResult := intI intJ; end; 2: begin intResult := intI - intJ; end; 3: begin intResult := intI * intJ; end; 4: begin intResult := intI div intJ; end; end; strShow := floatTostr(intresult); edit1.text := strShow; 然後在執行時出現 Error: Ordinal expression expected Error: Constant and CASE types do not match Error: Incompatible types: got "Real" expected "LongInt" 請問我該怎麼解決呢ˊ3ˋ |
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
|
stu904022
一般會員 發表:2 回覆:1 積分:0 註冊:2012-03-20 發送簡訊給我 |
|
dt520
一般會員 發表:11 回覆:61 積分:14 註冊:2003-05-13 發送簡訊給我 |
CASE 只能是整数,不管如何都要转为整数, round就是整数化,
這是我最上面設的變數 修改为: var Form1: TForm1; strShow :string; intX,intI, intJ, intA , intZ , intMresult, intM1, intResult:double; i:integer; 等於(=) 鍵的部分 var intResult,intJ:real; begin i := round(intA); intJ := StrTofloat(strShow); case i of 1: begin intResult := intI intJ; end; 2: begin intResult := intI - intJ; end; 3: begin intResult := intI * intJ; end; 4: begin intResult := intI / intJ; end; else end; strShow := floatTostr(intresult); edit1.text := strShow;
編輯記錄
dt520 重新編輯於 2012-05-03 06:19:48, 註解 無‧
|
nicolas
一般會員 發表:39 回覆:40 積分:15 註冊:2004-05-05 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |