Salve ragazzi, ho un problema riguardante una relazione d'ordine del tipo <Mese, Giorno>, con la quale dovrei ricercare da file i valori precedenti a quella determinata data. Adesso il problema che mi attanaglia di più è come riuscire a confrontare i giorni scritti a lettere (quindi "lunedi") e lo stesso per i mesi ("gennaio", "febbraio", ecc,). I dati nel file da cui acquisire sono salvati nella forma: citta_lunedi_gennaio_30_1090_20.
Questo è il tipo di struttura che volevo utilizzare ma non sono effettivamente sicuro sia giusta:
typedef struct
{
char citta[SIZE];
enum giorni{lunedi = 1, martedi, mercoledi, giovedi, venerdi, sabato, domenica}giorni;
enum mese{gennaio = 1, febbraio, marzo, aprile, maggio, giugno, luglio, agosto, settembre, ottobre, novembre, dicembre}mesi;
int temperatura;
int pressione;
int umidita;
}metropoli;
e questo invece sarebbe invece la funzione per la relazione d'ordine
int relazione_ordine(int i, year mese, week giorno)
{
if(mese > GetMeseByI(i))
{
return 1;
}
else if(mese == GetMeseByI(i) && giorno == GetGiornoByI(i))
{
return 1;
}
else
{
return 0;
}
}
e queste sono le funzioni getmese e getgiorno
enum week GetGiornoByI(int i)
{
if(i < 0 || i > SIZE)
{
puts("Errore, indice troppo grande");
i = 0;
}
return met[i].giorno;
}
enum year GetMeseByI(int i)
{
if(i < 0 || i > SIZE)
{
puts("Errore, indice troppo grande");
i = 0;
}
return met[i].mese;
}
Grazie in anticipo per la pazienza