Skip to content

Commit

Permalink
Criacao de todos os construtores, ajustes nas classes principais e
Browse files Browse the repository at this point in the history
finalizacao da classe "Aluguel" para testes.
  • Loading branch information
gioac authored and gioac committed Mar 8, 2022
1 parent 75f4a50 commit 7026ac8
Show file tree
Hide file tree
Showing 14 changed files with 386 additions and 35 deletions.
64 changes: 47 additions & 17 deletions AluguelCarros/src/app/Agencia.java
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public class Agencia {
private String cidade;
private String estado;
private String pais;
private static Carro carro[] = new Carro[Teste.MAX];
public Carro carro[] = new Carro[Teste.MAX];

public Agencia(String id, String lo, String nu, String ba, String ci, String es, String pa) {

Expand Down Expand Up @@ -101,6 +101,15 @@ public static int Imprimir() {

public static void VincularCarro() {

int total1 = Imprimir();
int escolha1;

System.out.print(" Agencia que deseja vincular (0-" + total1 + "): ");
escolha1 = ler.nextInt();
System.out.println("");

Agencia A = Teste.cadastrarAgencia[escolha1];

int total = Carro.Imprimir();
int escolha = 0;
int a;
Expand All @@ -109,53 +118,74 @@ public static void VincularCarro() {
escolha = ler.nextInt();

for (a = 0; a < Teste.MAX; a++)
if (carro[a] == null)
if (A.carro[a] == null)
break;

carro[a] = Teste.cadastrarCarro[escolha];
A.carro[a] = Teste.cadastrarCarro[escolha];

System.out.print(" Carro vinculado com sucesso!");
System.out.println(" Carro vinculado com sucesso!");
}

public static void VincularCarroBD(Carro C, Agencia A) {

int a;

for (a = 0; a < Teste.MAX; a++)
if (A.carro[a] == null)
break;

A.carro[a] = C;
}

public static void DesvincularCarro() {

int total = ImprimirCarrosVinculados();
int total1 = Imprimir();
int escolha1;

System.out.print(" Agencia que deseja vincular (0-" + total1 + "): ");
escolha1 = ler.nextInt();
System.out.println("");

Agencia A = Teste.cadastrarAgencia[escolha1];

int total = ImprimirCarrosVinculados(A);
int escolha = 0;

System.out.print(" Escolha um carro (0-" + total + "): ");
escolha = ler.nextInt();

carro[escolha] = null;
A.carro[escolha] = null;

// repassar carros para posição de "cima"
for (int a = 0; a < Teste.MAX; a++)
if (carro[a] == null && carro[a + 1] != null) {
carro[a] = carro[a + 1];
carro[a + 1] = null;
for (int a = 0; a < Teste.MAX-1; a++)
if (A.carro[a] == null && A.carro[a + 1] != null) {
A.carro[a] = A.carro[a + 1];
A.carro[a + 1] = null;
}

System.out.print(" Carro desvinculado com sucesso!");
System.out.println(" Carro desvinculado com sucesso!");
}

public static int ImprimirCarrosVinculados() {
public static int ImprimirCarrosVinculados(Agencia A) {

int a;

for (a = 0; a < Teste.MAX; a++)
if (carro[a] != null)
System.out.println(" " + a + "- " + carro[a].getModelo());
if (A.carro[a] != null)
System.out.println(" " + a + "- " + A.carro[a].getModelo());
else
break;

return a - 1;
}

public static Carro[] getCarro() {

public Carro[] getCarro() {
return carro;
}

public static void setCarro(Carro[] carro) {
Agencia.carro = carro;
public void setCarro(Carro[] carro) {
this.carro = carro;
}

public String getIdentificacao() {
Expand Down
101 changes: 100 additions & 1 deletion AluguelCarros/src/app/Aluguel.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
package app;

import java.util.Date;
import java.util.Scanner;

public class Aluguel {

public static Scanner ler = new Scanner(System.in);

private Usuario usuario;
private LocalRetirada retirada;
private LocalEntrega entrega;
Expand All @@ -11,8 +16,102 @@ public class Aluguel {
private int valorTotal;
private Pagamento pagamento;

public Aluguel() {
public Aluguel(Usuario usuario, Agencia agR, Agencia agE, Carro carro, int valorTotal) {

this.usuario = usuario;
this.carro = carro;
this.valorTotal = valorTotal;
retirada = new LocalRetirada(agR);
entrega = new LocalEntrega(agE);
carro.setAlugado(true);

}

public static void Alugar() {
Carro C = Carro.BuscarMarca();
Usuario U = Teste.cadastrar[Teste.pos];
int valorTotal = C.getClasse().getValorDia();
Agencia AR;
Agencia AE;

int cont = 0;

int escolhaAR = 0;
int escolhaAE = 0;

System.out.println("=============================================\n");
System.out.println(" Agencias disponiveis para retirada");
System.out.println("---------------------------------------------");

for (int i = 0; i < Teste.MAX; i++) {
if (Teste.cadastrarAgencia[i] != null)
for (int a = 0; a < Teste.MAX; a++) {
if (Teste.cadastrarAgencia[i].carro[a] != null)
if (Teste.cadastrarAgencia[i].carro[a] == C) {
System.out.println(" " + cont + "- " + Teste.cadastrarAgencia[i].getIdentificacao());
System.out.println(" " + Teste.cadastrarAgencia[i].getPais());
System.out.println(" " + Teste.cadastrarAgencia[i].getEstado());
System.out.println(" " + Teste.cadastrarAgencia[i].getBairro());
System.out.println(" " + Teste.cadastrarAgencia[i].getCidade());
System.out.println("");
cont = cont + 1;
break;
}
}
else
break;
}

cont = cont - 1;
System.out.println("---------------------------------------------");
System.out.print(" Escolha uma agencia (0-" + (cont) + "): ");
escolhaAR = ler.nextInt();

cont = 0;

int agencia = 0;

for (int i = 0; i < Teste.MAX; i++)
if (Teste.cadastrarAgencia[i] != null)
for (int a = 0; a < Teste.MAX; a++)
if (Teste.cadastrarAgencia[i].carro[a] != null)
if (Teste.cadastrarAgencia[i].carro[a] == C)
if (cont == escolhaAR)
agencia = i;
else
cont = cont + 1;

AR = Teste.cadastrarAgencia[agencia];
System.out.println("=============================================\n");
System.out.println(" Agencias disponiveis para entrega");
System.out.println("---------------------------------------------");

cont = 0;

for (int i = 0; i < Teste.MAX; i++) {
if (Teste.cadastrarAgencia[i] != null) {

System.out.println(" " + cont + "- " + Teste.cadastrarAgencia[i].getIdentificacao());
System.out.println(" " + Teste.cadastrarAgencia[i].getPais());
System.out.println(" " + Teste.cadastrarAgencia[i].getEstado());
System.out.println(" " + Teste.cadastrarAgencia[i].getBairro());
System.out.println(" " + Teste.cadastrarAgencia[i].getCidade());
System.out.println("");
cont = cont + 1;

} else
break;
}

System.out.println("---------------------------------------------");
System.out.print(" Escolha uma agencia (0-" + (cont - 1) + "): ");
escolhaAE = ler.nextInt();

AE = Teste.cadastrarAgencia[escolhaAE];

Aluguel A = new Aluguel(U, AR, AE, C, valorTotal);

System.out.println(" Aluguel realizado com sucesso!");
}

public Usuario getUsuario() {
Expand Down
5 changes: 4 additions & 1 deletion AluguelCarros/src/app/CNH.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ public class CNH {
private Image fotoFrente;
private Image fotoVerso;

public CNH() {
public CNH(Image F, Image V) {

this.fotoFrente = F;
this.fotoVerso = V;

}

Expand Down
6 changes: 5 additions & 1 deletion AluguelCarros/src/app/CadeiraCrianca.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,12 @@ public class CadeiraCrianca {
private Image foto;
private int valor;

public CadeiraCrianca() {
public CadeiraCrianca(int id, int idade, int tam, int valor) {

this.identificacao = id;
this.idade = idade;
this.tamanho = tam;
this.valor = valor;

}

Expand Down
83 changes: 83 additions & 0 deletions AluguelCarros/src/app/Carro.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ public class Carro {
private int carga;
private int combustivel;
private Image foto;
private boolean alugado;

public Carro(Classe cl, String ma, String mo, String co, int km, String pl, boolean ai, int as, boolean vi, int po,
int di, boolean ar, int em, int ca, int com) {
Expand All @@ -43,6 +44,7 @@ public Carro(Classe cl, String ma, String mo, String co, int km, String pl, bool
this.embreagem = em;
this.carga = ca;
this.combustivel = com;
this.alugado = false;

}

Expand Down Expand Up @@ -289,6 +291,87 @@ public static int Imprimir() {
return i;
}

public static int ImprimirMarca(Boolean imprimir, int escolha, boolean alugar, int escolhido) {
String marca[] = new String[Teste.MAX];

for (int i = 0; i < Teste.MAX; i++)
if (Teste.cadastrarCarro[i] != null) {
for (int a = 0; a < Teste.MAX; a++) {
if (Teste.cadastrarCarro[i].getMarca().equals(marca[a]) == false) {
if (marca[a] == null) {
marca[a] = Teste.cadastrarCarro[i].getMarca();
break;
}
} else
break;
}
}

if (imprimir == true) {
for (int i = 0; i < Teste.MAX; i++)
if (marca[i] != null)
System.out.println(" " + i + "- " + marca[i]);
else
return i;
} else if (alugar == false) {
return ImprimirCarroMarca(marca[escolha], false, 0);
} else
return ImprimirCarroMarca(marca[escolha], true, escolhido);

return 0;
}

public static int ImprimirCarroMarca(String marca, boolean alugar, int escolha) {
int cont = 0;

if (alugar == false) {
for (int a = 0; a < Teste.MAX; a++)
if (Teste.cadastrarCarro[a] != null)
if (Teste.cadastrarCarro[a].getMarca().equals(marca) == true) {
cont = cont + 1;
System.out.println(" " + cont + "- " + Teste.cadastrarCarro[a].getModelo());
}
} else {
for (int a = 0; a < Teste.MAX; a++)
if (Teste.cadastrarCarro[a] != null)
if (Teste.cadastrarCarro[a].getMarca().equals(marca) == true) {
cont = cont + 1;
if (escolha == cont)
return a;
}
}

return cont;
}

public static Carro BuscarMarca() {
int escolhaM = 0;
int escolhaC = 0;
int escolhido = 0;

int totalM = ImprimirMarca(true, 0, false, 0);

System.out.print(" Escolha a marca que deseja filtrar (0-" + totalM + "): ");
escolhaM = ler.nextInt();

int totalC = ImprimirMarca(false, escolhaM, false, 0);

System.out.print(" Escolha o carro que deseja alugar (0-" + totalC + "): ");
escolhaC = ler.nextInt();

escolhido = ImprimirMarca(false, escolhaM, true, escolhaC);

return Teste.cadastrarCarro[escolhido];
}

public boolean isAlugado() {
return alugado;
}

public void setAlugado(boolean alugado) {
this.alugado = alugado;
}

public boolean isAirBag() {
return airBag;
}
Expand Down
7 changes: 6 additions & 1 deletion AluguelCarros/src/app/Fidelidade.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,12 @@ public class Fidelidade {
private int quantidade;
private int desconto;

public Fidelidade() {
public Fidelidade(Usuario us, Aluguel al, int qtd, int des) {

this.usuario = us;
this.aluguel = al;
this.quantidade = qtd;
this.desconto = des;

}

Expand Down
5 changes: 4 additions & 1 deletion AluguelCarros/src/app/Historico.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,10 @@ public class Historico {
private Aluguel aluguel;
private Usuario usuario;

public Historico() {
public Historico(Aluguel aluguel, Usuario usuario) {

this.aluguel = aluguel;
this.usuario = usuario;

}

Expand Down
Loading

0 comments on commit 7026ac8

Please sign in to comment.