PDA

Visualizza la versione completa : [C] Confronto tra tipi strutturati


fadefa
02-09-2010, 11:46
http://i54.tinypic.com/5ogjeu.png
ho due variabili d1, d2 di tipo Data (vedi sopra). è lecito scrivere d1>d2 (=, >) per verificare se la data d1 è antecedente a d2?
tipo posso scrivere:

if(d1>d2){
printf("La data d1 è antecedente a d2");
}
?
grazie!

fusionalfa
02-09-2010, 12:09
penso di no,devi comunque fare dei controlli tra i valori interni delle due struct

YuYevon
02-09-2010, 12:11
Sarebbe lecito se il C consentisse l'overloading degli operatori come in C++: in quel caso potresti "istruire" il compilatore su come comportarsi con gli operatori relazionali con dati non numerici, ma poiché il C non lo permette non lo puoi fare, devi definire una funzione di confronto.

fadefa
02-09-2010, 12:33
invece per stampare d1 con printf si può stampare direttamente dando la variabile d1 o devo stampare per forza di campo in campo (anno, giorno,...)?

YuYevon
02-09-2010, 12:39
Stessa cosa, devi stampare campo per campo. Puoi sempre definire una funzione per farlo, in maniera tale da evitare di riscrivere tutta la stampa ogni volta.

Comunque se hai bisogno di gestire le date puoi provare a dare uno sguardo alla libreria time (http://www.cplusplus.com/reference/clibrary/ctime/).

menphisx
02-09-2010, 23:14
Giorno+Mese+Anno :)

Oppure potresti utilizzare memcmp :)

Loading