---
# System prepended metadata

title: 'Session Two: Getting Better Fund.Lógica'

---

# Session Two: Getting Better Fund.Lógica
**Autor**: Elias de Freitas Cavalcante
**Número**: 12
**Turma**: INFO C


## Exercicio 1 

**Crie uma função que implemente a lógica para calcular o valor total a ser pago na compra de ingressos do Cinemark. A partir do total de ingressos inteiras, meias e o preço cheio do ingresso, realize o cálculo.**

```charp=
public class IngressoCinemark
{
	public int inteira;
	public int media;
	public double preco;
	public string filme;
}

public double CalcularIn(int inteira)
{
	double call = 2 * inteira;
	return call;
}

public double CalcularMe(int media)
{
	double call = 2 * media;
	return call;
}

public double Calcular(IngressoCinemark intei, IngressoCinemark med)
{
	double preco = CalcularIn(intei. inteira) * CalcularMe(med.media);
	return preco;
}

IngressoCinemark intei = new IngressoCinemark();
intei.inteira = 5;

IngressoCinemark med = new IngressoCinemark();
med.media = 4;

double resu = Calcular( intei, med);
```

## Exericio 2

**Crie uma função que implemente a lógica do jogo Jokenpo entre 2 jogadores e retorne verd/falso se o jogador 1 venceu.**

```charp=
public class Partida
{
	public string jogador1;
	public string jogador2;
}

public bool joga1( string jogador1)
{
	bool to = jogador1.Contains("Pedra");
	return to;
}

public bool joga2( string jogador2)
{
	bool to = jogador2.Contains("Pedra");
	return to;
}

public bool partida( Partida jo1, Partida jo2)
{
  bool r = joga1(jo1. jogador1) == joga2(jo2. jogador2);
  return r;
}

Partida jo1 = new Partida();
jo1.jogador1 = "Pedra , Papel e Tesoura";

Partida jo2 = new Partida();
jo2.jogador2 = "Pedra , Papel e Tesoura";

bool resu = partida(jo1, jo2);
```

## Exercicio 3

**Crie uma função composta que a partir das datas de checkin (entrada) e checkout (saída) em um hotel, considerando a quantidade de pessoas que serão hospedadas, calcule o valor total a ser pago, sendo que o valor da diária é R$ 120,00.**

```charp=
public class Estadiahotel
{
    public DateTime checkin;
    public DateTime checkout;
    public int qtdPessoas;
}


public double TotalDias(DateTime Ida, DateTime Volta)
{
    TimeSpan dias = Volta - Ida;
    double dias2 = dias.Days;
    return dias2;
}

public double Hospedagemhotel(Estadiahotel hotel)
{
     double Estadia = (TotalDias(hotel.checkin, hotel.checkout)* 120) * hotel.qtdPessoas;
     return Estadia;
}


Estadiahotel hospedagem = new Estadiahotel();
    hospedagem.checkin = DateTime.Now;
    hospedagem.checkout = new DateTime(2021,05,05);
    hospedagem.qtdPessoas = 4;


double resu = Hospedagemhotel(hospedagem);
```


## Exercicio 4

**Crie uma função composta que implemente a lógica para calcular o valor total de uma compra de passagem aérea. A companhia de viagem está com uma promoção que independente do destino, os passageiros serão cobrados por dia de viagem, onde cada dia custa R$ 200,00. Crianças são cobradas pela metade.**

```charp=
public class Passagemaerea
{
    public DateTime ida;
    public DateTime volta;
    public int QtdAdultos;
    public int QtdCriancas;
    public string Origem;
    public string Destino;
}
public double TotalDias(DateTime Ida, DateTime Volta)
{
    TimeSpan dias = Volta - Ida;
    double dias2 = dias.Days;
    return dias2;
}

public double passagemaerea (Passagemaerea passagem)
{
    double Dias = TotalDias(passagem.ida, passagem.volta);
    double TotalGasto = ((passagem.QtdAdultos * 200) + (passagem.QtdCriancas * 200/2)) * Dias;
    return TotalGasto;
}

Passagemaerea passagem = new Passagemaerea();
    passagem.ida = DateTime.Now;
    passagem.volta = new DateTime (2021,05, 05);
    passagem.QtdAdultos = 2;
    passagem.QtdCriancas = 4;
    passagem.Origem = "Brasil";
    passagem.Destino = "Japão";

double resu = passagemaerea (passagem);
```

## Exercicio 5

**Crie uma função composta que implemente a lógica da compra de um Pacote de Viagem em Família. Esse pacote é composto pela viagem aérea e hospedagem em um hotel. Utilize as mesmas regras descritas nos exercícios anteriores e retorne um comprovante da compra do pacote contendo os totais do hotel, passagem e o valor final da compra. O comprovante deve ter uma mensagem que segue o template abaixo:**

```charp=
public class Passagemaerea
{
    public DateTime ida;
    public DateTime volta;
    public int QtdAdultos;
    public int QtdCriancas;
    public string Origem;
    public string Destino;
}

public class Estadiahotel
{
    public DateTime checkin;
    public DateTime checkout;
    public int qtdPessoas;
}

public class Comprovante
{
    public double total;
    public double Totalhotel;
    public double Totalpassagem;
    public string Mensagem;
}

public double TotalDias(DateTime Ida, DateTime Volta)
{
    TimeSpan dias = Volta - Ida;
    double dias2 = dias.Days;
    return dias2;
}

public double HospedagemHotel(Estadiahotel hotel)
{
     double Estadia = (TotalDias(hotel.checkin, hotel.checkout)* 120) * hotel.qtdPessoas;
     return Estadia;
}

public double passagemaerea (Passagemaerea passagem)
{
    double Dias = TotalDias(passagem.ida, passagem.volta);
    double TotalGasto = ((passagem.QtdAdultos * 200) + (passagem.QtdCriancas * 200/2)) * Dias;
    return TotalGasto;
}

public double PacoteViagem (Passagemaerea passagem, Estadiahotel hospedagem)
{
    Comprovante comprovante = new Comprovante(); 
    comprovante.Totalhotel = HospedagemHotel(hospedagem);
    comprovante.Totalpassagem = passagemaerea(passagem);
    comprovante.total = comprovante.Totalhotel + comprovante.Totalpassagem;
    comprovante.Mensagem =  "A compra do Pacote de" + TotalDias(passagem.ida, passagem.volta) + "dias para o destino" + passagem.Destino + "foi finalizado com sucesso! O total incluindo todas despesas é de R$" + comprovante.total;
    return comprovante.total;
}

Estadiahotel hospedagem = new Estadiahotel();
    hospedagem.checkin = DateTime.Now;
    hospedagem.checkout = new DateTime(2021,05,05);
    hospedagem.qtdPessoas = 4;

Passagemaerea passagem = new Passagemaerea();
    passagem.ida = DateTime.Now;
    passagem.volta = new DateTime (2021,05, 05);
    passagem.QtdAdultos = 2;
    passagem.QtdCriancas = 4;
    passagem.Origem = "Brasil";
    passagem.Destino = "Japão";

double resu = PacoteViagem (passagem, hospedagem);
```