Codice PHP:
#include<stdio.h>
struct tipo{
int num;
char nome[30];
char cognome[30];
int eta;
};
main()
{
typedef struct tipo record;
record rubrica;
FILE *punta;
if((punta=fopen("rubrica.dat", "w"))==NULL)
printf("Il file non può essere creato.\n");
else
{
printf("Inserisci la posizione in cui intendi scrivere\n"
"da 1 a 100 oppure 0 per uscire\n\n");
scanf("%d", &rubrica.num);
while(rubrica.num !=0)
{
printf("Inserisci Nome, Cognome, età: ");
scanf("%s%s%d", &rubrica.nome,&rubrica.cognome,&rubrica.eta);
fwrite(&rubrica, sizeof(record),1,punta);
printf("Inserisci la posizione in cui intendi scrivere\n"
"da 1 a 100 oppure 0 per uscire\n\n");
scanf("%d", &rubrica.num);
}
fclose(punta);
}
}
Domanda 1 - Perchè nello scanf (interno al while) si usa & per assegnare il valore di input aglli array contenuti nella struct? non sono sempre puntatori al loro primo membro?
Domanda 2 - Come faccio a prendere in input anche lo spazio? Mi spiego, l'utente immette un nome del tipo Paolo Antonio, il programma così com'è assegna Paolo a .nome e Antonio a .Cognome.
Grazie anticipate