0% encontró este documento útil (0 votos)
62 vistas25 páginas

Polimorfismo Val

El documento presenta la definición de clases Guarderia y Persona, con sus atributos y métodos. Se definen operadores y métodos sobrecargados para realizar operaciones como leer datos, mostrar información, comparar grados de paciencia, incrementar salarios, verificar si nombres son palíndromos y agregar/despedir personas como repartidoras. El objetivo es modelar el funcionamiento de guarderías y pastelerías usando programación orientada a objetos en C#.

Cargado por

PGema CFuentes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
62 vistas25 páginas

Polimorfismo Val

El documento presenta la definición de clases Guarderia y Persona, con sus atributos y métodos. Se definen operadores y métodos sobrecargados para realizar operaciones como leer datos, mostrar información, comparar grados de paciencia, incrementar salarios, verificar si nombres son palíndromos y agregar/despedir personas como repartidoras. El objetivo es modelar el funcionamiento de guarderías y pastelerías usando programación orientada a objetos en C#.

Cargado por

PGema CFuentes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 25

UNIV.

: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta


CI: 13153184 L.P. CARRRERA: Informática

1.
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

PANTALLA DE IMPRESIÓN EJERCICIO 1:

2.
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

CLASE GUARDERIA:
public class Guarderia
{
private string nombre;
private string direccion;
private int telefono;
private int nroNineras;
private string[,] ninera = new string[50,4];
//nombre, salario, gradopaciencia, edad
public Guarderia() {
this.nombre = "guarderiaDef";
this.direccion = "calle alamo Nº5";
this.telefono = 2222222;
this.nroNineras = 1;
this.ninera[0,0] = "MARIA";
this.ninera[0,1] = "2000";
this.ninera[0,2] = "8";
this.ninera[0,3] = "35";
}

public Guarderia(string nombre, string direccion, int telefono,


int nroNineras, string[,] ninera) {
this.nombre = nombre;
this.direccion = direccion;
this.telefono = telefono;
this.nroNineras = nroNineras;
this.ninera = ninera;
}
//g)
public static Guarderia operator % (Guarderia A, int x){
A.telefono = x;
return A;
}

//f)
public static Guarderia operator * (Guarderia x, Guarderia y){
int aux1 = 0;
int aux2 = 0;
for (int i = 0; i < x.nroNineras; i++) {
aux1 += int.Parse(x.ninera[i,2]);
}
for (int i = 0; i < y.nroNineras; i++) {
aux2 += int.Parse(y.ninera[i,2]);
}
if (aux1 == aux2) {
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

Console.WriteLine("Ambas tienen el mismo grado de


paciencia");
return null;
} else if(aux1 > aux2){
return x;
} else {
return y;
}
}

//e)
public static Guarderia operator --(Guarderia x){
for (int i = 0; i < x.nroNineras; i++) {
string cad = x.ninera[i,0];
bool sw = true;
for (int j = 0; j < cad.Length/2; j++) {
if (cad[j].CompareTo(cad[cad.Length-1]) != 0) {
sw = false;
break;
}
}
if (sw) {
Console.WriteLine("nombre: "+x.ninera[i,0]+"
salario: "+x.ninera[i,1]+
" grado de paciencia:
"+x.ninera[i,2]+" edad: "+x.ninera[i,3]);
}
}
return x;
}

//d)
public static Guarderia operator +(Guarderia x, int y){
for (int i = 0; i < x.nroNineras; i++) {
x.ninera[i,1] = "" + (double.Parse(x.ninera[i,1]) *
y/100 + double.Parse(x.ninera[i,1]));
}
return x;
}

//c)
public void mostrar(){
Console.WriteLine("Guarderia: "+nombre+ " direccion:
"+direccion+" telefono: "
+telefono+" nroNineras: "+nroNineras);
for (int i = 0; i < nroNineras; i++) {
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

Console.WriteLine("nombre: "+ninera[i,0]+" salario:


"+ninera[i,1]+
" grado de paciencia: "+ninera[i,2]+"
edad: "+ninera[i,3]);
}
}
public void mostrar(string x){
Console.WriteLine("Guarderia: "+nombre+ " direccion:
"+direccion+" telefono: "
+telefono+" nroNineras: "+nroNineras);
}

public void mostrar(Guarderia x){


Console.WriteLine("Guarderia 1:");
mostrar();
Console.WriteLine("Guarderia 2:");
x.mostrar();
}

public void leer(){


Console.Write("Guarderia: ");
nombre = Console.ReadLine();
Console.Write("Direccion: ");
direccion = Console.ReadLine();
Console.Write("telefono: ");
telefono = int.Parse(Console.ReadLine());
Console.Write("nroNineras: ");
nroNineras = int.Parse(Console.ReadLine());
for (int i = 0; i < nroNineras; i++) {
Console.Write("nombre: ");
ninera[i,0] = Console.ReadLine();
Console.Write("salario: ");
ninera[i,1] = Console.ReadLine();
Console.Write("grado de paciencia: ");
ninera[i,2] = Console.ReadLine();
Console.Write("edad: ");
ninera[i,3] = Console.ReadLine();
}
}

//b)
public static Guarderia operator ++(Guarderia x){
x.leer();
return x;
}

public int getNroNineras() {


UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

return nroNineras;
}

public void setNroNineras(int nroNineras) {


this.nroNineras = nroNineras;
}

public string getNombre() {


return nombre;
}

public void setNombre(string nombre) {


this.nombre = nombre;
}

public string getDireccion() {


return direccion;
}

public void setDireccion(string direccion) {


this.direccion = direccion;
}

public int getTelefono() {


return telefono;
}

public void setTelefono(int telefono) {


this.telefono = telefono;
}

public string[,] getNinera() {


return ninera;
}

public void setNinera(string[,] ninera) {


this.ninera = ninera;
}
}

PRINCIPAL: (MAIN)
class Program
{
public static void Main(string[] args)
{
//a)
Console.WriteLine("-----------a) ");
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

Guarderia g1 = new Guarderia();


string[,] n1 = new string[50,4];
n1[0,0] = "ANA";
n1[0,1] = "1200";
n1[0,2] = "5";
n1[0,3] = "19";
n1[1,0] = "JUANA";
n1[1,1] = "3000";
n1[1,2] = "10";
n1[1,3] = "45";
Guarderia g2 = new Guarderia("Estrellas", "Av. union",
284621, 2, n1);

g1.mostrar();
g2.mostrar();
//b)
Console.WriteLine("-----------b) ");
Guarderia x = new Guarderia();
//x++;
//x.mostrar();
//c)
Console.WriteLine("-----------c) ");
g1.mostrar();
g1.mostrar("asd");
g1.mostrar(g2);
//d)
Console.WriteLine("-----------d) ");
g2 = g2+20;
g2.mostrar();
//e)
Console.WriteLine("-----------e) ");
g2--;
//f)
Console.WriteLine("-----------f) ");
Guarderia aux = new Guarderia();
aux = g1*g2;
aux.mostrar();
//G)
Console.WriteLine("-----------g) ");
g2 = g2%299999;
g2.mostrar();

Console.Write("Press any key to continue . . . ");


Console.ReadKey(true);
}
}
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

PANTALLA DE IMPRESIÓN EJERCICIO 2:

3.
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

a) Instanciar 2 Pastelerías
b) Instanciar 3 Personas de forma distinta
c) Sobrecargar el operador ++ para leer una pastelería
d) Sobrecargar el método mostrar () de la pastelería de 3 formas distintas
e) sobrecarga el operador ++ para mostrar una Persona
f) Sobrecarga una función de 2 formas para poder modificar el ci de una persona g)
Sobrecarga un operador y haz otra función, para añadir una Persona p como repartidor a
una pastelería
g) Sobrecarga el operador True para verificar si una pastelería tiene servicio de delivery
h) Dado una Persona p y una Pastelería, sobrecarga el operador - para despedir a la
persona p como repartidor y posteriormente mostrar la pastelería, en caso de no haber
trabajado allí, mostrar un mensaje "ESTA PERSONA NO TRABAJA ALLI."
i) Sobrecarga un operador para incrementar el costo de sus productos con precio menor a
50 bs en un monto de X bs
j) Debido a que en el catálogo de postres que tiene la pastelería es difícil poder localizar un
determinado producto, te piden ordenar los productos que tiene, por su nombre de
manera ascendente.

k) Debido a que el día de hoy les fue bien en sus ventas, el dueño decide hacer una fiesta
con un poco de licor, pero como tiene empleados menores de edad y no debe comprar para
todos (ya que el dueño es muy responsable), te pide que muestres un listado de todos los
repartidores que son mayores de edad (nombre, edad).
UNIV.: Laleshk` Wara Vallejos Copana DOCENTE: Celia Elena Tarquino Peralta
CI: 13153184 L.P. CARRRERA: Informática

PANTALLA DE IMPRESIÓN EJERCICIO 3:

También podría gustarte