Ho risolto così :
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
typedef struct{
char appuntamenti[150];
}Agenda;
typedef enum{Gennaio=1,Febbraio,Marzo,Aprile,Maggio,Giugno,Luglio,Agosto,Settembre,Ottobre,Novembre,Dicembre}Mesi;
int menu();
void anno_bisestile(int* anno,bool* bisestile);
void ins_mese(Mesi* m,int* g,int* h,bool* bisestile);
void inserire_appuntamento(Agenda appuntamenti[365][24],int* g,int* h);
void disdici_appuntamento(Agenda appuntamenti[365][24],int* g,int* h);
int main()
{
    Agenda appuntamenti[365][24];
    int anno;
    bool bisestile;
    Mesi m;
    int g,h;
    int scelta;
    int n,i;
    anno_bisestile(&anno,&bisestile);
    while(scelta=menu()){
            switch(scelta){
        case 1:/*INSERIMENTO APPUNTAMENTO*/
        printf("Quanti appuntamenti vuoi inserire ?");
        scanf("%d",&n);
        system("CLS");
        for(i=0;i<n;i++){
        printf("%d\n",anno);
        ins_mese(&m,&g,&h,&bisestile);
        inserire_appuntamento(appuntamenti,&g,&h);
        printf("L'appuntamento : %s\nE' stato fissato il %d/%d/%d alle Ore: %d.00\n",appuntamenti[g][h].appuntamenti,g,m,anno,h);
        }
        system("PAUSE");
        break;
        case 2: /*DISDICI APPUNTAMENTO*/
        ins_mese(&m,&g,&h,&bisestile);
        printf("L'appuntamento : %s il %d/%d/%d alle Ore: %d.00\n",appuntamenti[g][h].appuntamenti,g,m,anno,h);
        disdici_appuntamento(appuntamenti,&g,&h);
        printf("%s\n",appuntamenti[g][h].appuntamenti);
        break;
        case 3: /*CERCA APPUNTAMENTO IN BASE A ORA*/
        break;
        case 0:
        return 0;
}
}
}
int menu(){
    int scelta;
    printf("***GESTIONE AGENDA***\n");
    printf("[1] INSERISCI APPUNTAMENTO\n");
    printf("[2] DISDICI APPUNTAMENTO\n");
    printf("[3] INSERISCI ORA PER VISUALIZZARE APPUNTAMENTI DEL MESE\n");
    printf("[0] ESCI\n\n");
    printf("SCELTA :  \n");
    scanf("%d",&scelta);
    while(scelta<0 || scelta>4){
        printf("SCELTA NON VALIDA!!!!");
        printf("SCELTA : \n");
        scanf("%d",&scelta);
        return scelta;
    }
        return scelta;
}
void anno_bisestile(int* anno,bool* bisestile){
printf("inserisci anno :");
scanf("%d",anno);
if((*anno%4==0 && *anno%100!=0) || *anno%400==0){
//printf("L'anno inserito e' Bisestile !!\n");
*bisestile=true;
}else{
//printf("L'anno inserito non e' bisestile\n");
*bisestile=false;
}
}
void ins_mese(Mesi* m,int* g,int* h,bool* bisestile){
bool trovato=true;
do{
printf("INSERIRE MESE :\n");
scanf("%d",m);
}while(*m<1 || *m>12);
trovato=false;
if(*bisestile){
if(*m==Febbraio){
     do{
        printf("INSERIRE GIORNO (DA 1 A 29): FORMATO GG\n");
        scanf("%d",g);
        }while(*g<1 || *g>29);
        trovato=true;
}else if(trovato==false){
                        if(*m==Aprile || *m==Giugno || *m==Settembre || *m==Novembre){
                            do{
                                printf("INSERIRE GIORNO (DA 1 A 30): FORMATO GG\n");
                                scanf("%d",g);
                            }while(*g<1 || *g>30);
                            trovato=true;
                        }
}
if(trovato==false){
    do{
    printf("INSERIRE GIORNO (DA 1 A 31): FORMATO GG\n");
    scanf("%d",g);
    }while(*g<1 || *g>31);
}
}else{
        if(*m==Febbraio){
     do{
        printf("INSERIRE GIORNO (DA 1 A 28): FORMATO GG\n");
        scanf("%d",g);
        }while(*g<1 || *g>29);
        trovato=true;
}else if(trovato==false){
                        if(*m==Aprile || *m==Giugno || *m==Settembre || *m==Novembre){
                            do{
                                printf("INSERIRE GIORNO (DA 1 A 30): FORMATO GG\n");
                                scanf("%d",g);
                            }while(*g<1 || *g>30);
                            trovato=true;
                        }
}
if(trovato==false){
    do{
    printf("INSERIRE GIORNO (DA 1 A 31): FORMATO GG\n");
    scanf("%d",g);
    }while(*g<1 || *g>31);
}
}
do{
    printf("INSERIRE ORA (da 0 a 23)\n");
    scanf("%d",h);
    }while(*h<0 || *h>23);
}
void inserire_appuntamento(Agenda appuntamenti[365][24],int* g,int* h){
    fflush(stdin);
    printf("Inserire appuntamento in Agenda :\n");
    gets(appuntamenti[*g][*h].appuntamenti);
}
void disdici_appuntamento(Agenda appuntamenti[365][24],int* g,int* h){
fflush(stdin);
strcpy(appuntamenti[*g][*h].appuntamenti,"E' stato Annullato");
}