public static void Main()
Console.WriteLine("Bienvenido a CELUT");
Console.WriteLine("Introduzca el servicio escolar que desea consultar (Cursos = 1, Traducción = 2)");
opcion= int.Parse(Console.ReadLine());
Traduccion traduccion1 = new Traduccion("Español a ingles", 240);
Traduccion traduccion2 = new Traduccion("Italiano a español", 340);
Traduccion traduccion3 = new Traduccion("Alemán a ingles", 440);
traduccion1.MostrarInfo();
traduccion2.MostrarInfo();
traduccion3.MostrarInfo();
Console.WriteLine("Elije una opcion");
int opcion1 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Ingrese el numero de paginas a traducir");
int cant = Convert.ToInt32(Console.ReadLine());
traduccion1.NumPaginas = cant;
traduccion1.MostrarCotizacion();
traduccion2.NumPaginas = cant;
traduccion2.MostrarCotizacion();
traduccion3.NumPaginas = cant;
traduccion3.MostrarCotizacion();
Console.WriteLine("Lo sentimos, esa opcion no esta disponible");
CursoIngles ingles1 = new CursoIngles (950, "Intensivo", "1 mes", "A1", 600);
CursoIngles ingles2 = new CursoIngles (980, "Intensivo", "1 mes", "A2", 600);
CursoIngles ingles3 = new CursoIngles (1000, "Intensivo", "1.5 mes", "B1", 600);
CursoIngles ingles4 = new CursoIngles (1050, "Intensivo", "1.5 mes", "B2", 600);
CursoIngles ingles5 = new CursoIngles (1100, "Intensivo", "2 mes", "C1", 800);
CursoIngles ingles6 = new CursoIngles (1200, "Intensivo", "2 mes", "C2", 800);
CursoIngles ingles7 = new CursoIngles (650, "Semiintensivo", "4 mes", "A1", 200);
CursoIngles ingles8 = new CursoIngles (680, "Semiintensivo", "4 mes", "A2", 200);
CursoIngles ingles9 = new CursoIngles (700, "Semiintensivo", "4.5 mes", "B1", 200);
CursoIngles ingles10 = new CursoIngles (750, "Semiintensivo", "4.5 mes", "B2", 200);
CursoIngles ingles11 = new CursoIngles (810, "Semiintensivo", "5 mes", "C1", 200);
CursoIngles ingles12 = new CursoIngles (820, "Semiintensivo", "5 mes", "C2", 200);
CursoRuso ruso1 = new CursoRuso (950, "Intensivo", "1 mes", "A1", 600);
CursoRuso ruso2 = new CursoRuso (980, "Intensivo", "1 mes", "A2", 600);
CursoRuso ruso3 = new CursoRuso (1000, "Intensivo", "1.5 mes", "B1", 600);
CursoRuso ruso4 = new CursoRuso (1050, "Intensivo", "1.5 mes", "B2", 600);
CursoRuso ruso5 = new CursoRuso (1100, "Intensivo", "2 mes", "C1", 800);
CursoRuso ruso6 = new CursoRuso (1200, "Intensivo", "2 mes", "C2", 800);
CursoRuso ruso7 = new CursoRuso (650, "Semiintensivo", "4 mes", "A1", 200);
CursoRuso ruso8 = new CursoRuso (680, "Semiintensivo", "4 mes", "A2", 200);
CursoRuso ruso9 = new CursoRuso (700, "Semiintensivo", "4.5 mes", "B1", 200);
CursoRuso ruso10 = new CursoRuso (750, "Semiintensivo", "4.5 mes", "B2", 200);
CursoRuso ruso11 = new CursoRuso (810, "Semiintensivo", "5 mes", "C1", 200);
CursoRuso ruso12 = new CursoRuso (820, "Semiintensivo", "5 mes", "C2", 200);
CursoFrances frances1 = new CursoFrances (950, "Intensivo", "1 mes", "A1", 600);
CursoFrances frances2 = new CursoFrances (980, "Intensivo", "1 mes", "A2", 600);
CursoFrances frances3 = new CursoFrances (1000, "Intensivo", "1.5 mes", "B1", 600);
CursoFrances frances4 = new CursoFrances (1050, "Intensivo", "1.5 mes", "B2", 600);
CursoFrances frances5 = new CursoFrances (1100, "Intensivo", "2 mes", "C1", 800);
CursoFrances frances6 = new CursoFrances (1200, "Intensivo", "2 mes", "C2", 800);
CursoFrances frances7 = new CursoFrances (650, "Semiintensivo", "4 mes", "A1", 200);
CursoFrances frances8 = new CursoFrances (680, "Semiintensivo", "4 mes", "A2", 200);
CursoFrances frances9 = new CursoFrances (700, "Semiintensivo", "4.5 mes", "B1", 200);
CursoFrances frances10 = new CursoFrances (750, "Semiintensivo", "4.5 mes", "B2", 200);
CursoFrances frances11 = new CursoFrances (810, "Semiintensivo", "5 mes", "C1", 200);
CursoFrances frances12 = new CursoFrances (820, "Semiintensivo", "5 mes", "C2", 200);
Console.WriteLine("Elija el idioma (1. Ingles 2. Ruso 3. Frances)");
int opcion2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Elija el que quiera cotizar");
int opcion3 = Convert.ToInt32(Console.ReadLine());
ingles1.MostrarCotizacion();
ingles2.MostrarCotizacion();
ingles3.MostrarCotizacion();
ingles4.MostrarCotizacion();
ingles5.MostrarCotizacion();
ingles6.MostrarCotizacion();
ingles7.MostrarCotizacion();
ingles8.MostrarCotizacion();
ingles9.MostrarCotizacion();
ingles10.MostrarCotizacion();
ingles11.MostrarCotizacion();
ingles12.MostrarCotizacion();
Console.WriteLine("Elija el que quiera cotizar");
int opcion4 = Convert.ToInt32(Console.ReadLine());
ruso1.MostrarCotizacion();
ruso1.MostrarCertificacion();
ruso2.MostrarCotizacion();
ruso2.MostrarCertificacion();
ruso3.MostrarCotizacion();
ruso3.MostrarCertificacion();
ruso4.MostrarCotizacion();
ruso4.MostrarCertificacion();
ruso5.MostrarCotizacion();
ruso5.MostrarCertificacion();
ruso6.MostrarCotizacion();
ruso6.MostrarCertificacion();
ruso7.MostrarCotizacion();
ruso7.MostrarCertificacion();
ruso8.MostrarCotizacion();
ruso8.MostrarCertificacion();
ruso9.MostrarCotizacion();
ruso9.MostrarCertificacion();
ruso10.MostrarCotizacion();
ruso10.MostrarCertificacion();
ruso11.MostrarCotizacion();
ruso11.MostrarCertificacion();
ruso12.MostrarCotizacion();
ruso12.MostrarCertificacion();
Console.WriteLine("Elija el que quiera cotizar");
int opcion5 = Convert.ToInt32(Console.ReadLine());
frances1.MostrarCotizacion();
frances1.MostrarCertificacion();
frances2.MostrarCotizacion();
frances2.MostrarCertificacion();
frances3.MostrarCotizacion();
frances3.MostrarCertificacion();
frances4.MostrarCotizacion();
frances4.MostrarCertificacion();
frances5.MostrarCotizacion();
frances5.MostrarCertificacion();
frances6.MostrarCotizacion();
frances6.MostrarCertificacion();
frances7.MostrarCotizacion();
frances7.MostrarCertificacion();
frances8.MostrarCotizacion();
frances8.MostrarCertificacion();
frances9.MostrarCotizacion();
frances9.MostrarCertificacion();
frances10.MostrarCotizacion();
frances10.MostrarCertificacion();
frances11.MostrarCotizacion();
frances11.MostrarCertificacion();
frances12.MostrarCotizacion();
frances12.MostrarCertificacion();
Console.WriteLine("¿Desea agregar un servicio más? Escribe 1=SI 2=NO");
respuesta = int.Parse(Console.ReadLine());
Console.WriteLine("Ya está todo listo, gracias por su preferencia.");
abstract public class Servicio
public abstract double Precio {get; set;}
public abstract double Total {get; set;}
public abstract double CalcularCostoTotal();
public abstract void MostrarInfo();
public abstract void MostrarCotizacion();
public class CursoIdioma: Servicio
public string Duracion {get; set;}
public string Nivel {get; set;}
public double cuotaInscripcion;
public double CuotaInscripcion
get {return cuotaInscripcion;}
set {cuotaInscripcion = value;}
public string TipoCurso {get; set;}
public double precioCurso;
public override double Precio
get {return precioCurso;}
set {precioCurso = value;}
public double totalCurso;
public override double Total
set {totalCurso = value;}
public override double CalcularCostoTotal()
Total = Precio + CuotaInscripcion;
Total = Precio + CuotaInscripcion;
public override void MostrarInfo()
Console.WriteLine("Tipo de curso: {0} Precio: {1} Nivel: {2} Duracion: {3}", TipoCurso, Precio, Nivel, Duracion);
public override void MostrarCotizacion()
Console.WriteLine("Cotización");
Console.WriteLine("Tipo de curso: {0} Precio: {1} Nivel: {2} Duracion: {3} Cuota de Inscripcion: {4} Total: {5}", TipoCurso, Precio, Nivel, Duracion, CuotaInscripcion, CalcularCostoTotal());
public interface ICertificacion
void MostrarCertificacion();
public class CursoIngles: CursoIdioma
public CursoIngles(double precio, string tipocurso, string duracion, string nivel, double cuotaIns)
TipoCurso = tipocurso.ToLower();
CuotaInscripcion = cuotaIns;
public class CursoRuso: CursoIdioma, ICertificacion
public CursoRuso(double precio, string tipocurso, string duracion, string nivel, double cuotaIns)
TipoCurso = tipocurso.ToLower();
CuotaInscripcion = cuotaIns;
public void MostrarCertificacion()
Console.WriteLine("Este curso tiene certificacion disponible");
public class CursoFrances: CursoIdioma, ICertificacion
public CursoFrances(double precio, string tipocurso, string duracion, string nivel, double cuotaIns)
TipoCurso = tipocurso.ToLower();
CuotaInscripcion = cuotaIns;
public void MostrarCertificacion()
Console.WriteLine("Este curso tiene certificacion disponible");
public class Traduccion: Servicio
public Traduccion(string idioma, double precioXpagina)
public double cuotaLenguaje {get; set;}
public override double Precio
get { return cuotaLenguaje; }
set { cuotaLenguaje = value; }
public string Lenguaje {get; set;}
public int NumPaginas {get; set;}
public double totalTraduccion;
public override double Total
get { return totalTraduccion; }
set { totalTraduccion = value; }
public override double CalcularCostoTotal()
Total = Precio * NumPaginas;
public override void MostrarInfo()
Console.WriteLine("Idioma : {0} Precio por pagina: {1}", Lenguaje, Precio);
public override void MostrarCotizacion()
Console.WriteLine("Cotizacion");
Console.WriteLine("Idioma: {0} Cantidad de Paginas: {1} Total: {2}", Lenguaje, NumPaginas, CalcularCostoTotal());