SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: antotejas en Miércoles 11 de Febrero de 2009, 14:28
-
Hola a todos,
Mi problema es que tengo un fichero en excell que contiene nombres de personas,numeros de cuenta y nombres de bancos. Este fichero debe quedar de la siguiente forma:
attribute nombre_persona{nombre1,nombre2,nombre3,...}
attribute cuenta {cuenta1,cuenta2,cuenta3,...}
attribute nombre_banco {nombreb1,nombreb2,nombreb3,...}
Y aunque en el fichero .xls los nombres se repiten en mi fichero todos los nombres deben ser distintos,es decir ,que no se repitan.
La solucion pensada por mi es pasar del fichero excel a un .cvs separado por comas y de este paso a un fichero txt del que voy leyendo linea a linea teniendo cada linea un dato y todos seguidos en orden,es decir:
nombre_persona
cuenta
nombre_banco
nombre_persona
cuenta
banco
.
.
.
y asi hasta el final.Lo que quiero hacer es crear tres arrays,uno de nombres de peronas,otro de numeros de cuenta y otro de nombre de bancos,para asi,cada vez q leo una linea voy al array adecuado comparo con todos los elementos y si no existe en el array lo inserto al final.Asi al terminar el documento tendre los tres arrays sin repeticiones y solo me quedara escribir los arrays en el fichero final elemento a elemento.
el problema es que no se como declarar un array de strings,y llevo ya tiempo con ese problema,me da muchos fallos.
¿Una ayuda por favor?
Gracias!!
-
char *arr[1024];
arr[5] = (char*)malloc(128);
strcpy(arr[5], "Juan Perez");
Pero mejor seria que usaras la STL (string y vector por ejemplo).
-
Te recomiendo hagas uso de una estructura...algo asi como
struct info
{
char nombre[100];
char numero[100];
char banco[100];
};
struct info datos[200];
De esta forma, el chiste del problema se reduce a leer la info, guardarla en la estructura, modificar los datos de esta si es necesario, y reescribir el archivo guardando la estructura entera
Con la estructura puedes tener acceso a cualquier dato de manera facil y ordenada, apartir de su variable
Recuerda que la cantidad de datos esta determinada por el tamaño de la variable de la estructura. Para el caso del ejemplo, 200 de cada uno...aunque pueden ser mas y este numero claro esta, puedes hacerlo dinamico...que dependa por ejemplo de un minimo de lineas con las que cuenta tu fichero en excel...se me ocurre
Otra cosa a tener presente es en que en C, los strings se definen como arrays de variables char
Saludos
-
Muchas gracias a los dos,ya lo solucione,ahora tengo otro fallo muy raro pero que pondre en otro hilo
gracias!