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);
CursoAleman aleman1 = new CursoAleman (950, "Intensivo", "1 mes", "A1", 600);
CursoAleman aleman2 = new CursoAleman (980, "Intensivo", "1 mes", "A2", 600);
CursoAleman aleman3 = new CursoAleman (1000, "Intensivo", "1.5 mes", "B1", 600);
CursoAleman aleman4 = new CursoAleman (1050, "Intensivo", "1.5 mes", "B2", 600);
CursoAleman aleman5 = new CursoAleman (1100, "Intensivo", "2 mes", "C1", 800);
CursoAleman aleman6 = new CursoAleman (1200, "Intensivo", "2 mes", "C2", 800);
CursoAleman aleman7 = new CursoAleman (650, "Semiintensivo", "4 mes", "A1", 200);
CursoAleman aleman8 = new CursoAleman (680, "Semiintensivo", "4 mes", "A2", 200);
CursoAleman aleman9 = new CursoAleman (700, "Semiintensivo", "4.5 mes", "B1", 200);
CursoAleman aleman10 = new CursoAleman (750, "Semiintensivo", "4.5 mes", "B2", 200);
CursoAleman aleman11 = new CursoAleman (810, "Semiintensivo", "5 mes", "C1", 200);
CursoAleman aleman12 = new CursoAleman (820, "Semiintensivo", "5 mes", "C2", 200);
CursoJapones japones1 = new CursoJapones (950, "Intensivo", "1 mes", "A1", 600);
CursoJapones japones2 = new CursoJapones (980, "Intensivo", "1 mes", "A2", 600);
CursoJapones japones3 = new CursoJapones (1000, "Intensivo", "1.5 mes", "B1", 600);
CursoJapones japones4 = new CursoJapones (1050, "Intensivo", "1.5 mes", "B2", 600);
CursoJapones japones5 = new CursoJapones (1100, "Intensivo", "2 mes", "C1", 800);
CursoJapones japones6 = new CursoJapones (1200, "Intensivo", "2 mes", "C2", 800);
CursoJapones japones7 = new CursoJapones (650, "Semiintensivo", "4 mes", "A1", 200);
CursoJapones japones8 = new CursoJapones (680, "Semiintensivo", "4 mes", "A2", 200);
CursoJapones japones9 = new CursoJapones (700, "Semiintensivo", "4.5 mes", "B1", 200);
CursoJapones japones10 = new CursoJapones (750, "Semiintensivo", "4.5 mes", "B2", 200);
CursoJapones japones11 = new CursoJapones (810, "Semiintensivo", "5 mes", "C1", 200);
CursoJapones japones12 = new CursoJapones (820, "Semiintensivo", "5 mes", "C2", 200);
Console.WriteLine("Elija el idioma (1. Ingles 2. Aleman 3. Japones)");
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());
aleman1.MostrarCotizacion();
aleman1.MostrarCertificacion();
aleman2.MostrarCotizacion();
aleman2.MostrarCertificacion();
aleman3.MostrarCotizacion();
aleman3.MostrarCertificacion();
aleman4.MostrarCotizacion();
aleman4.MostrarCertificacion();
aleman5.MostrarCotizacion();
aleman5.MostrarCertificacion();
aleman6.MostrarCotizacion();
aleman6.MostrarCertificacion();
aleman7.MostrarCotizacion();
aleman7.MostrarCertificacion();
aleman8.MostrarCotizacion();
aleman8.MostrarCertificacion();
aleman9.MostrarCotizacion();
aleman9.MostrarCertificacion();
aleman10.MostrarCotizacion();
aleman10.MostrarCertificacion();
aleman11.MostrarCotizacion();
aleman11.MostrarCertificacion();
aleman12.MostrarCotizacion();
aleman12.MostrarCertificacion();
Console.WriteLine("Elija el que quiera cotizar");
int opcion5 = Convert.ToInt32(Console.ReadLine());
japones1.MostrarCotizacion();
japones1.MostrarCertificacion();
japones2.MostrarCotizacion();
japones2.MostrarCertificacion();
japones3.MostrarCotizacion();
japones3.MostrarCertificacion();
japones4.MostrarCotizacion();
japones4.MostrarCertificacion();
japones5.MostrarCotizacion();
japones5.MostrarCertificacion();
japones6.MostrarCotizacion();
japones6.MostrarCertificacion();
japones7.MostrarCotizacion();
japones7.MostrarCertificacion();
japones8.MostrarCotizacion();
japones8.MostrarCertificacion();
japones9.MostrarCotizacion();
japones9.MostrarCertificacion();
japones10.MostrarCotizacion();
japones10.MostrarCertificacion();
japones11.MostrarCotizacion();
japones11.MostrarCertificacion();
japones12.MostrarCotizacion();
japones12.MostrarCertificacion();
Console.WriteLine("¿Desea consultar algun otro servicio? Si: 1 No: 0");
respuesta = int.Parse(Console.ReadLine());
Console.WriteLine("Sus cotizaciones han sido generadas y otorgadas. Gracas por usar este sistema :D");
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 CursoAleman: CursoIdioma, ICertificacion
public CursoAleman(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 CursoJapones: CursoIdioma, ICertificacion
public CursoJapones(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());