Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Persona
- {
- string codigo;
- string nombres;
- string apellidos;
- string dni;
- string direccion;
- string telefono;
- int edad;
- DateTime fechanac;
- string email;
- char sexo;
- public string Codigo
- {
- get { return codigo; }
- }
- public string Nombres
- {
- set { nombres = value; }
- get { return nombres; }
- }
- public string Apellidos
- {
- set { apellidos = value; }
- get { return apellidos; }
- }
- public string Dni
- {
- set { dni = value; }
- get { return dni; }
- }
- public string Direccion
- {
- set { direccion = value; }
- get { return direccion; }
- }
- public string Telefono
- {
- set { telefono = value; }
- get { return telefono; }
- }
- public int Edad
- {
- set { edad = value; }
- get { return edad; }
- }
- public DateTime FechaNac
- {
- set { fechanac = value; }
- get { return fechanac; }
- }
- public string Email
- {
- set { email = value; }
- get { return email; }
- }
- public char Sexo
- {
- set { sexo = value; }
- get { return sexo; }
- }
- public Persona(int c)
- {
- if (c < 10)
- codigo = "PER-0000";
- if (c >= 10 && c < 100)
- codigo = "PER-000";
- if (c >= 100 && c < 1000)
- codigo = "PER-00";
- if (c >= 1000)
- codigo = "PER-0";
- codigo = codigo + c;
- }
- }
- class AplicacionAgenda
- {
- static void Main(string[] args)
- {
- char op;
- List<Persona> Agenda = new List<Persona>();
- //ArrayList Agenda2 = new ArrayList();
- Persona persona;//Nodo de la Lista
- string criterio;
- int Encuentra;
- persona = new Persona(0);
- LeerDatos(Agenda, persona);
- do
- {
- Console.Clear();
- op = Interfaz();
- switch (op)
- {
- case 'R':
- case 'r':
- persona = new Persona(Agenda.Count + 1);
- Console.Write("\n");
- do
- {
- Console.Write("\t\tNombres: "); persona.Nombres = Console.ReadLine();
- } while (persona.Nombres == "");
- do
- {
- Console.Write("\t\tApellidos: "); persona.Apellidos = Console.ReadLine();
- } while (persona.Apellidos == "");
- do
- {
- Console.Write("\t\tDni: "); persona.Dni = Console.ReadLine();
- } while (persona.Dni.Length != 8);
- Console.Write("\t\tDireccion: "); persona.Direccion = Console.ReadLine();
- Console.Write("\t\tTelefono: "); persona.Telefono = Console.ReadLine();
- Console.Write("\t\tEdad: "); persona.Edad = int.Parse(Console.ReadLine());
- Console.Write("\t\tFecha de Nacimiento: "); persona.FechaNac = DateTime.Parse(Console.ReadLine());
- do
- {
- Console.Write("\t\tEmail: "); persona.Email = Console.ReadLine();
- } while (persona.Email.IndexOf("@") == -1);
- do
- {
- Console.Write("\t\t(M)asculino (F)emenino");
- Console.Write("\t\tSexo: ");
- op = char.Parse(Console.ReadLine());
- if (op == 'M' || op == 'm')
- persona.Sexo = 'M';
- if (op == 'F' || op == 'f')
- persona.Sexo = 'F';
- } while (op != 'M' && op != 'm' && op != 'F' && op != 'f');
- Agenda.Add(persona);
- break;
- case 'B':
- case 'b':
- Console.Write("\n\t\tElija Criterio de Busqueda: ");
- Console.WriteLine(" (N)ombres (A)pellidos");
- Console.Write("\n\t\tOpcion: "); op = char.Parse(Console.ReadLine());
- Console.Write("\nIngrese Criterio a Buscar: "); criterio = Console.ReadLine();
- Encuentra = Buscar(Agenda, c, criterio, op);
- //Encuentra = Buscar(Agenda, c, criterio, op);
- if (Encuentra >= 0)
- {
- Console.WriteLine("\n\t\tCodigo: " + Agenda[Encuentra].Codigo);
- Console.WriteLine("\t\tNombres: " + Agenda[Encuentra].Nombres);
- Console.WriteLine("\t\tApellidos: " + Agenda[Encuentra].Apellidos);
- Console.WriteLine("\t\tEdad: " + Agenda[Encuentra].Edad);
- }
- else
- Console.WriteLine("Persona No Existe!");
- for (int i = 0; i < c; i++)
- ReporteSimilares(Agenda, i, criterio, op);
- break;
- case 'L':
- case 'l':
- if (Agenda.Count > 0)
- {
- Console.WriteLine("\n\n\t\tAGENDA");
- Console.WriteLine("\t\t======");
- for (int i = 0; i < Agenda.Count; i++)
- {
- Console.WriteLine("\n\t\tCodigo: " + Agenda[i].Codigo);
- Console.WriteLine("\t\tNombres: " + Agenda[i].Nombres);
- Console.WriteLine("\t\tApellidos: " + Agenda[i].Apellidos);
- Console.WriteLine("\t\tDni: " + Agenda[i].Dni);
- Console.WriteLine("\t\tDireccion: " + Agenda[i].Direccion);
- Console.WriteLine("\t\tTelefono: " + Agenda[i].Telefono);
- Console.WriteLine("\t\tEdad: " + Agenda[i].Edad);
- Console.WriteLine("\t\tFecha de Nacimiento: " + Agenda[i].FechaNac);
- Console.WriteLine("\t\tEmail: " + Agenda[i].Email);
- Console.WriteLine("\t\tSexo: " + Agenda[i].Sexo);
- }
- foreach (Persona nodo in Agenda)
- {
- Console.WriteLine("\n\t\tCodigo: " + nodo.Codigo);
- Console.WriteLine("\t\tNombres: " + nodo.Nombres);
- Console.WriteLine("\t\tApellidos: " + nodo.Apellidos);
- Console.WriteLine("\t\tDni: " + nodo.Dni);
- Console.WriteLine("\t\tDireccion: " + nodo.Direccion);
- Console.WriteLine("\t\tTelefono: " + nodo.Telefono);
- Console.WriteLine("\t\tEdad: " + nodo.Edad);
- Console.WriteLine("\t\tFecha de Nacimiento: " + nodo.FechaNac);
- Console.WriteLine("\t\tEmail: " + nodo.Email);
- Console.WriteLine("\t\tSexo: " + nodo.Sexo);
- }
- }
- else
- Console.WriteLine("Agenda Vacia!");
- break;
- case 'S':
- case 's':
- break;
- }
- Console.ReadKey();
- } while (op != 'S' && op != 's');
- GuardarDatos(Agenda);
- }
- static char Interfaz()
- {
- Console.WriteLine("\n\n\t\tAGENDA");
- Console.WriteLine("\t\t======");
- Console.WriteLine("\n\t\t(R)egistrar Personas");
- Console.WriteLine("\t\t(B)uscar Persona");
- Console.WriteLine("\t\t(L)istar Personas");
- Console.WriteLine("\t\t(S)alir de la Aplicacion");
- Console.Write("\n\t\tElija Operacion:");
- return char.Parse(Console.ReadLine());
- }
- static int Buscar(Persona[] Agenda, int c, string criterio, char op)
- {
- int posicion = -1;//No encuentra a la Persona
- if (op == 'N' || op == 'n')
- {
- for (int i = 0; i < c; i++)
- {
- if (criterio == Agenda[i].Nombres)
- {
- posicion = i;
- break;
- }
- }
- }
- if (op == 'A' || op == 'a')
- {
- for (int i = 0; i < c; i++)
- {
- if (String.Compare(Agenda[i].Apellidos, criterio, true) == 0)
- {
- posicion = i;
- break;
- }
- }
- }
- return posicion;
- }
- static void ReporteSimilares(Persona[] Agenda, int i, string criterio, char op)
- {
- if (op == 'N' || op == 'n')
- {
- if (Agenda[i].Nombres.Contains(criterio) == true)
- {
- Console.WriteLine("\n\t\tCodigo: " + Agenda[i].Codigo);
- Console.WriteLine("\t\tNombres: " + Agenda[i].Nombres);
- Console.WriteLine("\t\tApellidos: " + Agenda[i].Apellidos);
- Console.WriteLine("\t\tDni: " + Agenda[i].Dni);
- Console.WriteLine("\t\tDireccion: " + Agenda[i].Direccion);
- Console.WriteLine("\t\tTelefono: " + Agenda[i].Telefono);
- Console.WriteLine("\t\tEdad: " + Agenda[i].Edad);
- Console.WriteLine("\t\tFecha de Nacimiento: " + Agenda[i].FechaNac);
- Console.WriteLine("\t\tEmail: " + Agenda[i].Email);
- Console.WriteLine("\t\tSexo: " + Agenda[i].Sexo);
- }
- }
- if (op == 'A' || op == 'a')
- {
- if (Agenda[i].Apellidos.Contains(criterio) == true)
- {
- Console.WriteLine("\n\t\tCodigo: " + Agenda[i].Codigo);
- Console.WriteLine("\t\tNombres: " + Agenda[i].Nombres);
- Console.WriteLine("\t\tApellidos: " + Agenda[i].Apellidos);
- Console.WriteLine("\t\tDni: " + Agenda[i].Dni);
- Console.WriteLine("\t\tDireccion: " + Agenda[i].Direccion);
- Console.WriteLine("\t\tTelefono: " + Agenda[i].Telefono);
- Console.WriteLine("\t\tEdad: " + Agenda[i].Edad);
- Console.WriteLine("\t\tFecha de Nacimiento: " + Agenda[i].FechaNac);
- Console.WriteLine("\t\tEmail: " + Agenda[i].Email);
- Console.WriteLine("\t\tSexo: " + Agenda[i].Sexo);
- }
- }
- }
- static void LeerDatos(List<Persona> Agenda, Persona persona)
- {
- int i;
- string linea;
- using (StreamReader archivo = new StreamReader("D:\\AEDI\\Agenda2.txt"))
- {
- while ((linea = archivo.ReadLine()) != null)
- {
- persona = new Persona(Agenda.Count + 1);
- i = linea.IndexOf('|');
- persona.Nombres = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Apellidos = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Dni = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Direccion = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Telefono = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Edad = int.Parse(linea.Substring(0, i));
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.FechaNac = DateTime.Parse(linea.Substring(0, i));
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Email = linea.Substring(0, i);
- linea = linea.Substring(i + 1);
- i = linea.IndexOf('|');
- persona.Sexo = char.Parse(linea.Substring(0, i));
- linea = linea.Substring(i + 1);
- Agenda.Add(persona);
- }
- }
- }
- static void GuardarDatos(List<Persona> Agenda)
- {
- StreamWriter archivo = File.CreateText("D:\\AEDI\\Agenda2.txt");
- string linea;
- foreach (Persona nodo in Agenda)
- {
- linea = nodo.Nombres;
- linea = linea + "|";
- linea = linea + nodo.Apellidos;
- linea = linea + "|";
- linea = linea + nodo.Dni;
- linea = linea + "|";
- linea = linea + nodo.Direccion;
- linea = linea + "|";
- linea = linea + nodo.Telefono;
- linea = linea + "|";
- linea = linea + nodo.Edad.ToString();
- linea = linea + "|";
- linea = linea + nodo.FechaNac.ToString();
- linea = linea + "|";
- linea = linea + nodo.Email;
- linea = linea + "|";
- linea = linea + nodo.Sexo.ToString();
- linea = linea + "|";
- archivo.Write(linea.ToString());
- archivo.Write(archivo.NewLine);
- }
- archivo.Flush();
- archivo.Close();
- }
- public static int c { get; set; }
- }
Advertisement
Add Comment
Please, Sign In to add comment