Skip to content

Commit

Permalink
giovanniacg#4 Implementando o método por TDD
Browse files Browse the repository at this point in the history
  • Loading branch information
larigs authored Jul 17, 2023
1 parent 5cdf54c commit 5881db1
Show file tree
Hide file tree
Showing 2 changed files with 376 additions and 20 deletions.
124 changes: 104 additions & 20 deletions AluguelCarros/src/Sistema/BancoDados.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
public class BancoDados {

// Valor inteiro para definir o maximo de cadastros
public static int MAX = 1000;
public static int MAX = 6;

// Chave para poder cadastrar um Adm
public static String CHAVEADM = "X2iU7Ghl0@vbT";
Expand All @@ -34,11 +34,11 @@ public class BancoDados {
// Caso ele seja um Admin
public static boolean Administrador = false;

// Posição do no Array do Usuario/Admin logado
// Posi��o do no Array do Usuario/Admin logado
public static int pos;

/**
* Cria um array com todas as agencias que o carro está vinculado
* Cria um array com todas as agencias que o carro est� vinculado
*
* @param car Objeto carro
* @return Retorna um array com todas as agencias com o carro vinculado
Expand All @@ -60,9 +60,9 @@ public static Agencia[] ImprimirAgencias(Carro car) {
}

/**
* Procura espaço vazio no array de cadastrar usuário
* Procura espa�o vazio no array de cadastrar usu�rio
*
* @return Retorna a posição vazia
* @return Retorna a posi��o vazia
*/
public static int CadastrarUsu() {

Expand All @@ -74,9 +74,9 @@ public static int CadastrarUsu() {
}

/**
* Procura espaço vazio no array de cadastrar admin
* Procura espa�o vazio no array de cadastrar admin
*
* @return Retorna a posição vazia
* @return Retorna a posi��o vazia
*/
public static int CadastrarAdmin() {

Expand All @@ -88,9 +88,9 @@ public static int CadastrarAdmin() {
}

/**
* Procura espaço vazio no array de cadastrar carro
* Procura espa�o vazio no array de cadastrar carro
*
* @return Retorna a posição vazia
* @return Retorna a posi��o vazia
*/
public static int CadastrarCarro() {

Expand All @@ -102,9 +102,9 @@ public static int CadastrarCarro() {
}

/**
* Procura espaço vazio no array de cadastrar classe
* Procura espa�o vazio no array de cadastrar classe
*
* @return Retorna a posição vazia
* @return Retorna a posi��o vazia
*/
public static int CadastrarClasse() {
for (int a = 0; a < MAX; a++)
Expand All @@ -115,9 +115,9 @@ public static int CadastrarClasse() {
}

/**
* Procura espaço vazio no array de cadastrar agencia
* Procura espa�o vazio no array de cadastrar agencia
*
* @return Retorna a posição vazia
* @return Retorna a posi��o vazia
*/
public static int CadastrarAgencia() {
for (int a = 0; a < MAX; a++)
Expand All @@ -128,9 +128,9 @@ public static int CadastrarAgencia() {
}

/**
* Procura espaço vazio no array de cadastrar aluguel
* Procura espa�o vazio no array de cadastrar aluguel
*
* @return Retorna a posição vazia
* @return Retorna a posicao vazia
*/
public static int CadastrarAluguel() {

Expand All @@ -142,9 +142,9 @@ public static int CadastrarAluguel() {
}

/**
* Procura espaço vazio no array de cadastrar seguro
* Procura espaço vazio no array de cadastrar seguro
*
* @return Retorna a posição vazia
* @return Retorna a posicao vazia
*/
public static int CadastrarSeguro() {

Expand All @@ -155,6 +155,90 @@ public static int CadastrarSeguro() {
return -1;
}

public static Carro[] ordenarCarros(String categoria) {
int valor = 0;
int valorCmp = 0;
Carro aux;

for(int i = cadastrarCarro.length-1; i > 0; i--) {
if(cadastrarCarro[i] == null) continue;

int[] response = retornaValor(categoria, i, i-1);

valor = response[0];
valorCmp = response[1];

if(valor < valorCmp) {
aux = cadastrarCarro[i-1];
cadastrarCarro[i-1] = cadastrarCarro[i];
cadastrarCarro[i] = aux;
}
}

for (int i = 2; i <= cadastrarCarro.length-1; i++){
if(cadastrarCarro[i] == null) continue;
Carro chave;
int j;

chave = cadastrarCarro[i];
j = i;

int[] response = retornaValor(categoria, i, j-1);

valor = response[0];
valorCmp = response[1];

while (valor < valorCmp){
if(cadastrarCarro[j] == null) continue;

cadastrarCarro[j] = cadastrarCarro[j-1];
j--;

valorCmp = retornaValor(categoria, 0, j-1)[1];

}
cadastrarCarro[j] = chave;
}

return cadastrarCarro;
}

private static int[] retornaValor(String categoria, int i, int j) {
int[] retorno = {0, 0};
switch(categoria) {
case "preco":
retorno[0] = cadastrarCarro[i].getClasse().getValorDia();
retorno[1] = cadastrarCarro[j].getClasse().getValorDia();
break;
case "km":
retorno[0] = cadastrarCarro[i].getKm();
retorno[1] = cadastrarCarro[j].getKm();
break;
case "assentos":
retorno[0] = cadastrarCarro[i].getAssentos();
retorno[1] = cadastrarCarro[j].getAssentos();
break;
case "carga":
retorno[0] = cadastrarCarro[i].getCarga();
retorno[1] = cadastrarCarro[j].getCarga();
break;
case "ano":
retorno[0] = cadastrarCarro[i].getAno();
retorno[1] = cadastrarCarro[j].getAno();
break;
}

return retorno;
}


// System.out.println("---- " + categoria);
// for(int i = 0; i <= cadastrarCarro.length-1; i++) {
// if(cadastrarCarro[i] == null) continue;
// System.out.println(i + " - " + cadastrarCarro[i].getKm() + " - " + cadastrarCarro[i].getModelo());
// }
// System.out.println("\n");

/**
* Preenche todos os arrays com dados pre cadastrados
*/
Expand All @@ -169,7 +253,7 @@ public static void DadosPreCadastrados() {
"Rua 3", "35", "Bairro principal", "Cidade de Deus", "Estado do bem", "Melhor Pais");
cadastrarUsuario[1] = new Usuario("Maria Luiza", "64626578047", "[email protected]", "Brasileira", "Feminino",
"(61) 99650-2450", "malu1212", "malu2809", "Rua 4", "70", "Bairro da capital", "Cidade do amanha",
"Estado do mal", "País dos deuses");
"Estado do mal", "Pa�s dos deuses");

// ================================== ADMINISTRADORES
// ==================================
Expand Down Expand Up @@ -247,9 +331,9 @@ public static void DadosPreCadastrados() {
// ==================================
// --------------------------------------------------------------------------------

cadastrarAgencia[0] = new Agencia("AG001", "Rua 3", "35", "Bairro principal", "São Paulo", "Estado do bem",
cadastrarAgencia[0] = new Agencia("AG001", "Rua 3", "35", "Bairro principal", "S�o Paulo", "Estado do bem",
"Melhor Pais");
cadastrarAgencia[1] = new Agencia("AG002", "Rua 3", "35", "Bairro principal", "Brasília", "Estado do bem",
cadastrarAgencia[1] = new Agencia("AG002", "Rua 3", "35", "Bairro principal", "Bras�lia", "Estado do bem",
"Melhor Pais");
cadastrarAgencia[2] = new Agencia("AG003", "Rua 3", "35", "Bairro principal", "Manaus", "Estado do bem",
"Melhor Pais");
Expand Down
Loading

0 comments on commit 5881db1

Please sign in to comment.