codice:
#include <stdio.h> 


struct struttura 
{ 
    char nome[20];
    char cognome [20]; 
    char indirizzo[50]; 
    char codice_pers[10]; 
} persona; 


void main () 
{ 
    FILE *fp; 
    char ancora; 

    /*Se il file rubrica.txt non esiste lo crea. */
 
    if (!(fp = fopen("rubrica.txt", "a+"))) 
        printf("Il file rubrica.dat non esisteva ed e\' stato appena creato\n"); 
	
		
    /*Si ripete l'inserimento fino a quando si sceglie di inserire nominativi*/ 
	
    do 
    { 
        printf("Inserire il nome: "); 
	fgets(persona.nome, 50, stdin); 
	printf("Inserire il cognome: "); 
	fgets(persona.cognome, 50, stdin); 
	printf("Inserire l'indirizzo: "); 
	fgets(persona.indirizzo, 50, stdin); 
	printf("Inserire il codice persona: "); 
	fgets(persona.codice_pers, 10, stdin); 
		
	fprintf(fp, "%s", persona.nome ); 
	fprintf(fp, "%s", persona.cognome); 
	fprintf(fp, "%s", persona.indirizzo); 
	fprintf(fp, "%s", persona.codice_pers); 
	
	printf("\nSi desidera aggiungere un altro nominativo?\n"); 
	
        ancora = '0'; 

	/* Verifico che non vengano immessi altri carateri al di fuori di s,S,n,N */
 
	while (ancora != 's' && ancora !='S' && ancora !='n' && ancora !='N') 
	{ 
	    printf ("Rispondere [S/N]: "); 
	    scanf("%c",&ancora);
	    while((getchar()) != '\n');
	} 
	
    } while (ancora != 'n' && ancora != 'N'); 

    /*chiudo il file*/
 
    fclose(fp); 

}