Ragazzi vi è il seguente codice realizzato da me:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#define MAXPERSONE 100
typedef struct {
char nome [3000];
char cognome [3000];
char numero [1000]; // dim * MAXPERSONE = 10*100 = 1000
char giorno [1000];
char mese [1000];
char anno [1000];
} t_contatto;
int main(int argc, const char * argv[])
{
t_contatto voce;
unsigned long int lenght = 0;
int menu, i, i_nome = 0, i_cognome = 0, i_giorno = 0, i_mese = 0, i_anno = 0;
char nome [30], cognome [30], giorno[10], mese[10], anno[10];
do
{
printf("Premi:\n1: Iscrizione nuovo cliente\n2: Registrazione presenza socio\n");
scanf("%d", &menu);
}
while (menu > 2 || menu < 1);
switch (menu) {
case 1:
for (i=0; i<3; i++){
puts("Iscrizione nuovo cliente");
printf("Nome: ");
scanf("%s", nome); // utilizzare l'allocazione dinamica della memoria
strcpy(&voce.nome[i_nome], nome);
lenght=strlen(nome) + 1;
i_nome+=lenght;
printf("Cognome: ");
scanf("%s", cognome); // utilizzare l'allocazione dinamica della memoria
strcpy(&voce.cognome[i_cognome], cognome);
lenght=strlen(cognome) + 1;
i_cognome+=lenght;
// inserire anno di nascita
printf("Giorno di Nascita: ");
scanf("%s", giorno); // utilizzare l'allocazione dinamica della memoria
strcpy(&voce.giorno[i_giorno], giorno);
lenght=strlen(giorno) + 1;
i_giorno+=lenght;
printf("Mese di Nascita: ");
scanf("%s", mese); // utilizzare l'allocazione dinamica della memoria
strcpy(&voce.mese[i_mese], giorno);
lenght=strlen(mese) + 1;
i_mese+=lenght;
printf("Anno di Nascita: ");
scanf("%s", anno); // utilizzare l'allocazione dinamica della memoria
strcpy(&voce.anno[i_anno], anno);
lenght=strlen(anno) + 1;
i_anno+=lenght;
}
break;
case 2:
//istruzioni
default:
puts("Errore!");
break;
}
return 0;
}
Come posso utilizzare l'allocazione dinamica della memoria nei punti specificati tra i commenti? Grazie