回 帖 发 新 帖 刷新版面

主题:[讨论]大家来帮我看看这个程序吧!!!!!

我才开始学Pascal,水平还不高。[em2]
我编了一个程序(附件也是这个程序):

program MathExam(input,output);
var i,a,b,c,d,s:integer;
    x:array[1..4] of char;

procedure rightp(var sc:integer);
  begin
    sc:=sc+10;
    writeln('Good! Your score is ',sc,' now.');
    writeln;
  end;

procedure wrongp;
  begin
    writeln('Sorry,you are wrong!');
    writeln;
  end;

begin
  randomize;
  x[1]:='+';x[2]:='-';
  x[3]:='*';x[4]:='/';
  for i:=1 to 10 do
    begin
      repeat
        a:=trunc(random*9)+1;
        b:=trunc(ramdom*9)+1;
        c:=trunc(ramdom*4)+1;
      until not (c=4 and a mod b<>0);
      write(a,' ',x[c],' ',b,' = ');
      readln(d);
      case x[c] of
        '+':if a+b=d then rightp(s) else wrongp;
        '-':if a-b=d then rightp(s) else wrongp;
        '*':if a*b=d then rightp(s) else wrongp;
        '/':if a/b=d then rightp(s) else wrongp;
      end;
    end;
  writeln('Your score is ',s,'!');
  if s=100
    then writeln('Very good!')
    else
      if s<100 and s>=60
        then writeln('Good!')
        else
          if s<60 and s>30
            then writeln('Just so so.')
            else writeln('So bad!');
end.

因为这个程序里的好多东西老师还没教,我也不是很懂,所以请大家帮我看看这个程序有什么问题,谢啦~~
对了,这个程序TP编译时显示“Error 3: Unknown identifier.”(光标定在“b:=trunc(ramdom*9)+1;”这句“random”里的“r”字母。

(只要是有用的回答都加分)[em9]

回复列表 (共6个回复)

沙发

请问您的题目是什么?
not((c=4) and (a mod b<>0));


 s<60 and s>30
s<100 and s>=60
加括号


板凳

就是请大家帮忙看看这个程序有什么问题呀!

3 楼

你random变成ramdom了!
以后小心

4 楼

哎呀,疏忽了~~

5 楼

[quote]not((c=4) and (a mod b<>0));


 s<60 and s>30
s<100 and s>=60
加括号


[/quote]

[em18] 这个应该没有什么关系吧??

6 楼

是看系统的吧
我这里编译时有问题
个人认为:还是加了好,以免出错
(这样有分吗?)

我来回复

您尚未登录,请登录后再回复。点此登录或注册