Para este desafio, você precisará usar seus conhecimentos adquiridos no módulo de fundamentos, da trilha .NET da DIO.
Você foi contratado para construir um sistema para um estacionamento, que será usado para gerenciar os veículos estacionados e realizar suas operações, como por exemplo adicionar um veículo, remover um veículo (e exibir o valor cobrado durante o período) e listar os veículos.
Você precisará construir uma classe chamada "Estacionamento", conforme o diagrama abaixo:
A classe contém três variáveis, sendo:
precoInicial: Tipo decimal. É o preço cobrado para deixar seu veículo estacionado.
precoPorHora: Tipo decimal. É o preço por hora que o veículo permanecer estacionado.
veiculos: É uma lista de string, representando uma coleção de veículos estacionados. Contém apenas a placa do veículo.
A classe contém três métodos, sendo:
AdicionarVeiculo: Método responsável por receber uma placa digitada pelo usuário e guardar na variável veiculos.
RemoverVeiculo: Método responsável por verificar se um determinado veículo está estacionado, e caso positivo, irá pedir a quantidade de horas que ele permaneceu no estacionamento. Após isso, realiza o seguinte cálculo: precoInicial * precoPorHora, exibindo para o usuário.
ListarVeiculos: Lista todos os veículos presentes atualmente no estacionamento. Caso não haja nenhum, exibir a mensagem "Não há veículos estacionados".
Por último, deverá ser feito um menu interativo com as seguintes ações implementadas:
- Cadastrar veículo
- Remover veículo
- Listar veículos
- Encerrar
O código está pela metade, e você deverá dar continuidade obedecendo as regras descritas acima, para que no final, tenhamos um programa funcional. Procure pela palavra comentada "TODO" no código, em seguida, implemente conforme as regras acima.
Adicionei uma funcionalidade extra ao projeto que permite validar se uma string representa uma placa de carro no Brasil, seguindo o padrão comum. Esta validação utiliza uma expressão regular para garantir que a placa seja inserida corretamente
Implementação
A validação é realizada por meio do método Validador, que utiliza a expressão regular ^[A-Z]{3}[0-9][A-Z][0-9]{2}$
para garantir que a string siga o padrão de placas de carro brasileiras.
public static bool Validador(string value)
{
if (string.IsNullOrEmpty(value))
{
return false;
}
var regex = new Regex("^[A-Z]{3}[0-9][A-Z][0-9]{2}");
return regex.IsMatch(value);
}