# session two: getting better | Fund.logica | 2° bimestre
**Nome** Kevin Ribeiro de Andrade
**Número** 27
**Turma** INFO A
## 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.
A função deve retornar uma mensagem no seguinte formato:
“O valor da compra de XXX ingressos referente ao filme XXX é R$ XXX”
```csharp=
using System;
using System;
public class ingressoCinemark
{
public long qtd_ingresso;
public long qtd_meia;
public double preco;
public string nome_filme;
}
public string calc_ingressos (ingressoCinemark ingresso)
{
long totalingressos = ingresso.qtd_ingresso + ingresso.qtd_meia;
//string conv = Convert.ToString(t
double preco_ingressomeia = ingresso.preco / 2;
double calc_totalpagar = (ingresso.qtd_ingresso * ingresso.preco) + ( ingresso.qtd_meia * preco_ingressomeia);
string totalidade = ("O valor da compra de " + totalingressos + " ingressos" + " referente ao filme" + " " + ingresso.nome_filme + " é igual ao valor" + " " + "R$" + calc_totalpagar);
return totalidade;
}
ingressoCinemark resul = new ingressoCinemark();
resul.qtd_ingresso = 3;
resul.qtd_meia = 2;
resul.preco = 32.67;
resul.nome_filme = "Kimetsu no yaiba mugen train";
string x = calc_ingressos(resul);
Console.WriteLine(x);
```
## Exercício 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.
As possibilidades de jogada são “Papel”, “Pedra” e “Tesoura”.
```csharp=
public class partida
{
public string jogador1;
public string jogador2;
}
public bool jokenpo (partida partid)
{
bool comp = partid.jogador1 == "papel" && partid.jogador2 == "pedra" == true;
bool comp2 = partid.jogador1 == "tesoura" && partid.jogador2 == "pedra" == false;
bool comp3 = partid.jogador1 == "pedra" && partid.jogador2 == "tesoura" == true;
bool comp4 = partid.jogador1 == "papel" && partid.jogador2 == "tesoura" == false;
bool comp5 = partid.jogador1 == "tesoura" && partid.jogador2 == "papel" == true;
bool comp6 = partid.jogador1 == "pedra" && partid.jogador2 == "papel" == false;
bool comp7 = partid.jogador1 == "tesoura" && partid.jogador2 == "tesoura" == false;
bool comp8 = partid.jogador1 == "pedra" && partid.jogador2 == "pedra" == false;
bool comp9 = partid.jogador1 == "papel" && partid.jogador2 == "papel" == false;
return comp;
}
partida party = new partida ();
party.jogador1 = Console.ReadLine();
party.jogador2 = Console.ReadLine();
bool v = jokenpo(party);
Console.WriteLine(v);
```
## Exercício 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.
```csharp=
public class EstadiaHotel
{
public DateTime entrada;
public DateTime saida;
public long qtd_pessoas;
}
public double totaldias (DateTime ida, DateTime volta)
{
TimeSpan calc = volta - ida;
double calc2 = calc.TotalDays;
return calc2;
}
public double hospedagem ( EstadiaHotel hotel)
{
double estadia_preco = 120.00;
double chamando = totaldias(hotel.entrada, hotel.saida);
double calc\_preco = estadia\_preco * hotel.qtd_pessoas;
return calc_preco * chamando;
}
EstadiaHotel Estadia = new EstadiaHotel();
Estadia.entrada = new DateTime (2021, 05, 12);
Estadia.saida = new DateTime (2021, 06, 12);
Estadia.qtd_pessoas = 10;
double s = hospedagem(Estadia);
Console.WriteLine(s);
```
## Exercício 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.
```csharp=
using System;
public class passagem
{
public DateTime ida;
public DateTime volta;
public long qtd_adulto;
public long qtd_crianca;
public string origem;
public string destino;
}
public double totaldias( DateTime ida, DateTime volta)
{
TimeSpan calc = volta - ida;
double conv = calc.TotalDays;
return conv;
}
public double calc_passagem (passagem passa)
{
double valor = 200.00;
double calc_valor = (passa.qtd_adulto * valor) + (passa.qtd_crianca * (valor / 2));
return totaldias(passa.ida, passa.volta) * calc_valor;
}
passagem vl_passagem = new passagem();
vl_passagem.ida = new DateTime (2021, 07, 17) ;
vl_passagem.volta = new DateTime (2021, 08, 23);
vl_passagem.qtd_adulto = 4;
vl_passagem.qtd_crianca = 1;
vl_passagem.origem = Console.ReadLine();
vl_passagem.destino = Console.ReadLine();
Double x = calc_passagem(vl_passagem);
Console.WriteLine(x);
```
## Exercício 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:
“A compra do Pacote de XXX dias para o destino XXX foi finalizado com sucesso! O total incluindo todas despesas é de R$ XXX”
```csharp=
using System;
public class EstadiaHotel
{
public DateTime entrada;
public DateTime saida;
public long qtd_pessoas;
}
public class passagem
{
public DateTime ida;
public DateTime volta;
public long qtd_adulto;
public long qtd_crianca;
public string origem;
public string destino;
}
public class comprovante
{
public double total;
public double totalhotel;
public double totalpassagem;
public string mensagem;
}
public double totaldias (DateTime ida, DateTime volta)
{
TimeSpan calc = volta - ida;
double calc2 = calc.TotalDays;
return calc2;
}
public double hospedagem(EstadiaHotel hotel)
{
double estadia_preco = 120.00;
double chamando = totaldias(hotel.entrada, hotel.saida);
double calc_preco = estadia_preco * hotel.qtd_pessoas;
double vs = calc_preco * chamando;
return vs;
}
public double calc_passagem (passagem passa)
{
double valor = 200.00;
double calc_valor = (passa.qtd_adulto * valor) + (passa.qtd_crianca * (valor / 2));
double ke = totaldias(passa.ida, passa.volta) * calc_valor;
return ke;
}
public comprovante total_pacote(EstadiaHotel hotel, passagem passa)
{
double dias = totaldias(passa.ida, passa.volta);
double calc = hospedagem(hotel);
double calc2 = calc_passagem(passa);
comprovante resul = new comprovante ();
resul.total = calc + calc2;
resul.totalhotel = calc;
resul.totalpassagem = calc2;
resul.mensagem = ("A compra do pacote de" + " " + (dias) + " " + "dias" + " " + "para o destino" + " " + passa.destino + " " + "Deu um valor de:" + " " + "R$" + resul.total);
return resul;
}
EstadiaHotel nh = new EstadiaHotel();
nh.entrada = new DateTime (2023, 04, 15);
nh.saida = new DateTime (2023, 05, 24);
nh.qtd_pessoas = 4;
passagem pass = new passagem ();
pass.ida = new DateTime (2022, 09, 21);
pass.volta = new DateTime (2022, 11, 23);
pass.qtd_adulto = 6;
pass.qtd_crianca = 1;
pass.origem = "Tokyo";
pass.destino = "kyoto";
comprovante x = total_pacote(nh, pass);
Console.WriteLine(x.mensagem);
```