《PASCAL程序设计》书中的问题(30分)

  • 主题发起人 主题发起人 dewy718
  • 开始时间 开始时间
D

dewy718

Unregistered / Unconfirmed
GUEST, unregistred user!
《PASCAL程序设计》书中的例题,编译通过,
运行却出错:
program calculator(input,output);
var
x,y:real;
oper:char;
begin
read(x,oper);
write(x:8:2,oper);
while oper<>'='do
begin
read(y);
write(y:8:2);
case oper of
'+':x:=x+y;
'-':x:=x-y;
'*':x:=x*y;
'/':x:=x/y
end;
read(oper);
write(oper)
end;
writeln(x:8:2);
writeln('<enter> to exit');
readln
end.
比如输入:3.5*2+1.3-2.4=<enter>
出错:Error 106:Invalid numeric format.
谁能告诉我是什么原因?
 
输入的不是实数呀
 
3.5*2+1.3-2.4=<enter>
这样输入一定是错的了
要加空格的 3.5 * 2 + 1.3 = 2.4 =<enter>
 
程序没法处理“ 。 ”

:)
 
var
x,y:real;
temp,oper:char
//modify
begin
read(x,temp,oper)
//modify
write(x:8:2,oper);
while oper<>'='do
begin
read(y);
write(y:8:2);
case oper of
'+':x:=x+y;
'-':x:=x-y;
'*':x:=x*y;
'/':x:=x/y
end;
read(temp,oper)
//modify
write(oper)
end;
writeln(x:8:2);
writeln('<enter> to exit');
readln;
readln
end.

要加空格的 3.5 * 2 + 1.3 - 2.4 =<enter>
 
我认为不是空格的问题,应该和你的输入有关,请检查
我上年才教这门课,学生都没有这问题[:)][:)]
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
763
import
I
后退
顶部