Código
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include "Funciones.h" void InicioSecion(); void RegistrarPersona(); /* run this program using the console pauser or add your own getch, system("pause") or input loop */ int main(int argc, char *argv[]) { int opcion = 0, repite = 1; do{ Presentacion(); Menu(); LeerCadena(Linea, M); switch(opcion){ case 1: break; case 2: RegistrarPersona(); break; case 3: break; case 4: repite = 0; break; default: break; } }while(repite); return 0; } void RegistrarPersona(){ Persona *persona; int buscarCedula = 0, repite = 1; char respuesta[M]; do{ Presentacion(); LeerCadena(Linea, M); if(!ExistePersona(buscarCedula, persona)){ persona = LeerDatosPersona(buscarCedula); if (primer == NULL) primer = persona; if (ultimo != NULL) ultimo->siguiente = persona; ultimo = persona; if (GuardarDatos(ultimo)){ Presentacion(); }else{ Presentacion(); } }else{ Presentacion(); } LeerCadena(respuesta, M); repite = 0; } }while(repite); }
Funciones.h
Código
#include <stdio.h> #include <stdlib.h> #include <string.h> void Presentacion(){ } void Menu(){ } #define M 100 char Linea[M]; typedef struct Persona{ char nombre[M]; char apellido[M]; char correo[M]; char password[M]; long int telefono; int cedula; struct Persona *siguiente; }Persona; Persona *primer = NULL; Persona *ultimo = NULL; int LeerCadena(char *cadena, int n){ int i, c; if (c == EOF){ cadena[0] = '\0'; return 0; } if (c == '\n'){ i = 0; }else{ cadena[0] = c; i = 1; } cadena[i] = c; } cadena[i] = '\0'; if (c != '\n' && c != EOF) return 1; } char ExistePersona(int buscarCedula, Persona *persona){ char existe; if (archivo == NULL){ existe = 0; }else{ existe = 0; if (persona->cedula == buscarCedula){ existe = 1; break; } } } return existe; } Persona *LeerDatosPersona(int cedula){ if (persona != NULL){ persona->cedula = cedula; LeerCadena(persona->apellido, M); LeerCadena(persona->apellido, M); LeerCadena(persona->correo, M); LeerCadena(persona->password, M); LeerCadena(Linea, M); persona->siguiente = NULL; }else{ Presentacion(); } return persona; } char GuardarDatos(Persona *persona){ char guardar; if (archivo == NULL){ guardar = 0; }else{ guardar = 1; } return guardar; }