2016-02-19 4 views
0

J'ai une tâche pour écrire un programme en Pascal. Lorsque j'ai exécuté le programme, le résultat a été exitcode 201.comment réparer la sortie 201?

Je ne sais pas comment résoudre cette erreur.

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. 
+1

code d'erreur de recherche peut-être? –

+1

Copie possible de [Erreur d'exécution 201 à fpc] (http://stackoverflow.com/questions/20315852/runtime-error-201-at-fpc) –

+0

Quelles options avez-vous utilisées (le cas échéant) lorsque vous avez compilé votre code? Quelle entrée avez-vous donné au programme lorsque vous l'avez exécuté pour obtenir une erreur 201? – lurker

Répondre

5

Comme vu dans other questions, le code d'erreur 201 est une erreur de vérification de plage. En termes simples, une valeur essaie d'être stockée là où elle ne correspond pas.

Si, comme dans la question liée, vous utilisez le compilateur Free Pascal, integer les variables sont 16-bit values - ils ne peuvent pas aller plus haut que 32767.

votre variable totaldetik ressemble, il serait souvent plus élevé que la limite d'une valeur integer, vous aurez donc besoin d'une variable plus grande pour le stocker dans. Essayez de faire à la place totaldetik un longint.