using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Elevador_24 { public class Elevador { private int Total_Andares { get; set; } private int Andar_Atual { get; set; } private int Total_Pessoas { get; set; } private int Pessoas_Atual { get; set; } public Elevador(int Capacidade_Elevador, int Total_de_Andares) { this.Total_Andares = Total_de_Andares; this.Total_Pessoas = Capacidade_Elevador; this.Andar_Atual = 0; this.Pessoas_Atual = 0; } public void Entrar() { if (this.Pessoas_Atual < this.Total_Pessoas) this.Pessoas_Atual++; else { Console.WriteLine("Não pode entrar mais ninguém. Elevador cheio!\nTecle algo para continuar..."); Console.ReadKey(); } } public void Sai() { if (this.Pessoas_Atual > 0) this.Pessoas_Atual--; else { Console.WriteLine("Não vai sair ninguém, pois o elevador está vazio!\nTecle algo para continuar..."); Console.ReadKey(); } } public void Sobe() { if (this.Andar_Atual < Total_Andares) this.Andar_Atual++; else { Console.WriteLine("Impossível subir. Estamos no último andar!\nTecle algo para continuar..."); Console.ReadKey(); } } public void Desce() { if (this.Andar_Atual > 0) this.Andar_Atual--; else { Console.WriteLine("Impossível descer, pois estamos no Térreo!\nTecle algo para continuar..."); Console.ReadKey(); } } public void Atualiza_Situacao() { Console.WriteLine("Andar atual: {0}\nTotal de Pessoas: {1} ", this.Andar_Atual, this.Pessoas_Atual); } } internal class Program { static void Main(string[] args) { string opt=""; int capacidade, andares; Elevador elevador; Console.Write("Quantas pessoas cabem no elevador? "); capacidade = int.Parse(Console.ReadLine()); Console.Write("Quantos andares o prédio tem? "); andares = int.Parse(Console.ReadLine()); elevador = new Elevador(capacidade, andares); do { Console.Clear(); Console.WriteLine("Situação do momento: "); elevador.Atualiza_Situacao(); Console.WriteLine("\n\tMenu de Opções\n"); Console.WriteLine("\t\t1 - Entra uma pessoa no elevador"); Console.WriteLine("\t\t2 - Desce uma pessoa do elevador"); Console.WriteLine("\t\t3 - Elevador sobe um andar"); Console.WriteLine("\t\t4 - Elevador desce um andar"); Console.WriteLine("\t\t5 - Terminar o programa"); Console.Write("\tQual sua opção? "); opt = Console.ReadLine(); switch(opt) { case ("1"): elevador.Entrar(); break; case ("2"): elevador.Sai(); break; case ("3"): elevador.Sobe(); break; case ("4"): elevador.Desce(); break; case ("5"): Console.WriteLine(); break; default: Console.WriteLine("Opção Inválida.\nTecle algo para continuar..."); Console.ReadKey(); break; } } while (opt != "5"); } } }