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

Acoplamento e Coesão #219

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
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
8 changes: 8 additions & 0 deletions DesafioFundamentos/MinhaAplicacao/MinhaAplicacao.csproj
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net5.0</TargetFramework>
</PropertyGroup>

</Project>
12 changes: 12 additions & 0 deletions DesafioFundamentos/MinhaAplicacao/Program.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
using System;

namespace MinhaAplicacao
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
67 changes: 18 additions & 49 deletions DesafioFundamentos/Models/Estacionamento.cs
Original file line number Diff line number Diff line change
@@ -1,65 +1,34 @@
namespace DesafioFundamentos.Models
{
public class Estacionamento
{
namespace DesafioFundamentos.Models{
public class Estacionamento{
private decimal precoInicial = 0;
private decimal precoPorHora = 0;
private List<string> veiculos = new List<string>();

public Estacionamento(decimal precoInicial, decimal precoPorHora)
{
public Estacionamento(decimal precoInicial, decimal precoPorHora){
this.precoInicial = precoInicial;
this.precoPorHora = 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:");
public void AdicionarVeiculo(string placa){
veiculos.Add(placa);
}

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 = "";

// Verifica se o veículo existe
if (veiculos.Any(x => x.ToUpper() == placa.ToUpper()))
{
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;

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

public bool RemoverVeiculo(string placa, int horas){
if (veiculos.Any(x => x.ToUpper() == placa.ToUpper())){
veiculos.Remove(placa);
decimal valorTotal = precoInicial + (precoPorHora * horas);
Console.WriteLine($"O veículo {placa} foi removido e o preço total foi de: R$ {valorTotal}");
}
else
{
return true;
}else{
Console.WriteLine("Desculpe, esse veículo não está estacionado aqui. Confira se digitou a placa corretamente");
return false;
}
}

public void ListarVeiculos()
{
// Verifica se há veículos no estacionamento
if (veiculos.Any())
{
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*
}
else
{
foreach (var veiculo in veiculos){
Console.WriteLine(veiculo);
}
}else{
Console.WriteLine("Não há veículos estacionados.");
}
}
Expand Down
34 changes: 15 additions & 19 deletions DesafioFundamentos/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,54 +6,50 @@
decimal precoInicial = 0;
decimal precoPorHora = 0;

Console.WriteLine("Seja bem vindo ao sistema de estacionamento!\n" +
"Digite o preço inicial:");
Console.WriteLine("Seja bem vindo ao sistema de estacionamento!\n"+"Digite o preço inicial:");
precoInicial = Convert.ToDecimal(Console.ReadLine());

Console.WriteLine("Agora digite o preço por hora:");
precoPorHora = Convert.ToDecimal(Console.ReadLine());

// Instancia a classe Estacionamento, já com os valores obtidos anteriormente
Estacionamento es = new Estacionamento(precoInicial, precoPorHora);

string opcao = string.Empty;
bool exibirMenu = true;
string placa;

while(exibirMenu){

// Realiza o loop do menu
while (exibirMenu)
{
Console.Clear();
Console.WriteLine("Digite a sua opção:");
Console.WriteLine("1 - Cadastrar veículo");
Console.WriteLine("2 - Remover veículo");
Console.WriteLine("3 - Listar veículos");
Console.WriteLine("4 - Encerrar");

switch (Console.ReadLine())
{
switch (Console.ReadLine()){
case "1":
es.AdicionarVeiculo();
Console.WriteLine("Digite a placa do veículo para estacionar:");
placa = Console.ReadLine();
es.AdicionarVeiculo(placa);
break;

case "2":
es.RemoverVeiculo();
Console.WriteLine("Digite a placa do veículo para remover:");
placa = Console.ReadLine();
Console.WriteLine("Digite a quantidade de horas que o veículo permaneceu estacionado:");
int horas = int.Parse(Console.ReadLine());
es.RemoverVeiculo(placa,horas);
break;

case "3":
es.ListarVeiculos();
break;

case "4":
exibirMenu = false;
break;

default:
Console.WriteLine("Opção inválida");
break;
}

Console.WriteLine("Pressione uma tecla para continuar");
Console.WriteLine("Aperte uma tecla para continuar");
Console.ReadLine();
}

Console.WriteLine("O programa se encerrou");
Console.WriteLine("O programa se encerrou");
25 changes: 25 additions & 0 deletions trilha-net-fundamentos-desafio.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.002.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DesafioFundamentos", "DesafioFundamentos\DesafioFundamentos.csproj", "{F10D10A8-7D6E-4B9B-A22D-4C2ABCAC33AE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{F10D10A8-7D6E-4B9B-A22D-4C2ABCAC33AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F10D10A8-7D6E-4B9B-A22D-4C2ABCAC33AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F10D10A8-7D6E-4B9B-A22D-4C2ABCAC33AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F10D10A8-7D6E-4B9B-A22D-4C2ABCAC33AE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7E949E54-19A8-4511-BAC8-BF7168A74281}
EndGlobalSection
EndGlobal