Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Desafio do estacionamento concluído #222

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 38 additions & 18 deletions DesafioFundamentos/Models/Estacionamento.cs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
using System.Security.Cryptography.X509Certificates;

namespace DesafioFundamentos.Models
{
public class Estacionamento
Expand All @@ -6,6 +8,7 @@ public class Estacionamento
private decimal precoPorHora = 0;
private List<string> veiculos = new List<string>();


public Estacionamento(decimal precoInicial, decimal precoPorHora)
{
this.precoInicial = precoInicial;
Expand All @@ -14,34 +17,47 @@ public Estacionamento(decimal precoInicial, decimal precoPorHora)

public void AdicionarVeiculo()
{
// TODO: Pedir para o usuário digitar uma placa (ReadLine) e adicionar na lista "veiculos"
// *IMPLEMENTE AQUI*

Console.WriteLine("Digite a placa do veículo para estacionar:");

string placaVeiculo = Console.ReadLine();

veiculos.Add(placaVeiculo);

}

public void RemoverVeiculo()
{
Console.WriteLine("Digite a placa do veículo para remover:");

// Pedir para o usuário digitar a placa e armazenar na variável placa
// *IMPLEMENTE AQUI*
string placa = "";
string placaVeiculoRemover = Console.ReadLine();

// Verifica se o veículo existe
if (veiculos.Any(x => x.ToUpper() == placa.ToUpper()))
if (veiculos.Any(x => x.ToUpper() == placaVeiculoRemover.ToUpper()))
{
Console.WriteLine("Digite a quantidade de horas que o veículo permaneceu estacionado:");
Console.WriteLine("Digite a quantidade de horas que o veículo permaneceu estacionado:");

// TODO: Pedir para o usuário digitar a quantidade de horas que o veículo permaneceu estacionado,
// TODO: Realizar o seguinte cálculo: "precoInicial + precoPorHora * horas" para a variável valorTotal
// *IMPLEMENTE AQUI*
int horas = 0;
decimal valorTotal = 0;

int horas;
while (true)
{
string entradaHoras = Console.ReadLine();

// TODO: Remover a placa digitada da lista de veículos
// *IMPLEMENTE AQUI*

Console.WriteLine($"O veículo {placa} foi removido e o preço total foi de: R$ {valorTotal}");
if (int.TryParse(entradaHoras, out horas) && horas >= 0)
{
break;
}
else
{
Console.WriteLine("Entrada inválida. Por favor, digite um número inteiro válido para as horas:");
}
}
decimal precoInicial = 5;
int precoPorHora = 2;
decimal valorTotal = precoInicial + (precoPorHora * horas);

veiculos.Remove(placaVeiculoRemover);
Console.WriteLine($"O veículo {placaVeiculoRemover} foi removido e o preço total foi de: R$ {valorTotal}");
}
else
{
Expand All @@ -55,8 +71,12 @@ public void ListarVeiculos()
if (veiculos.Any())
{
Console.WriteLine("Os veículos estacionados são:");
// TODO: Realizar um laço de repetição, exibindo os veículos estacionados
// *IMPLEMENTE AQUI*

foreach(string item in veiculos)
{
Console.WriteLine(item);
}

}
else
{
Expand Down