2

Pascal でプログラムを作成するタスクがあります。プログラムを実行すると、結果は終了コード 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.
4

1 に答える 1

7

他の質問に見られるように、エラー コード 201 は範囲チェック エラーです。簡単に言えば、値が収まらない場所に格納しようとしています。

リンクされた質問のように、Free Pascal Compiler を使用している場合、integer変数は16 ビット値であり、32,767 を超えることはできません。

あなたのtotaldetik変数は値の制限よりも高いことが多いように見えるintegerので、それを格納するにはより大きな変数が必要になります。代わりにtotaldetikaを作成してみてください。longint

于 2016-02-19T03:38:22.647 に答える