13/11/14 20:48
Arat
Ciao a tutti, sto imparando da solo il C, e sto facendo una specie di programma gestionale proposto in un libro. Devo realizzare una struttura dinamica su cui si possono eseguire varie funzioni. Il problema è che già arrivati alla funzione stampa sto incontrando dei problemi abbastanza importanti dato che mi crasha per qualche motivo che non riesco proprio a comprendere. Qualcuno potrebbe aiutarmi? Grazie mille
#include <stdio.h> #include <stdlib.h> typedef struct { int day; int month; int year; } DATE_T; typedef struct { DATE_T date; int codice; int codiceProdotto; int n; } GESTIONE_T; GESTIONE_T *gestione; int index = 0; void add(GESTIONE_T *gestione); void stampa(GESTIONE_T *gestione); int main() { printf("1 - Inserimento "); add(gestione); printf("2 - Stampa"); stampa(gestione); return 0; } void add(GESTIONE_T *gestione) { gestione = (GESTIONE_T*) malloc((index + 1) * sizeof(GESTIONE_T)); if (gestione == NULL) { printf("Errore durante l'allocazione della memoria"); exit(EXIT_FAILURE); } printf("\nInserisci il tuo codice identificativo: "); scanf("%d", &gestione[index].codice); printf("test 1 : %d", gestione[index].codice); printf("\nInserisci il codice del prodotto: "); scanf("%d", &gestione[index].codiceProdotto); printf("test 2 : %d", gestione[index].codiceProdotto); /* printf("\nInserisci il numero di oggetti venduti: "); scanf("%d", &gestione[index].n); printf("test 3 : %d",gestione[index].n);*/ index++; printf("\nInserisci la data nel formato GG/MM/YY: "); scanf("%d/%d/%d", &gestione[index].date.day, &gestione[index].date.month, &gestione[index].date.year); return; } void stampa(GESTIONE_T *gestione) { printf("Code: %d - Codice prodotto: %d - Numero: ", (gestione + index)->codice, (gestione + index)->codiceProdotto); return; }
aaa