---
# System prepended metadata

title: 'Session Two: Funções da Lógica'

---

# Session Two: Funções da Lógica 
**Nome:** Patricia Oliveira Paulino
**Número:** 37
**Turma:** INFO D
# 

### Link

https://dotnetfiddle.net/Kj2zqp

### Exercícios


```csharp=
using System;


// 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);

```