El problema radica en que tenes mal definidas algunas variables, por ejemplo:
char *nombre; Aca estas declarando un puntero a caracter, es decir no tenes el espacio como para guardar un nombre, para los strings en C/C++, tenes que asignar un espacio.
Consejo: cambia todos char *nombre a char nombre[12] (El tamaño armalo vos), cuando asignas un string a otro usa strcpy().
Espero que te sirva, Saludos. Despues comentame.
Mgitano2001