martes, 12 de mayo de 2009

ejemplo IComparable

using System;
using System.Collections.Generic;
using System.Text;


namespace Aplicacion_Empleados
{
class empleado:IComparable
{
public int CompareTo(object obj)
{
empleado e1 = obj as empleado;
if(e1==null)

{
return 0;
}
return numero_empleado.CompareTo(e1.numero_empleado);
}



string nombreEmpleado;
int ciudad;
int numero_empleado;
int m;
public empleado(string name, int city, int number)
{
nombreEmpleado = name;
ciudad = city;
numero_empleado = number;
m=0;
}
public empleado()
{
nombreEmpleado = " ";
ciudad = 0;
numero_empleado = 0;
}





public string NombreEmpleado
{
get { return nombreEmpleado; }
set { nombreEmpleado = value; }
}
public int Ciudad
{
get { return ciudad; }
set { ciudad = value; }
}
public int Numero_Empleado
{
get { return numero_empleado; }
set { numero_empleado = value; }
}

}

}
_________________________________________________________________________________


using System;
using System.Collections.Generic;
using System.Text;

namespace Aplicacion_Empleados
{
class Program
{
static void Main(string[] args)
{
string []ciudades={"Tijuana","Ensenada","Mexicali","Monterrey, NL","Guadalajara, Jal "};
empleado e1;
int n,i,j;
Console.Write("Introduce la cantidad de empleados : ");
n = int.Parse(Console.ReadLine());
empleado[] empresa = new empleado[n];
for (i = 0; i < n; i++)
{
Console.Clear();
Console.WriteLine("Introduzca los siguientes datos ");
e1 = new empleado();
Console.Write("\nNombre de Empleado : ");
e1.NombreEmpleado = Console.ReadLine();
Console.Write("\n Numero de empleado : ");
e1.Numero_Empleado = int.Parse(Console.ReadLine());
Console.Write("\n Ciudad (1)Tijuana 2)Ensenada 3)Mexicali 4)Monterrey 5)Guadalajara : ");
e1.Ciudad = int.Parse(Console.ReadLine());
empresa[i] = e1;

}
Console.Clear();
Array.Sort(empresa);
Console.WriteLine("Listado de empleados por Ciudad");
Console.WriteLine(" Nombre Empleado Numero Empleado");
for(j=0;j<5;j++)
{
Console.WriteLine("\n\nCiudad : {0}",ciudades[j]);


foreach (empleado emp in empresa)
{
if( emp.Ciudad==j+1)
Console.WriteLine("{0,30} {1,5}",emp.NombreEmpleado,emp.Numero_Empleado);
}

}
Console.ReadLine();


}
}
}

No hay comentarios: