Heim > Artikel > Backend-Entwicklung > 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:
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” End main STOP
#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; }
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!