Hola a todos, desede ya les digo que soy bastante newbie en programación. Entonces quería pedirles que me tiren una mano, o que me orienten un poco nomás con lo sig.
Tengo que usar c/c++
El problema es este
**********************************************
Leer el archivo datosproy2.txt, que contiene informacion sobre personas.
Los primeros 20 caracteres corresponde al nombre, los siguientes 8,
es decir la posicion 21 a la 28, representean su numero de documento,
y los restantes 10, de la posicion 29 a la 38, su fecha de nacimiento.
Ud. debera ordenar la informacion de las personas bajo los 3 campos, es decir,
ordenadas por nombre, fecha de nacimiento y numero de documento.
Debera poder emitir un listado en archivo de tipo texto, de las personas ordenadas por
cualquiera de los 3 criterios a solicitud de la respectiva opcion de menu, con el nombre "pernom.txt", "perdoc.txt" y "pernac.txt", respectivamente para cada criterio.
Ademas debera poder hacer una busqueda de alguna de ellas por cualquiera de los
3 criterios a partir de un dato a buscar que se lea desde teclado, y mostrar por pantalla
todos su datos de la persona si es hallada o informar su inexistencia si fracasa la busqueda.
Podra utilizar la estructura de datos que crea mas conveniente para el soporte de
la informacion (arreglo, lista, arbol) y cualquier algoritmo de ordenamiento.
Tenga en cuenta que un algoritmo de orden O(n2) tendra menor nota que uno de tipo O(nlogn).
Ademas se debera codificar un solo algoritmo de ordenamiento y uno de solo de busqueda, ambos que utilicen 3 funciones comparadoras segun sea el criterio por el cual
se hace el ordenamiento / busqueda, y no 3 versiones distintas de ordenamiento
y de busqueda, segun sea el tipo de dato.
***********************************************
Bueno, mi problema principar es tomar los datos desde el archivo y guardarlos. Quisiera saber como tomr "los primeros 20 caracteres y guardarlos en un campo, los segundos 8 en otro y así". Ya que por ejemplo Cuando cargo "Juan Manuel" Juan me lo pone en un campo y Manuel en otro. Se que tengo que hacerlo por bloques.
Bueno, lo otro es solo guia. Como lo hago ¿pilas, listas simples, listas dobles, arreglos? arboles no gracias, no tengo ni idea de como trabajar con estos. Se que tiene pocos datos como para hacerlo con una estructura de datos dinámica, pero supongamos que vamos a ampliar la lista. la otra el ordenamiento ¿busrbuja, insercion, seleccion, quicksort? Busqueda ¿lineal,binaria? se que sería mas facil con un arrar, busrbuja y busqueda lieal. Pero quiero hacerlo bine, quisiera usar algun algoritmo de orden O(nlogn) o O(logn).
Les manos lod datos como están en el archivo, para que se den una idea de como estan ordenados.
ACOSTA ANGEL 2321269925/11/1970
ALARCON MONICA 5092530 15/02/1966
ALBA MIRIAM 5618161 02/08/1980
ALCAZAR RAUL 6518480 16/12/1975
ALVAREZ CESAR 6598752 31/01/1956
AMAYA JULIO 7709019 25/07/1988
ANDRADE NESTOR G 7960371 20/02/1960
ARGUELLO CRISTIAN 1077169820/02/1962
ARGUELLO MARCELO 1080583008/08/1960
ATAIDE JORGE 1152745016/12/1954
BAEZA EUGENIO 1155754919/08/1975
BAEZA FEDERICO 1234068508/08/1988
BELTRITTI JORGE 1292365307/04/1988
BERGES ZULEMA 1337367723/09/2001
BIASUTTI MARTIN 1372236515/05/1891
BIONDINI SERGIO 1483770924/01/1950
BIROLO DAVID 1529506306/08/1975
BIZZOCCHI MARIO 1732633512/10/1492
BONARDI BERNARDO 2007851830/03/1969
BOVO FABIAN 2038153928/02/1978
BRAVO CLAUDIO 2043973302/03/1950
BREGA JUAN 2078368519/06/1967
BRINGAS CARLOS 2139812711/10/1992
BRUNO EZEQUIEL 2148209807/03/2002
BUSSO ERICA P 2175509006/11/1943
CABRAL JOSE 2216310512/10/1966
CAMPOS ANIBAL 2256435206/11/1988
CANAPINO RUBEN 2277422115/02/1966
CARLOS ELIAS 2296834913/12/1945
CATIVA MARISA F 2346117425/12/1930
CENTENO VICTOR 2373641914/07/1962
CERIANI ALEJANDRO 2415097024/01/1950
COMPOLO MARCELA 2524799930/03/1975
CONREF FERNANDEZ NOR2527054315/06/1962
COOPER EDUARDO 2563344925/10/1980
COSENZA OMAR 8295489 01/11/1993
DIAZ MANUEL 1301572819/05/1995
DIAZ ROQUE 1314166717/07/1961
EROLES MARIANO 2308938212/02/1990
FACARO FABIAN 2681745214/05/1974
FERRERO LAURA 5218869 19/01/1996
FERREYRA JUAN 5880319 04/07/1982
FIGUEROA LUIS 1102679031/07/1953
FRAYLE MIGUEL E 1240596609/09/1949
FRENCIA CRISTIAN 1301557122/02/1970
GARCIA MARIA 2057567912/09/1984
GARZON JUAN MANUEL 2102331113/02/1981
GIACOMELLI DANTE 2153527030/08/1957
GLESSIC FRANCISCO A 2551218606/05/1982
GONZALEZ RAFAEL 6854315223/04/1970
IRAZOQUI SEBASTIAN 7010455016/01/1968
ISSIDORO ALEJANDRO 7072194414/11/1964
Los datos están bien, así que no se fijen si hay un documento 70.000.000 o algo así.
Bueno, desde ya muchas gracias, ojalá me puedan ayudar ya que es un proyecto que tengo que entregar y no tengo mucha idea.
cualquier cosa mi mail es
theblackhawkmb@hotmail.comGracias
Matías