C sharp - Ejercicios Programacion. orientados a objeros

 
Vista:

Ejercicios Programacion. orientados a objeros

Publicado por Groot (1 intervención) el 14/12/2022 09:33:40
Tengo que hacer este ejercicio en lenguaje C# pero el ejercicio 3 no me sale

Ejercicios Programacion.
Tema 5.1. Objetos
1. Crea la clase Producto con las siguientes características:
• Constructor: Producto(string idProducto, string descripcion, float precio). Si el precio es
negativo, tomará el valor 0.
• Accesores de solo lectura para las propiedades Id y Descripcion.
• Accesor de lectura y escritura para la propiedad Precio. Si se introduce un precio
negativo, el valor no cambiará.
• Funciones SubirPrecio(int porcentaje) y BajarPrecio(int porcentaje) que suben y bajan
el precio un porcentaje dado. El porcentaje ha de ser un número mayor que 0, de lo
contrario la función no cambiará el precio.
• ToString(), que devuelve una cadena de caracteres como la siguiente:
Producto[id=1, descripcion=Albornoz de Darth Vader, precio=11,95]
Nota: el precio debe redondearse siempre a dos decimales, tanto si se introduce en el
constructor o a través de la propiedad Precio, como si se usan las funciones SubirPrecio y
BajarPrecio. Para redondear, se puede usar la función Math.Round(numero, decimales).
2. Crea la clase LineaPedido con las siguientes características:
• Constructor: LineaPedido(int id, Producto producto, int cantidad). La cantidad tiene que
ser un número positivo, de lo contrario se considera que es 0.
• Accesores solo de lectura para Id, IdProducto, Descripcion, PrecioUnitario y
PrecioTotal.
• Accesor de lectura y escritura para Cantidad. En el caso de insertar, la cantidad tiene que
ser un número positivo. De lo contrario, la cantidad no cambiará. Cambiar la cantidad ha
de recalcular el precio total de la línea de pedido.
• ToString(), que devuelve una cadena de caracteres como la siguiente:
LineaPedido[id=1, cantidad=3, precio total=35,85
Producto[id=1, descripcion=Albornoz de Darth Vader, precio=11,95]
]
Nota: el retorno de carro es intencionado, el producto está en una línea nueva y tabulado.
Nota 2: el precio total debe redondearse siempre a dos decimales siempre que se calcule.
3. Crea la clase Factura con las siguientes características:
• Constructor: Factura(string codigo).
• Accesor de lectura y escritura para la propiedad Descuento, que es un entero que
determina un porcentaje de descuento que se aplicará al precio total.
• Accesor de solo lectura para la propiedad PrecioTotal y NumeroDeLineas.
• Función AnhadirLineaPedido(LineaPedido lp) para añadir una línea de pedido.
• Función QuitarLineaPedido(int idLineaPedido) para quitar la línea de pedido que tiene
el identificador suministrado. Si no existe ninguna línea de pedido con el id dado por
parámetro, no se hace nada.
• Función CambiarCantidad(int idLineaPedido, int nuevaCantidad) para cambiar la
cantidad de la línea de pedido indicada en el primer parámetro por la cantidad dada en el
segundo, siempre que la cantidad sea positiva. Si la cantidad es 0, se eliminará la línea
de pedido. Si la cantidad es negativa, no se producirá ningún cambio.
• ToString(), que devuelve una cadena de caracteres como la siguiente (cada línea de
pedido va en un renglón aparte):
Factura[codigo=2008-23, precio total=54,01, descuento=9%
LineaPedido[id=1, cantidad=3, precio total=35,85
Producto[id=1, descripcion=Albornoz de Darth Vader, precio=11,95]
]
LineaPedido[id=2, precio=23,50], cantidad=1, precio total=23,5
Producto[id=3, descripcion=Zapatillas de unicornio, precio=23,5]
]
]
Nota: el precio total debe redondearse siempre a dos decimales.
Nota 2: el ejercicio 3 puntúa el doble que cada uno de los otros dos ejercicios.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder