Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define MAX 50
- typedef struct fecha{
- int anho;
- int mes;
- int dia;
- }TFecha;
- typedef struct persona{
- char *nombre;
- char *apellido;
- TFecha fechaNac;
- struct persona *sig;
- }TPersona;
- typedef lista{
- TPersona *inicio;
- TPersona *fin;
- int numPers;
- }TLista;
- int Lista_isEmpty(TLista *L){
- return (L->numPers==0);
- }
- int Lista_tamanho(TLista *L){
- return (L->numPers);
- }
- void Lista_init(TLista *L){
- L->inicio=NULL;
- L->fin=NULL;
- L->numElem=0;
- }
- int Lista_Miembro(TLista *L,TPersona *persona){
- }
- void Lista_Registro(TLista *L,char *nombre,char *apellido,int anho, int mes, int dia){
- TPersona *persona=malloc(sizeof(TPersona));
- TPersona *crtPersona=L->inicio;
- TPersona *persAnt=NULL;
- persona->nombre=nombre;
- persona->apellido=apellido;
- persona->fechaNac->anho=anho;
- persona->fechaNac->mes=mes;
- persona->fechaNac->anho=mes;
- if (Lista_isEmpty(*L)){
- L->inicio=persona;
- L->fin=persona;
- }
- else{
- //Recorreremos hasta encontrar su ubicación en el mundo *-*
- while(crtPersona!=NULL && crtPersona->apellido<=persona->apellido){
- persAnt=crtPersona;
- crtPersona=crtPersona->sig;
- }
- //En caso encuentre un apellido igual se verá la fecha
- if (crtPersona->apellido=persona->apellido){
- while(crtPersona!=NULL && crtPersona->apellido=persona->apellido && ((crtPersona->fechaNac->anho)*1000+(crtPersona->fechaNac->mes)*100+(crtPersona->fechaNac->dia))<=((persona->fechaNac->anho)*1000+(persona->fechaNac->mes)*100+(persona->fechaNac->dia))){
- persAnt=crtPersona;
- crtPersona=crtPersona->sig;
- }
- }
- //veremos si ya esta en la lista
- if(crtPersona->nombre=persona->nombre && crtPersona->apellido=persona->apellido && ((crtPersona->fechaNac->anho)*1000+(crtPersona->fechaNac->mes)*100+(crtPersona->fechaNac->dia))==((persona->fechaNac->anho)*1000+(persona->fechaNac->mes)*100+(persona->fechaNac->dia))){
- return;
- }
- else{
- if (crtPersona=L->inicio){
- persona->sig=crtPersona;
- L->inicio=persona;
- return;
- }
- persona->sig=crtPersona;
- persAnt->sig=persona;
- if (crtPersona=L->fin){
- L->fin=persona;
- }
- }
- }
- }
- int Lista_esMiembro(TLista *L, ){
- }
- void Lista_Actualizacion()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement