Heim  >  Artikel  >  Backend-Entwicklung  >  C-Programm zur Überprüfung, ob das Datum gültig ist

C-Programm zur Überprüfung, ob das Datum gültig ist

王林
王林nach vorne
2023-09-20 10:17:08999Durchsuche

C-Programm zur Überprüfung, ob das Datum gültig ist

Das angegebene Datumsformat ist Tag, Monat und Jahr (Ganzzahl). Die Aufgabe besteht darin festzustellen, ob dieser Termin machbar ist.

Der gültige Datumsbereich sollte zwischen dem 1.1.1800 und dem 31.12.9999 liegen. Daten außerhalb dieser Daten sind ungültig.

Diese Daten umfassen nicht nur den Jahresbereich, sondern auch alle Einschränkungen im Zusammenhang mit Kalenderdaten.

Die Einschränkungen sind:

  • Das Datum darf nicht kleiner als 1 und größer als 31 sein.
  • Der Monat darf nicht kleiner als 1 und größer als 12 sein ist April, Juni, September, November Monat, Datum darf 30 nicht überschreiten.
  • Wenn der Monat Februar ist, müssen wir prüfen, ob:
  • Wenn das Jahr ein Schaltjahr ist, darf die Anzahl der Tage 29 Tage nicht überschreiten.
  • Ansonsten darf die Anzahl der Tage 28 Tage nicht überschreiten.
    • li>
    Wenn alle Einschränkungen wahr sind, dann ist es ein gültiges Datum, andernfalls nicht. Beispiel
    Input: y = 2002
       d = 29
       m = 11
    Output: Date is valid
    Input: y = 2001
       d = 29
       m = 2
    Output: Date is not valid

    Algorithmus

    START
    In function int isleap(int y)
       Step 1-> If (y % 4 == 0) && (y % 100 != 0) && (y % 400 == 0) then,
          Return 1
       Step 2-> Else
          Return 0
    In function int datevalid(int d, int m, int y)
       Step 1-> If y < min_yr || y > max_yr then,
          Return 0
       Step 2-> If m < 1 || m > 12 then,
          Return 0
       Step 3-> If d < 1 || d > 31 then,
          Return 0
       Step 4-> If m == 2 then,
          If isleap(y) then,
             If d <= 29 then,
                Return 1
             Else
                Return 0
             End if
          End if
       Step 5-> If m == 4 || m == 6 || m == 9 || m == 11 then,
          If(d <= 30)
             Return 1
          Else
             Return 0
             Return 1
          End Function
    In main(int argc, char const *argv[])
       Step 1->Assign and initialize values as y = 2002, d = 29, m = 11
       Step 2-> If datevalid(d, m, y) then,
          Print "Date is valid"
       Step 3-> Else
          Print "date is not valid&rdquo;
       End main
    STOP

    Beispiel

    Live-Demonstration

    #include <stdio.h>
    #define max_yr 9999
    #define min_yr 1800
    //to check the year is leap or not
    //if the year is a leap year return 1
    int isleap(int y) {
       if((y % 4 == 0) && (y % 100 != 0) && (y % 400 == 0))
          return 1;
       else
          return 0;
    }
    //Function to check the date is valid or not
    int datevalid(int d, int m, int y) {
       if(y < min_yr || y > max_yr)
          return 0;
       if(m < 1 || m > 12)
          return 0;
       if(d < 1 || d > 31)
          return 0;
          //Now we will check date according to month
       if( m == 2 ) {
          if(isleap(y)) {
             if(d <= 29)
                return 1;
             else
                return 0;
             }
          }
          //April, June, September and November are with 30 days
          if ( m == 4 || m == 6 || m == 9 || m == 11 )
             if(d <= 30)
                return 1;
             else
                return 0;
                return 1;
       }
    int main(int argc, char const *argv[]) {
       int y = 2002;
       int d = 29;
       int m = 11;
          if(datevalid(d, m, y))
             printf("Date is valid</p><p>");
          else
             printf("date is not valid</p><p>");
          return 0;
    }

    Ausgabe

    Wenn Sie den obigen Code ausführen, wird die folgende Ausgabe generiert:

    Date is valid

    Das obige ist der detaillierte Inhalt vonC-Programm zur Überprüfung, ob das Datum gültig ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen