Ayuda
Taller de Programaci贸n I
El siguiente taller tiene como objetivo la implementaci贸n de una estructura h铆brida de datos, la cual contiene estructuras de asignaci贸n est谩tica de memoria ( vectores o arreglos ) y estructuras din谩micas de memoria ( listas enlazadas ).
Entregados los objetivos y pormenores del trabajo, a continuaci贸n se entrega el detalle de este taller :
Se pide implementar una agenda que permita mantener un conjunto de registros de personas clasificados ( u ordenados ) alfab茅ticamente en esta estructura de datos.
Para esta implementaci贸n se cuenta con dos estructuras :
Primero : una estructura de arreglo llamada AGENDA la cual contiene los siguientes elementos :
- Campo 1 : letra de tipo car谩cter.
- Campo 2 : puntero a PERSONAS.
El tama帽o del arreglo deber谩 ser declarado como una constante llamada NRO_LETRAS con el largo correspondiente a cada una de las letras del alfabeto.
Segundo : una estructura din谩mica ( un nodo ) de nombre PERSONAS, la cual contiene los siguientes elementos :
- Campo 1 : Rut
- Campo 2 : Nombres
- Campo 3 : Apellidos ( Paterno y luego Materno )
- Campo 4 : Direcci贸n
- Campo 5 : edad
- Campo 6 : sexo ( H : hombre, M : mujer )
- Campo 7 : Tel茅fono
- Campo 8 : email.
- Campo 9 : puntero a PERSONAS.
Los tipos de datos para esta estructura deber谩n ser definidos por el alumno.
Teniendo la definici贸n de estructuras de este trabajo procedemos a entregar la operaciones que deber谩n implementarse para este TAD.
- iniciar_agenda : asignar los valores correspondientes al vector AGENDA, asignando las letras correspondientes y el valor NULL a los punteros de la estructura PERSONAS.
- letra_vacia : funci贸n que deber谩 entregar un valor verdadero cuando el puntero de la letra correspondiente tenga valor NULL en su campo apuntado a PERSONAS o en caso contrario valor falso.
- ingresar_persona : funci贸n que aceptar谩 por pantalla los datos definidos en la estructura PERSONAS y ser谩n ingresados en la letra correspondiente. Los registros de personas quedar谩n ordenados ( por apellido ) en la estructura de lista.
- eliminar_persona : funci贸n que tomar谩 como entrada el rut de la persona y proceder谩 a su eliminaci贸n de la lista.
- recorrido : funci贸n que recorrer谩 la estructura desplegando en forma alfab茅tica los componentes de la estructura.
- persona_de_mayor_edad : funci贸n que encuentra y despliega la persona con mayor edad.
- persona_de_menor_edad : funci贸n que encuentra y despliega la persona de menor edad.
- cantidad_de_mujeres : funci贸n que despliega la cantidad de mujeres que hay en la agenda.
- cantidad_de_hombres : funci贸n que despliega la cantidad de hombres que hay en la agenda.
Para la funci贸n principal se pide tener el siguiente men煤 de opciones :
1.- Registrar persona.
2.- Eliminar persona.
3.- Listar agenda.
4.- Persona de mayor edad.
5.- Persona de menor edad
6.- Cantidad de hombres.
7.- Cantidad de mujeres.
8.- fin.
El siguiente taller tiene como objetivo la implementaci贸n de una estructura h铆brida de datos, la cual contiene estructuras de asignaci贸n est谩tica de memoria ( vectores o arreglos ) y estructuras din谩micas de memoria ( listas enlazadas ).
Entregados los objetivos y pormenores del trabajo, a continuaci贸n se entrega el detalle de este taller :
Se pide implementar una agenda que permita mantener un conjunto de registros de personas clasificados ( u ordenados ) alfab茅ticamente en esta estructura de datos.
Para esta implementaci贸n se cuenta con dos estructuras :
Primero : una estructura de arreglo llamada AGENDA la cual contiene los siguientes elementos :
- Campo 1 : letra de tipo car谩cter.
- Campo 2 : puntero a PERSONAS.
El tama帽o del arreglo deber谩 ser declarado como una constante llamada NRO_LETRAS con el largo correspondiente a cada una de las letras del alfabeto.
Segundo : una estructura din谩mica ( un nodo ) de nombre PERSONAS, la cual contiene los siguientes elementos :
- Campo 1 : Rut
- Campo 2 : Nombres
- Campo 3 : Apellidos ( Paterno y luego Materno )
- Campo 4 : Direcci贸n
- Campo 5 : edad
- Campo 6 : sexo ( H : hombre, M : mujer )
- Campo 7 : Tel茅fono
- Campo 8 : email.
- Campo 9 : puntero a PERSONAS.
Los tipos de datos para esta estructura deber谩n ser definidos por el alumno.
Teniendo la definici贸n de estructuras de este trabajo procedemos a entregar la operaciones que deber谩n implementarse para este TAD.
- iniciar_agenda : asignar los valores correspondientes al vector AGENDA, asignando las letras correspondientes y el valor NULL a los punteros de la estructura PERSONAS.
- letra_vacia : funci贸n que deber谩 entregar un valor verdadero cuando el puntero de la letra correspondiente tenga valor NULL en su campo apuntado a PERSONAS o en caso contrario valor falso.
- ingresar_persona : funci贸n que aceptar谩 por pantalla los datos definidos en la estructura PERSONAS y ser谩n ingresados en la letra correspondiente. Los registros de personas quedar谩n ordenados ( por apellido ) en la estructura de lista.
- eliminar_persona : funci贸n que tomar谩 como entrada el rut de la persona y proceder谩 a su eliminaci贸n de la lista.
- recorrido : funci贸n que recorrer谩 la estructura desplegando en forma alfab茅tica los componentes de la estructura.
- persona_de_mayor_edad : funci贸n que encuentra y despliega la persona con mayor edad.
- persona_de_menor_edad : funci贸n que encuentra y despliega la persona de menor edad.
- cantidad_de_mujeres : funci贸n que despliega la cantidad de mujeres que hay en la agenda.
- cantidad_de_hombres : funci贸n que despliega la cantidad de hombres que hay en la agenda.
Para la funci贸n principal se pide tener el siguiente men煤 de opciones :
1.- Registrar persona.
2.- Eliminar persona.
3.- Listar agenda.
4.- Persona de mayor edad.
5.- Persona de menor edad
6.- Cantidad de hombres.
7.- Cantidad de mujeres.
8.- fin.
