Pascal Unterbereichstyp Wertebereich wird überschritten

Diskutiere und helfe bei Pascal Unterbereichstyp Wertebereich wird überschritten im Bereich Software & Treiber im SysProfile Forum bei einer Lösung; Hallo, ich bin gerade bei den Unterbereichstypen von Pascal. Ich habe folgendes Programm geschrieben, welches nach der eingabe des aktuellen Datums,... Dieses Thema im Forum "Software & Treiber" wurde erstellt von Jack Daniel, 1. Oktober 2009.

  1. Jack Daniel
    Jack Daniel BIOS-Schreiber
    Registriert seit:
    8. Januar 2009
    Beiträge:
    647
    Zustimmungen:
    20
    Name:
    Daniel
    1. SysProfile:
    91764
    2. SysProfile:
    116640

    Hallo, ich bin gerade bei den Unterbereichstypen von Pascal. Ich habe folgendes Programm geschrieben, welches nach der eingabe des aktuellen Datums, den nächsten Tag ausgibt.

    Mein Problem ist allerdings, wenn ich den Wertebereich (z.B. Monat) überschreite, läuft das Programm ohne Fehlermeldung weiter. obwohl ich das Maximum angegeben habe:

    Code:
    var
      Tag   : 1..31;
      Monat : 1..12;
      Jahr  : 2001..2999;
      Letzt : 28..31;
    
    Sollte nicht eigentlich eine Meldung wie "Value Ranger Error" erscheinen?

    Hier mein Programm:

    Code:
    (* Dieses Programm zeigt das Datum des nachfolgenden Tages an.
     *
     * Datum: 01.10.2009                Autor: Jack Daniel
     *)
    
    program Datum;
    {$APPTYPE CONSOLE}
    uses
      sysutils;
    
    var
      Tag   : 1..31;
      Monat : 1..12;
      Jahr  : 2001..2999;
      Letzt : 28..31;
    
    begin
      write('Geben Sie das aktuelle Datum in Form dreier Zahl ein! ');
      readln(Tag, Monat, Jahr);
    
      case (Monat) of
        1, 3, 5, 7, 8, 10, 12 : Letzt := 31;
        4, 6, 9, 11           : Letzt := 30;
        2                     : if (Jahr Mod 4 = 0) then
                                  Letzt := 29
                                else Letzt := 28;
      end; (* of case *)
    
      if (Tag = Letzt) then // Wenn der Tag gleich dem Wert "Letzt" entspricht, ist das Monatsende erreicht.
      begin
        Tag := 1;
        if (Monat = 12) then
        begin
          Monat := 1;
          Jahr := Jahr + 1
        end
        else Monat := Monat + 1;
      end
      else Tag := (Tag + 1);
    
      writeln(' Der n„chste Tag ist lautet: ', Tag, '.', Monat, '.', Jahr);
    
      readln;
    end.
    Gruß Jack Daniel
     
    #1 Jack Daniel, 1. Oktober 2009
  2. User Advert

Thema:

Pascal Unterbereichstyp Wertebereich wird überschritten

Die Seite wird geladen...

Pascal Unterbereichstyp Wertebereich wird überschritten - Similar Threads - Pascal Unterbereichstyp Wertebereich

Forum Datum

Frage zu Pascal Würfeln

Frage zu Pascal Würfeln: Hallo ich schreibe morgen eine Klausur über Pascal, nur leider weiß ich nicht wie man folgendes programmiert: Ein Würfel würfelt 100 mal(also Random und Array) das Programm muss dann ausgeben...
freie Fragen 29. März 2012

Turbo Pascal Hilfe-Tread!

Turbo Pascal Hilfe-Tread!: Hallo Sysprofiler/rinnen Das hier ist ein Hilfe Tread zur Programmiersprache Turbo Pascal! Hier direkt mein 1. Problem:^^ Program hallo; VAR vorname :STRING[20]; BEGIN CLRSCR; READ(vorname);...
Software & Treiber 18. August 2007

SysProfile ID33926 // Pascal-HL

SysProfile ID33926 // Pascal-HL: Halli Hallo ^^ so hier stell ich mal das Sys von meinem Bruder vor.... hab ihn das mal eingerichtet, is noch nich ganz fertig (kommt noch) aber das wichtigste is drin ;) Kommentare hier &...
SysProfile-Vorstellung 17. Juni 2007
Pascal Unterbereichstyp Wertebereich wird überschritten solved
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden