Hola.. Estoy con un problema y no logro dar con la solución..
La idea es tener un arreglo en donde se guardan datos de Personas. Y que a traves del numero de Documento se pueda modificar el valor que tiene la variable "domicilio"
Código:
# include <stdio.h>
# include <conio.h>
# include <iostream.h>
# include <string.h>
struct rPersona{
char* Nombre,*Apellido,*Domicilio;
int Dni;
};
void IngresoValores(struct rPersona *vector){
rPersona aux;
aux.Nombre = "Diego";
aux.Apellido = "Totti";
aux.Domicilio = "Calle 912";
aux.Dni = 222;
vector[0] = aux;
aux.Nombre = "Marcos";
aux.Apellido = "TItto";
aux.Domicilio = "Calle 1145";
aux.Dni = 888;
vector[1] = aux;
}
void Buscar(struct rPersona *vector){
char *domicilio;
int dni;
rPersona aux, nuevo;
printf("Ingrese el DNI a buscar: ");
scanf("%i",&dni);
for (int i=0; i<5; i++){
aux = vector[i];
if (aux.Dni == dni){
printf("Dni encontrado...\n");
nuevo.Nombre = aux.Nombre;
nuevo.Apellido = aux.Apellido;
nuevo.Dni = aux.Dni;
printf("INGRESE EL NUEVO DOMICILIO: ");
scanf("%s", domicilio);
nuevo.Domicilio = domicilio;
vector[i] = nuevo;
printf("Domicilio actualizado!!!\n");
getch();
}
}
}
El problema es que cuando lo muestro, una vez que lo modifique, me muestra caracteres raros en el domicilio modificado. No entiendo como hacer para que la linea: scanf("%s", domicilio) me tome bien el domicilio.
Que estoy haciendo mal?? Estoy definiendo mal alguna variable o la estructura de datos??
Muchas Gracias!!!