如何修复exitcode 201?

Nab*_*kyy 2 pascal freepascal turbo-pascal

我有一个任务是在Pascal中编写一个程序.当我运行程序时,结果是exitcode 201.

我不知道如何解决这个错误.

    program convertTime;
    uses crt;
    Type
            Jam = record
                  hh:integer ;
                  mm:integer ;
                  ss:integer;

    end;
    var
            J : Jam;
            P,totaldetik,sisa : integer;

    begin
            J.hh:= 16;
            J.mm:= 10;
            J.ss:= 34;

            write('masukkan waktu(menit): ');read(p);

            totaldetik:= (J.hh*3600) + (J.mm*60) + J.ss + (p*60);

            J.hh:= totaldetik div 3600;
            sisa:= totaldetik mod 3600 ;
            J.mm:= sisa div 60;
            J.ss:= sisa mod 60;

            writeln('total the time: ',J.hh,' Hour ',J.mm,' Minute ',J.ss,' second');
            readln;
    end.
Run Code Online (Sandbox Code Playgroud)

and*_*ich 7

如在其他问题中所见,错误代码201是范围检查错误.简而言之,一个值试图存储在不适合的地方.

如果在链接问题中使用Free Pascal编译器,integer变量是16位值 - 它们不能高于32,767.

您的totaldetik变量看起来往往会比一个极限高integer值,所以你需要一个更大的变数将其存储在.试着做totaldetik一个longint吧.