急! 20點 Dev-Pascal Real問題

2012-01-08 1:46 am

program temp;

Uses
Crt;

Var
b , d , h: String;
e , f , g : Extended;

begin

Write('Please enter your first letter : ');
Readln(b);

If (b = 'c') Then
e := 7.25
Else
If (b = 'l') Then
e := 0
Else
If (b = 'a') Then
e := 7
Else
If (b = 'a1') Then
e := 7
Else
Write('You have enter wrong ! ');

Write(e);
Readln;

Write('Please enter your second letter : ');
Readln(d);

If (d = 'c') Then
f := 7.25
Else
If (d = 'l') Then
f := 0
Else
If (d = 'a') Then
f := 7
Else
If (d = 'a1') Then
f := 7
Else
Write('You have enter wrong ! ');
Readln;

Write(e+f);

Write('Please enter your third letter : ');
Readln(h);

If (h = 'c') Then
g := 7.25
Else
If (h = 'l') Then
g := 0
Else
If (h = 'a') Then
g := 7
Else
If (h = 'a1') Then
g := 7
Else
Write('You have enter wrong ! ');

Write(e+f+g);
Readln;

end.

第一次打c無問題
第二,三次打c有問題
小數點唔岩位
個小數點點先岩位 ?
更新1:

Sorry e,f,g唔係Extended 係Real

回答 (1)

2012-01-08 5:34 am
✔ 最佳答案
首先,個人認為不需要加 uses crt;
回答你的問題,
Write(e);
Write(e+f);
Write(e+f+g);
呢3句我覺得用 writeln會好D
另外就係:
Write(e+f:0:2);
Write(e+f+g:0:2);
上面咁做就係將佢變成取小數點後2個位
pascal 既real 所出既數值係唔同平時見到果D
希望解答到你既問題~

有唔明可以再問~

2012-01-08 18:39:32 補充:
其實,writeln果度你run 個 program就知道,出第2個值會同句句子同一行,之所以有writeln呢個procedure,就係因為呢樣野.
另外,你用得多就知uses crt;對program唔多好,比較理想既做法係在cmd入面rum program,有左uses crt; 個program就有問題
如果你只係為答案而發問,那對不起,我浪費了你一些時間看這些'廢話',當我無講過~
參考: me


收錄日期: 2021-05-04 03:43:07
原文連結 [永久失效]:
https://hk.answers.yahoo.com/question/index?qid=20120107000051KK00850

檢視 Wayback Machine 備份