Beispiel #1
0
        public void inserir(Multas info)
        {
            MultasNo novo      = new MultasNo(info);
            MultasNo auxiliar  = _sentinela;
            MultasNo auxiliar2 = _sentinela;

            if (primeiro == ultimo)
            {
                sentinela.prox = novo;
                ultimo         = novo;
            }
            else
            {
                while (auxiliar.prox != null)
                {
                    auxiliar = auxiliar.prox;

                    if (auxiliar.multa.dataEmissao > novo.multa.dataEmissao)
                    {
                        auxiliar2.prox = novo;
                        novo.prox      = auxiliar;
                        return;
                    }
                    else if (auxiliar == ultimo)
                    {
                        ultimo.prox = novo;
                        ultimo      = novo;
                        return;
                    }
                    auxiliar2 = auxiliar2.prox;
                }
            }
        }
Beispiel #2
0
        private void multasToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (condutoresFlag && veiculosFlag)
            {
                String[] multas = File.ReadAllLines("multas.txt");
                DateTime dataEmissaoMulta;
                string   cnh, placa, tipoMulta;
                int      cont = 0;

                for (int i = 0; i < multas.Length; i++)
                {
                    cnh              = multas[i].Split(';')[0];
                    placa            = multas[i].Split(';')[1];
                    dataEmissaoMulta = Convert.ToDateTime(multas[i].Split(';')[3]);
                    tipoMulta        = multas[i].Split(';')[2];

                    Condutores condutor = tabelaHashCondutores.buscar(cnh);
                    Veiculos   veiculo  = tabelaHashVeiculos.buscar(placa);
                    Multas     multa    = null;
                    switch (tipoMulta)
                    {
                    case "1":
                        multa = new Leves(dataEmissaoMulta, veiculo, condutor);
                        break;

                    case "2":
                        multa = new Medias(dataEmissaoMulta, veiculo, condutor);
                        break;

                    case "3":
                        multa = new Graves(dataEmissaoMulta, veiculo, condutor);
                        break;

                    default:
                        break;
                    }
                    tabelaHashMultas.inserir(multa);
                    condutor.listaMultasPorCondutor.inserir(multa);
                    veiculo.listaMultasPorVeiculo.inserir(multa);
                    cont++;
                }
                multasToolStripMenuItem.Enabled = false;
                MessageBox.Show("Foram Lidas: " + cont + " Multas");
            }
            else
            {
                MessageBox.Show("Os dados de Veículos(" + veiculosFlag + ") ou Condutores(" + condutoresFlag + ") não foram carregados. Impossível executar essa ação.");
            }
        }
Beispiel #3
0
        public void inserir(Multas Novo)
        {
            long code = Novo.veiculo.placa.GetHashCode();

            if (code < 0)
            {
                code = code * -1;
            }
            code = code % 999979;
            if (Hashtab[code] == null)
            {
                Hashtab[code] = Novo;
            }
            else
            {
                inserir(Novo, 1);
            }
        }
Beispiel #4
0
        public void inserir(Multas novo, int rehash)
        {
            long code = novo.veiculo.placa.GetHashCode();

            if (code < 0)
            {
                code = code * -1;
            }
            code = code % 999979;
            code = ReHash(code, rehash);
            if (Hashtab[code] == null)
            {
                Hashtab[code] = novo;
            }
            else
            {
                inserir(novo, rehash + 1);
            }
        }
Beispiel #5
0
        public void CopiaHash(ref Multas[] array)
        {
            int cont = 0;

            for (int i = 0; i < Hashtab.Length; i++)
            {
                if (!(Hashtab[i] == null))
                {
                    cont++;
                }
            }
            array = new Multas[cont];
            cont  = 0;
            for (int i = 0; i < Hashtab.Length; i++)
            {
                if (Hashtab[i] != null)
                {
                    array[cont] = Hashtab[i];
                    cont++;
                }
            }
        }
Beispiel #6
0
 public MultasNo(Multas Dados)
 {
     _multa = Dados;
     _prox  = null;
 }
Beispiel #7
0
 public MultasNo()
 {
     _multa = null;
 }