Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 47
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383

    [c]programma controllo date

    salve,
    sto scrivendo un programma che controlli le date verificandone la validita'.
    Ho scritto la parte che riceve i dati in input(numeri interi).
    Per esempio,ho pensato di partire dall'anno.Potrei intanto definire una costante MAX con il valore 10000.
    Come potrei tradurre in codice il controllo(tralasciando per ora la questione del bisestile)?

    Lo schema che ho formulato sarebbe del tipo:

    a>0 a<MAX
    m>0 m<12
    g>0 g<31

    ovviamente avrei pensato anche ad escludere numeri che non sono interi

    Avete qualche idea in merito?

    Vi ringrazio pe l'eventuale aiuto.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Oltre a quei controlli, dovrai gestire il fatto che i mesi hanno un numero di giorni diverso tra loro ...

    Inoltre ti suggerisco di partire con un anno minimo ... non ha senso un calendario per l'anno 0 o l'anno 5 ...

    Comincia a scrivere il codice ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    C'e' un modo diverso per raggruppare a piu valori la medesima azione,oltre allo switch-case,che contenendo l'istruzione di interruzione break e' sconsigliata nel C ?

    Infatti il discorso e' questo:
    il valore della variabile mese = 1,3,5,7,8,10,12 corrisponde alla proprieta' di avere 31 giorni

    il valore della variabile mese= 4,6,9,11 corrisponde alla proprieta' di avere 30 giorni

    il valore di mese=2 e' un caso che va trattato a parte

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Usa un semplice vettore di interi in cui inserisci il numero dei giorni.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Usa un semplice vettore di interi in cui inserisci il numero dei giorni.
    Grazie per aver risposto,ma non ho capito precisamente cosa potrei fare.

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Te l'ho detto ... usa un vettore di interi in cui inserisci il numero di giorni massimi di ogni mese e, quando devi fare il controllo, lo fai con l'elemento del vettore corrispondente a quello il cui indice rappresenta il mese ...

    Sai come si scrive e inizializza un vettore di 12 interi?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    Si,per inizializzare questo vettore faccio:

    int vett[]={31,28,31,30,31,30,31,31,30,31,30,31}

    e per esempio faccio:

    if ( (0<v[3]) && (v[3]<31) ) ....

    Intendevi questo?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da cristianc
    Si,per inizializzare questo vettore faccio:

    int vett[]={31,28,31,30,31,30,31,31,30,31,30,31}

    e per esempio faccio:

    if ( (0<v[3]) && (v[3]<31) ) ....

    Intendevi questo?
    Scusa ... nella if dove usi vett?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    383
    ops,ho sbagliato,correggo:

    if ( (vett[3]<31) && (vett[3]>0) ) ....

    Almeno in linea di massima.

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Allora ... pensa un attimo ... tu stai controllando il contenuto di una variabile che contiene il numero del giorno che vuoi controllare ... dov'e' questa variabile?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.