[Per la descrizione e l'esempio di questa funzione andare su questo link. ]
char navigazione_calendario(data d_1){ char opzn;
int i=0,sig=0,n;
do{ system("cls");
printf("Premere [z] per andare in una data.\n");
opzn=stmp_calendario(d_1);
if(islower(opzn))
opzn=toupper(opzn);
switch(opzn){
case 'C':
menu_pasqua();
break;
case 72:// freccia su
if((d_1.gg-7<=0)) {d_1.gg=d_1.gg-7; if(d_1.mm-1==0) {d_1.mm=13; d_1.anno=d_1.anno-1; } d_1.gg=cnt_gg_mm(d_1.mm-1,d_1.anno)+d_1.gg; d_1.mm=d_1.mm-1; break; } else if(d_1.gg-7>0)
{d_1.gg=d_1.gg-7;
break;
}
break;
case 80:// freccia giu
if(d_1.gg+7>cnt_gg_mm(d_1.mm,d_1.anno))
{
d_1.gg=cnt_gg_mm(d_1.mm,d_1.anno)-d_1.gg;
d_1.gg=7-d_1.gg;
if(d_1.mm>=12)
{d_1.mm=0;
d_1.anno=d_1.anno+1;
}
d_1.mm=d_1.mm+1;
}
else d_1.gg=d_1.gg+7;
break;
case 'G':
opzn='g';
return opzn;
break;
case 'Z':printf("Inserire data: ");
d_1=inserimento_dd(d_1);
break;
case 77:// freccia dx
if(d_1.gg+1>cnt_gg_mm(d_1.mm,d_1.anno))
{
d_1.gg=cnt_gg_mm(d_1.mm,d_1.anno)-d_1.gg;
d_1.gg=1-d_1.gg;
if(d_1.mm>=12)
{d_1.mm=0;
d_1.anno=d_1.anno+1;
}
d_1.mm=d_1.mm+1;
}
else d_1.gg=d_1.gg+1;
break;
case 75:// freccia sx
if((d_1.gg-1<=0))
{d_1.gg=cnt_gg_mm(d_1.mm-1,d_1.anno);
if(d_1.mm==1)
{d_1.mm=12;
d_1.gg=cnt_gg_mm(d_1.mm,d_1.anno);
d_1.anno=d_1.anno-1;
}
else d_1.mm=d_1.mm-1;
}
else d_1.gg=d_1.gg-1;
break;
case 'N':
i=0;
do{
n=ddcmp(ddnt[i],d_1);
if(n==0)
i++;
}while((n!=1)&&(i<100));
if(n==1)
{printf("\nNota esistente, vuoi cambiarla? Y o N?");
opzn=getch();
if(islower(opzn))
opzn=toupper(opzn);
switch (opzn)
{case 'Y':
printf("\n\nInserire nota la nuova nota: ");
gets(note[i]);
ddnt[i]=d_1;
sig++;
break;
case 'N':
break;
}
}
else {printf("\nInserire nota: ");
gets(note[sig]);
ddnt[sig]=d_1;
sig++;
break;}
case 'V':
i=0;
do{
n=ddcmp(ddnt[i],d_1);
if(n==0)
i++;
}while((n!=1)&&(i<100));
if(n==1)
printf("\nNota: %s",note[i]);
else printf("\nNessuna nota trovata");
getch();
break;
}
}while((opzn!='x')&&(opzn!='X'));
return opzn;
}