Due cose che vedo al volo (non ho letto tutto il codice):
Le variabili "olddate", "date", "fc" e "descript" sono dichiarate di tipo char. Questo significa che possono contenere un solo carattere (mentre tu le tratti come se fossero delle stringhe).
Se poi fossero state dichiarate correttamente (ovvero come puntatore a carattere), il confronto non si fa con l'operatore ==, ma usando la funzione strcmp().
Ciao.![]()