Free pascal有关case的用法

来源:百度知道 编辑:UC知道 时间:2024/05/30 20:47:15
program exam1;
var
x,n:integer;
begin
write('x= ');
readln(x);
if 0<=x<=100 then n:=1;
if 100<x then n:=2;
case n of
1:writeln('ok');
2:writeln('no');
readln;
end.

请问各位,这个程序都有哪些问题,改怎么解决~多谢啦!!!!

不仅仅是case错了,if后面也错了
program exam1;
var
x,n:integer;
begin
write('x= ');
readln(x);
if (x<=100) and (x>=0) then n:=1;
if 100<x then n:=2;
case n of
1:writeln('ok');
2:writeln('no');
end;
readln;
end.

给出如下意见:
1.case结束后要加end;
2.布尔表达式的写法需要学习下,你那种有传递性的表达式是错的。但是不能绝对地说一个表达式中只能出现一个等号,因为有时候又可以写好几个等号、不等号,但是意义完全不是你平时想的那样。所以这块知识你需要好好学习下。

program exam1;
var
x,n:integer;
begin
write('x= ');
readln(x);
if 0<=x<=100 then n:=1;
if 100<x then n:=2;
case n of
1:writeln('ok');
2:writeln('no');
end;
readln;
end.

这个
case n of

end;
才对
记得case 完了也要end;

if 0<=x<=100 then n:=1;
这里不能这么用
只能一个一个的:IF (X>=0) AND (X<=100) THEN N:=1
明白?
还有case 虽然不用BEGIN,但必须有一个END;