# Session Two: Getting Better | Fundamentos da Lógica
Cauê Freitas Barreto 05
InfoB
[toc]
### Respostas
```csharp=
using System;
Console.WriteLine("<<Bora Session Two - Tipos Compostos>>");
Console.WriteLine();
Console.WriteLine();
// Exercício 1
public class IngressoCinemark
{
public int QtdInteira { get; set; }
public int QtdMeia { get; set; }
public double Preco { get; set; }
public string Filme { get; set; }
}
public string CalcularIngresso(IngressoCinemark ingresso)
{
int totalIngressos = ingresso.QtdInteira + ingresso.QtdMeia;
double totalInteira = ingresso.QtdInteira * ingresso.Preco;
double totalMeia = ingresso.QtdMeia * (ingresso.Preco / 2);
double total = totalInteira + totalMeia;
string mensagem = $"O valor da compra de {totalIngressos} ingressos referente ao filme {ingresso.Filme} é R$ {total}";
return mensagem;
}
IngressoCinemark ing = new IngressoCinemark();
ing.QtdInteira = 2;
ing.QtdMeia = 2;
ing.Preco = 10;
ing.Filme = "Avengers";
string x = CalcularIngresso(ing);
Console.WriteLine(x);
Console.WriteLine();
Console.WriteLine();
// Exercício 2
public class Partida
{
public string Jogador1 { get; set; }
public string Jogador2 { get; set; }
}
public bool Jokenpo(Partida partida)
{
bool jogador1Venceu = (partida.Jogador1 == "Papel" && partida.Jogador2 == "Pedra")
||
(partida.Jogador1 == "Pedra" && partida.Jogador2 == "Tesoura")
||
(partida.Jogador1 == "Tesoura" && partida.Jogador2 == "Papel");
return jogador1Venceu;
}
Partida p = new Partida();
p.Jogador1 = "Papel";
p.Jogador2 = "Tesoura";
bool x2 = Jokenpo(p);
Console.WriteLine("Jogador Venceu: " + x2);
Console.WriteLine();
Console.WriteLine();
// Exercício 3
public class EstadioHotel
{
public DateTime Checkin { get; set; }
public DateTime Checkout { get; set; }
public int QtdPessoas { get; set; }
}
public double TotalDias1(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double HospedagemHotel(EstadioHotel hotel)
{
double dias = TotalDias1(hotel.Checkin, hotel.Checkout);
double total = dias * hotel.QtdPessoas * 120;
return total;
}
//
EstadioHotel estadia = new EstadioHotel();
estadia.Checkin = new DateTime(2021, 5, 7);
estadia.Checkout = new DateTime(2021, 5, 9);
estadia.QtdPessoas = 4;
double x3 = HospedagemHotel(estadia);
Console.WriteLine("Hospedagem ficou: " + x3);
Console.WriteLine();
Console.WriteLine();
// Exercicio 4
public class PassagemAerea
{
public DateTime Ida { get; set; }
public DateTime Volta { get; set; }
public int QtdAdultos { get; set; }
public int QtdCriancas { get; set; }
public string Origem { get; set; }
public string Destino { get; set; }
}
public double TotalDias2(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double CalcularPassagemAerea(PassagemAerea passagem)
{
double dias = TotalDias2(passagem.Ida, passagem.Volta);
double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
return total;
}
PassagemAerea passagem = new PassagemAerea();
passagem.Ida = new DateTime(2021, 5, 7);
passagem.Volta = new DateTime(2021, 5, 9);
passagem.QtdAdultos = 2;
passagem.QtdCriancas = 2;
passagem.Origem = "SP";
passagem.Destino = "Dublin";
double x4 = CalcularPassagemAerea(passagem);
Console.WriteLine("Total da Viagem: " + x4);
Console.WriteLine();
Console.WriteLine();
// Exercicio 5
public class EstadioHotel2
{
public DateTime Checkin { get; set; }
public DateTime Checkout { get; set; }
public int QtdPessoas { get; set; }
}
public class PassagemAerea2
{
public DateTime Ida { get; set; }
public DateTime Volta { get; set; }
public int QtdAdultos { get; set; }
public int QtdCriancas { get; set; }
public string Origem { get; set; }
public string Destino { get; set; }
}
public class Comprovante
{
public double Total { get; set; }
public double TotalHotel { get; set; }
public double TotalPassagem { get; set; }
public string Mensagem { get; set; }
}
public double TotalDias3(DateTime ida, DateTime volta)
{
TimeSpan dif = volta - ida;
double dias = dif.TotalDays + 1;
return dias;
}
public double CalcularPassagemAerea(PassagemAerea2 passagem)
{
double dias = TotalDias3(passagem.Ida, passagem.Volta);
double total = (dias * passagem.QtdAdultos * 200) + (dias * passagem.QtdCriancas * 100);
return total;
}
public double HospedagemHotel(EstadioHotel2 hotel)
{
double dias = TotalDias3(hotel.Checkin, hotel.Checkout);
double total = dias * hotel.QtdPessoas * 120;
return total;
}
public Comprovante PacoteViagem(PassagemAerea2 passagem, EstadioHotel2 estadia)
{
double totalHotel = HospedagemHotel(estadia);
double totalPassagem = CalcularPassagemAerea(passagem);
double dias = TotalDias3(passagem.Ida, passagem.Volta);
Comprovante comprovante = new Comprovante();
comprovante.TotalHotel = totalHotel;
comprovante.TotalPassagem = totalPassagem;
comprovante.Total = totalHotel + totalPassagem;
comprovante.Mensagem = $"A compra do Pacote de {dias} dias para o destino {passagem.Destino} foi finalizado com sucesso! O total incluindo todas despesas é de R$ {comprovante.Total}";
return comprovante;
}
//
PassagemAerea2 passagem2 = new PassagemAerea2();
passagem2.Ida = new DateTime(2021, 5, 7);
passagem2.Volta = new DateTime(2021, 5, 9);
passagem2.QtdAdultos = 2;
passagem2.QtdCriancas = 2;
passagem2.Origem = "SP";
passagem2.Destino = "Dublin";
EstadioHotel2 estadia2 = new EstadioHotel2();
estadia2.Checkin = new DateTime(2021, 5, 7);
estadia2.Checkout = new DateTime(2021, 5, 9);
estadia2.QtdPessoas = 4;
Comprovante comprovante = PacoteViagem(passagem2, estadia2);
Console.WriteLine(comprovante.Total);
Console.WriteLine(comprovante.TotalPassagem);
Console.WriteLine(comprovante.TotalHotel);
Console.WriteLine(comprovante.Mensagem);
Console.WriteLine();
Console.WriteLine();
```
{"metaMigratedAt":"2023-06-16T00:09:47.438Z","metaMigratedFrom":"Content","title":"Session Two: Getting Better | Fundamentos da Lógica","breaks":true,"contributors":"[{\"id\":\"4197b53a-4db5-46d1-a826-1e82b9d77550\",\"add\":6224,\"del\":0}]"}