• Viernes 1 de Noviembre de 2024, 11:33

Autor Tema:  Problemas Con Un Metodo  (Leído 1550 veces)

kobeson

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Problemas Con Un Metodo
« en: Martes 21 de Marzo de 2006, 21:03 »
0
hola, tengo un programa ke captura diferentes tipos de empledos y los inserta en un arreglo,  y un metodo ke utilizo para buscarlos dentro del arreglo, el problema ke tengo es con el metodo de busqueda ya ke no me marca ningun error pero tampoco lo busca.
aki pongo el codigo: el metodo con el ke tengo problemas esta en color azul.

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

namespace Poo
{
    public abstract class Employee
    {
        private string name;
        public string nss;
        public Employee(string name, string nss)
        {
            this.name = name;
            this.nss = nss;
        }

        public string getname()
        { return name; }
        public abstract double GetGrossPay();
    }

    public class hourly : Employee
    {
        private double wage;
        private double hours;
        public hourly(string name, string nss, double wage, double hours)
            : base(name, nss)
        {
            this.wage = wage;
            this.hours = hours;
        }
        public override double GetGrossPay()
        {
            return wage * hours;
            // throw new Exception("The method or operation is not implemented.");
        }
    }

    public class salaried : Employee
    {
        protected double bass_pay;
        public salaried(string name, string nss, double bass_pay)
            : base(name, nss)
        {
            this.bass_pay = bass_pay;
        }
        public override double GetGrossPay()
        {
            return bass_pay;
            //throw new Exception("The method or operation is not implemented.");
        }
    }
    public class comissioned : salaried
    {
        private double sales;
        private double commpct;
        public comissioned(string name, string nss, double bass_pay, double sales, double commpct)
            : base(name, nss, bass_pay)
        {
            this.sales = sales;
            this.commpct = commpct;
        }
        public override double GetGrossPay()
        {
            return bass_pay + (sales * commpct);
            //return base.GetGrossPay();
        }
    }

    public class truckdriver : salaried
    {
        private double miles;
        private double permile;

        public truckdriver(string name, string nss, double bass_pay, double permiles, double miles)
            : base(name, nss, bass_pay)
        {
            this.miles = miles;
            this.permile = permile;
        }
        public override double GetGrossPay()
        {
            return bass_pay + (miles * permile);
            //return base.GetGrossPay();
        }
    }

    class PurebaEmpleado
    {
        private Employee[] arregloemp= new Employee[20];
        private int pos = 0;

        public void altahourly()
        {
            Console.WriteLine("Datos de Empleado por Hora:  ");
            Console.WriteLine("Nombre: ");
            string nombre = Leer.dato();
            Console.WriteLine("NSS: ");
            string nss = Leer.dato();
            Console.WriteLine("Horas Trabajadas: ");
            double hours = Leer.datoDouble();
            Console.WriteLine("Pagor Por Hora: ");
            double phora = Leer.datoDouble();

            hourly empleadoh = new hourly(nombre, nss, phora, hours);
            Console.WriteLine("Sueldo "+empleadoh.GetGrossPay());
            arregloemp[pos] = empleadoh;
            pos++;

        }

        public void salried()
        {
            Console.WriteLine("Datos de Empleado por Asalariado:  ");
            Console.WriteLine("Nombre: ");
            string nombre = Leer.dato();
            Console.WriteLine("NSS: ");
            string nss = Leer.dato();
            Console.WriteLine("Sueldo: ");
            double sueldo = Leer.datoDouble();
           

            salaried empleados = new salaried(nombre, nss, sueldo);
            arregloemp[pos] = empleados;
            pos++;
        }

        public void comissioned()
        {
            Console.WriteLine("Datos de Empleado por Comision:  ");
            Console.WriteLine("Nombre: ");
            string nombre = Leer.dato();
            Console.WriteLine("NSS: ");
            string nss = Leer.dato();
            Console.WriteLine("Ventas: ");
            double venta = Leer.datoDouble();
            Console.WriteLine("CommPct: ");
            double comicion = Leer.datoDouble();
            Console.WriteLine("bass_pay: ");
            double basepay = Leer.datoDouble();


            comissioned empleadoc = new comissioned(nombre, nss, venta, comicion, basepay);
            arregloemp[pos] = empleadoc;
            pos++;
        }

        public void truckdriver()
        {
            Console.WriteLine("Datos de Truckdriver:  ");
            Console.WriteLine("Nombre: ");
            string nombre = Leer.dato();
            Console.WriteLine("NSS: ");
            string nss = Leer.dato();
            Console.WriteLine("Miles: ");
            double miles = Leer.datoDouble();
            Console.WriteLine("Permiles: ");
            double permiles = Leer.datoDouble();

            hourly empleadot = new hourly(nombre, nss, miles, permiles);
            arregloemp[pos] = empleadot;
            pos++;
        }
        public void busca()
        {
            Console.WriteLine("busqueda");
            Console.WriteLine("Nss a buscar");
            string datobus = Leer.dato();

            foreach (Employee emp in arregloemp)
            {
                if (emp !=null)
                    if (emp.nss.CompareTo(datobus) ==0)
                    {
                        Console.WriteLine("nombre {0}, suelo {1}", emp.getname(), emp.GetGrossPay());
                        break;
                    }
            }
                     
        }

    }
   class usa
    {
        public static void Main()
        {
            int p;
            PurebaEmpleado emphora = new PurebaEmpleado();
            PurebaEmpleado empsalariado = new PurebaEmpleado();
            PurebaEmpleado empcomicion = new PurebaEmpleado();
            PurebaEmpleado empdriver = new PurebaEmpleado();
            PurebaEmpleado busqueda = new PurebaEmpleado();
            do
            {
                             
                Console.WriteLine("1.- EMPLEADO POR HORA");
                Console.WriteLine("2.- EMPLEADO POR ASALARIADO");
                Console.WriteLine("3.- EMPLEADO POR COMISION");
                Console.WriteLine("4.- CHOFER DE CAMION");
                Console.WriteLine("5.- Buskeda");
                Console.WriteLine("4.- SALIR");

                Console.WriteLine("opcion");
                p = Leer.datoInt();





                switch (p)
                {
                    case 1: Console.WriteLine("Alata empleado por hora;");
                        emphora.altahourly(); break;

                    case 2: Console.WriteLine("Alata empleado asalariado;");
                        empsalariado.salried(); break;
                    case 3: Console.WriteLine("Alata empleado Comicionado;");
                        empcomicion.comissioned(); break;
                    case 4: Console.WriteLine("Alata empleado Driver;");
                        empdriver.truckdriver(); break;
                    case 5: Console.WriteLine("Busca");
                        busqueda.busca(); break;
                    case 6: Console.WriteLine("Salir"); break;



                }
            } while (p != 6);

            Console.ReadKey();
       
        }
    }

}

espero y me puedan ayudar

gracias

Diodo

  • Moderador
  • ******
  • Mensajes: 658
    • Ver Perfil
    • http://www.solocodigo.com
Re: Problemas Con Un Metodo
« Respuesta #1 en: Martes 21 de Marzo de 2006, 23:37 »
0
No creo que nadie vaya a leerse todo ese codigo, asi que lo que mejor puedes hacer en estos casos es debuggear.Pará el programa en la funcion de busqueda y ejecutalo paso a paso

saludos

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Problemas Con Un Metodo
« Respuesta #2 en: Miércoles 22 de Marzo de 2006, 02:08 »
0
Cita de: "Diodo"
No creo que nadie vaya a leerse todo ese codigo, asi que lo que mejor puedes hacer en estos casos es debuggear.Pará el programa en la funcion de busqueda y ejecutalo paso a paso

saludos

Yo no pude decirlo mejor :rolleyes:

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Problemas Con Un Metodo
« Respuesta #3 en: Miércoles 22 de Marzo de 2006, 03:50 »
0
mas facil!

manda tu archivo en codigo, se baja y se ejecuta, y se ve el problema.

P.D.: Pero como dicen lo mas recomendable es depurar y ver como cambian los valores del problema.

Saludos,


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!

kobeson

  • Nuevo Miembro
  • *
  • Mensajes: 7
    • Ver Perfil
Re: Problemas Con Un Metodo
« Respuesta #4 en: Viernes 24 de Marzo de 2006, 17:52 »
0
ok gracias por sus respuestas y disculpen mi ignorancia.

ya reslsolvi el problema .

saludos

sergiotarrillo

  • Moderador
  • ******
  • Mensajes: 1059
    • Ver Perfil
    • http://sergiot2.com/blog
Re: Problemas Con Un Metodo
« Respuesta #5 en: Viernes 14 de Abril de 2006, 14:54 »
0
:blink: y que problema tenias?

Saludos,


Sergio Tarrillo
Blog]miBlog[/url]

No me visiten!