# 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);
```
{"metaMigratedAt":"2023-06-15T23:45:08.187Z","metaMigratedFrom":"Content","title":"Session Two: Getting Better Fund.Lógica","breaks":true,"contributors":"[{\"id\":\"330b3204-61c5-4231-8ab3-e59d5589a829\",\"add\":6268,\"del\":0}]"}