Potreste darmi una mano con questo codice non riesco a capire perchè crasha.
sicuramente è tutto sbagliato ma avrei bisogno di alcune dritte su come riuscire a scrivere questo programma.
*Scrivere un programma che sia in grado di gestire l'agenda di uno studente. Ogni appuntamento
indica l'ora e una breve descrizione dello stesso. Possono esserci piu appuntameni nello stesso
giorno. L'utente immete gli appuntameni tramite tasiera.
Gli impegni in agenda possono essere immessi in modo disordinato (ad esempio ea possibile
immetere laimpegno per giovedia 0 e successivamente laimpegno per lunedia 4) ma laagenda deve
stampare a video gli impegni in ordine di data e di ora.
*/
#include <stdio.h>
#include <stdlib.h>
#define N 100
#define true 1
#define false 0
enum month{GENNAIO,FEBBRAIO,MARZO,APRILE,MAGGIO,GIUGNO,LUGLIO,AGOSTO,SETTEMBRE,OTTOBRE,NOVEMBRE,DICEMBRE};
typedef struct appuntamento {
char info[50];
int giorno;
month mese;
int ora;
int min;
} app ;
typedef appuntamento elenco[N];
void inizializza(int r)
{
r = 0;
}
void inserisci(elenco e, int r, app elem)
{
e[r++] = elem;
}
void stamparecord(app a)
{
printf("info appuntamento: \n\n ");
printf("%s" , a.info);
printf("in data %d/%d " , a.giorno, a.mese);
printf ("alle ore %d:%d . " , a.ora, a.min);
}
void stampaelenco(elenco e, int r)
{
printf("stampa agenda: \n\\n");
for (int i=0; i<r; i++)
stamparecord(e[i]);
}
int main ()
{
elenco agenda;
int riemp;
int esci = false;
int scelta;
app a;
inizializza(riemp);
while(!esci)
{
system("clear");
printf("agenda impegni: \n\n\n");
printf("1. per inserire un nuovo appuntamento.\n");
printf("2.per stampare tutta l'agenda. \n");
printf("3. per uscire.\n");
scanf("%d" , &scelta);
if(scelta == 1)
{
printf("inserire info appuntamento: \n");
scanf("%s", a.info);
printf("il giorno: ");
scanf("%d " , a.giorno);
scanf("%d .", a.mese);
inserisci(agenda, riemp, a);
}
else if (scelta == 2)
{
stampaelenco(agenda, riemp);
}
else if (scelta == 3)
esci = true;
}
return 0;
}