Está en la página 1de 5

using System;

using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EjercicioD
{
class Pelicula
{
public string codigo;
public string nombre;
public string genero;
public string estado;

public Pelicula(string codigo, string nombre, string genero)


{
this.codigo = codigo;
this.nombre = nombre;
this.genero = genero;
this.estado = "disponible";
}

internal void cambiarEstado(string estado)


{
this.estado = estado;
}
public string ToString()
{
string msj = "\n=================\n";
msj += "\nCodigo: " + this.codigo;
msj += "\nNombre: " + this.nombre;
msj += "\nGenero: " + this.genero;
msj += "\nEstado: " + this.estado;
return msj;
}
}
class Inventario
{
public Pelicula[] peliculas;
public int contador;

public Inventario()
{
this.contador = 0;
peliculas = new Pelicula[100];
}
public void registrarNuevoVideo(Pelicula nuevaPelicual)
{
peliculas[contador] = nuevaPelicual;
contador++;
}
public void alquilarVideo(string codigo)
{
Pelicula pelicula = buscarPelicula(codigo);
if (pelicula != null)
{
pelicula.cambiarEstado("prestada");
Console.WriteLine("La pelicula fue alquilidad exitosamente");
}
else
{
Console.WriteLine("La pelicula no esta registrada");
Console.ReadLine();
}
}
public void devolverVideo(string codigo)
{
Pelicula pelicula = buscarPelicula(codigo);
if (pelicula != null)
{
pelicula.cambiarEstado("disponible");
Console.WriteLine("La pelicula fue devuelta exitosamente");
}
else
{
Console.WriteLine("La pelicula no esta registrada");
Console.ReadLine();
}
}
public Pelicula buscarPelicula(string codigo)
{
Pelicula pelicula = null;
for (int i = 0; i < contador; i++)
{
if (peliculas[i].codigo.Equals(codigo))
{
pelicula = peliculas[i];
break;
}
}
return pelicula;
}

internal void listarPorGenero(string genero)


{
for (int i = 0; i < contador; i++)
{
if (peliculas[i].genero.Equals(genero))
{
Console.WriteLine(peliculas[i].ToString());
}
}
}
}
class TiendaDeVideo
{
public static void menu()
{
Console.Clear();
Console.WriteLine("Tienda de peliculas");
Console.WriteLine("1. Registrar pelicula");
Console.WriteLine("2. Alquilar pelicula");
Console.WriteLine("3. Devolver pelicula");
Console.WriteLine("4. listar pelicula por genero");
Console.WriteLine("5. Salir");
Console.WriteLine("Digite su opcion: ");
}
public static void registrarNuevoVideo(Inventario inventario)
{
Console.Clear();
string codigo;
string nombre;
string genero = "";
Console.WriteLine("Digiete codigo");
codigo = Console.ReadLine();
Pelicula pelicula = inventario.buscarPelicula(codigo);
if (pelicula == null)
{
int op = 0;
Console.WriteLine("Digiete nombre");
nombre = Console.ReadLine();
do
{
Console.WriteLine("1.Accion");
Console.WriteLine("2.Drama");
Console.WriteLine("3.Ficcion");
Console.WriteLine("4.Infantil");
Console.WriteLine("5.Terror");
op = int.Parse(Console.ReadLine());
switch (op)
{
case 1: genero = "Accion"; break;
case 2: genero = "Drama"; break;
case 3: genero = "Ficcion"; break;
case 4: genero = "Infantil"; break;
case 5: genero = "Terror"; break;
}
} while (op < 1 || op > 5);
pelicula = new Pelicula(codigo, nombre, genero);
inventario.registrarNuevoVideo(pelicula);
}
else
{
Console.WriteLine("La pelicula ya esta registrada");
Console.ReadLine();
}
}
public static void alquilarVideo(Inventario inventario)
{
Console.Clear();
Console.WriteLine("Digiete codigo");
string codigo = Console.ReadLine();
inventario.alquilarVideo(codigo);
}
public static void devolverVideo(Inventario inventario)
{
Console.Clear();
Console.WriteLine("Digiete codigo");
string codigo = Console.ReadLine();
inventario.devolverVideo(codigo);
}
public static void listarPorGenero(Inventario inventario)
{
Console.Clear();
int op = 0;
string genero = "";
do
{
Console.WriteLine("1.Accion");
Console.WriteLine("2.Drama");
Console.WriteLine("3.Ficcion");
Console.WriteLine("4.Infantil");
Console.WriteLine("5.Terror");
op = int.Parse(Console.ReadLine());
switch (op)
{
case 1: genero = "Accion"; break;
case 2: genero = "Drama"; break;
case 3: genero = "Ficcion"; break;
case 4: genero = "Infantil"; break;
case 5: genero = "Terror"; break;
}
} while (op < 1 || op > 5);

inventario.listarPorGenero(genero);
Console.ReadLine();
}
static void Main(string[] args)
{
Inventario inventario = new Inventario();
int op = 0;
do
{
menu();
op = int.Parse(Console.ReadLine());
switch (op)
{
case 1: registrarNuevoVideo(inventario); break;
case 2: alquilarVideo(inventario); break;
case 3: devolverVideo(inventario); break;
case 4: listarPorGenero(inventario); break;
}
} while (op != 5);

}
}
}

También podría gustarte