si ma non sparei come fare per usare le stringhe, qualche consiglio? 
Lo scopo finale è quello poi di creare un agenda dove posso inserire le note..cioè mi spiego meglio:
nella struct che ho postato ci andrebbe un campo nota dove uno può per esempio scrivere compleanno o cose così...
dopo dal main o dalla funzione tramite inseriscidata dovrei allocare tramite malloc uno spazio di memoria per la nuova struttura. Non so se sono stato molto chiaro a dire il vero
Poi l'utente una volta inserita la sua nota decide se inserirne un'altra o no..e poi bisognerebbe tramite una funzione stampare tutto.
Però direi un problema alla volta 
Cosa dovrei aggiustare per fargli stampare correttamente l'orario? 
E cosa dovrei fare per far si che magari in un futuro non perda le info che faccio inserire all'utente?
Grazie mille in anticipo a te e a chiunque risponderà 
Ti riposto di nuovo il codice con code e togliendo due parti che non servono che sono commentate così riesce a vederlo meglio:
codice:
#include<stdio.h>
#include<stdlib.h>
struct data inserisciData();
struct data{
int giorno;
int anno;
char *mese;
char *ora;
};
main(){
int i;
struct data domani;
printf("Avvio del programma\n");
domani = inserisciData();
printf("Il giorno e': %d\n",domani.giorno);
printf("Il mese e': %s\n",domani.mese);
printf("L'anno e': %d\n",domani.anno);
printf("L'ora e': %s\n",domani.ora);
return 0;
}
struct data inserisciData(){
struct data oggi;
int day, month, year; // giorno anno mese
int hour, minute;
int x = 0; // variabile che uso per controllare se la data inserita è corretta o meno. settata a 0 non lo è settata a 1 si
int y = 0; //uguale a sopra solo per l'ora
char orario[10];
char* nomemese[]={"Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"};
do{
printf("Inserisci un giorno: \n");
scanf("%d",&day);
printf("Inserisci un mese: \n");
scanf("%d",&month);
printf("Inserisci un anno: \n");
scanf("%d",&year);
if(day<1 || day>31){
printf("I mesi hanno al massimo 31 giorni\n");
}
if(month<1 || month>12){
printf("Hai inserito un numero di mese che non esiste\n");
}
else if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12){
if(day>0 && day<=31){
x=1;
}
}
else if(month==4 || month==6 || month==9 || month==11){
if(day>0 && day<=30){
x=1;
}
}
else if(month==2){
if(day>0 && day<29){
x=1;
}
}
else
printf("Hai digitato un numero di giorni che non corrsiponde al mese che hai inserito\n");
if(x==0){
printf("Ripeti l'inserimento della data\n");
}
}while(x==0);
do{
printf("Inserisci l'ora dell'appuntamento e poi alla prossima richiesta i minuti (hh): \n");
scanf("%d", &hour);
printf("Inserisci i minuti (mm): \n");
scanf("%d", &minute);
if(hour>=0 && hour<=23){
if(minute>=0 && minute<=59){
y=1;
}
}
}while(y==0);
sprintf(orario, "%d:%d", hour, minute);
oggi.giorno=day;
oggi.mese=nomemese[month-1]; /*-1 perchè l'array parte da 0*/
oggi.anno=year;
oggi.ora=orario;
printf("Il giorno e': %d\n",oggi.giorno);
printf("Il mese e': %s\n",oggi.mese);
printf("L'anno e': %d\n",oggi.anno);
printf("L'ora e' %s\n",oggi.ora);
return oggi;
}