Come determinare se una data è valida in un programma C?

September 21

Come determinare se una data è valida in un programma C?


La convalida dei dati è una parte importante della programmazione in qualsiasi lingua. programmi C accettano dati in formati specifici, al fine di eseguire azioni specifiche su tali dati. Se un programma è in attesa di una data di inizio e una data di fine per calcolare il tempo totale, è importante che il programma di ricevere informazioni valide. In questo esempio, la data di inizio non deve essere una data successiva alla data di fine, ed entrambi i valori devono essere date valide.

istruzione

1 Creare una funzione per eseguire la convalida all'interno del programma C. Dichiarare una variabile di tipo "DateTime" per contenere una data valida. Dichiarare un'altra variabile per contenere la data di ingresso (s) come ha ricevuto da un file, un database o da voce utente.

2 Chiamata "DateTime.TryParse" passando il valore della data di ingresso e la variabile datetime come parametro di output. Se la funzione riesce, continuare eseguendo la riga successiva di codice. Se la funzione non è riuscita, log o visualizzare un errore all'utente che la data di ingresso non è valido. Questo metodo è disponibile in C #. Se si utilizza una versione precedente di C, avete un paio di opzioni diverse.

3 Abbattere il mese di input, il giorno e l'anno in numeri interi separati e tentare di creare una nuova variabile datetime da questi valori. Un fallimento indica che il valore della data di ingresso non è valido. Questa è una delle opzioni disponibili in C e C ++.

4 Definire una matrice per contenere il numero di giorni per ogni mese in ordine. Ad esempio, Gennaio è la posizione 1 e ha 31 giorni. Pertanto, myArray [1] dovrebbe contenere il numero 31. La funzione deve anche stabilire se si tratta di un anno bisestile. Convalida l'anno può essere fatto facendo in modo prime due cifre del valore di ingresso sono superiori "19" e le ultime due cifre andare da "00" a "99" e che il valore non è maggiore l'anno in corso. Questa è un'altra opzione per garantire che una data non valida non è accettata dal programma C.