Hvordan avgjøre om en dato er gyldig i et C-program?

Hvordan avgjøre om en dato er gyldig i et C-program?


Datavalidering er en viktig del av programmering i alle språk. C-programmer godta data i bestemte formater for å utføre bestemte handlinger på disse dataene. Hvis et program er ventet en startdato og en sluttdato for å beregne den totale tiden, er det viktig at programmet mottar gyldig informasjon. I dette eksempelet bør startdatoen ikke være senere enn sluttdatoen, og begge verdiene må være gyldige datoer.

Bruksanvisning

1 Lag en funksjon for å utføre validering i din C-program. Deklarere en variabel av type "Datetime" å holde en gyldig dato. Erklærer en annen variabel for å holde inngangs dato (er) som er mottatt fra en fil, en database eller fra brukeroppføring.

2 Ring "DateTime.TryParse" passerer inngangsdatoverdien og datetime variabel som en utgang parameter. Hvis funksjonen er vellykket, fortsetter ved å kjøre neste linje med kode. Hvis funksjonen ikke er vellykket, enten logge deg eller vise en feilmelding til brukeren at inngangs datoen var ikke gyldig. Denne metoden er tilgjengelig i C #. Hvis du bruker en eldre versjon av C, har du et par forskjellige alternativer.

3 Bryt ned inngangs måned, dag og år inn i separate heltall og forsøke å skape en ny datetime variabel fra disse verdiene. En feil indikerer at inngangen datoen er ugyldig. Dette er en av de tilgjengelige alternativene i C og C ++.

4 Definer en matrise for å holde antall dager for hver måned i orden. For eksempel, er januar posisjon 1, og har 31 dager. Derfor myArray [1] vil inneholde antall 31. Funksjonen skal også finne ut om det er et skuddår. Validere år kan gjøres ved å sørge for inngangsverdien to første sifrene er større enn "19" og de to siste sifrene går fra "00" til "99", og at verdien ikke er større enn inneværende år. Dette er et annet alternativ for å sikre at en ugyldig dato ikke er akseptert av C program.