Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Se pide:
a) Instanciar 2 Libros de forma distinta y mostrarlos.
b) Sobrecargar el método “mostrar” para mostrar las páginas que tengan la palabra “compromiso”
c) Sobrecargar al operador ! (true/false) para verificar si la página de número x no está vacía.
d) Sobrecargar al operador (++) para contar el número de palabras que hay en cada página de
libro.
Codigo fuente
using System;
public class Libro {
private String nombre;
private String colorTapa;
private int nroPaginas;
private String[] P = new String[30];
public Libro()
{
this.nombre = "Mil Noches";
this.colorTapa = "Rojo";
this.nroPaginas = 3;
this.P[0]="Habia una noche que parecia mil noches";
this.P[1]="Una noche un ladron entro al castillo";
this.P[2]="Se quedo dormida para siempre";
}
public Libro(String nombre, String colorTapa)
{
this.nombre = nombre;
this.colorTapa = colorTapa;
this.nroPaginas = 2;
this.P[0]="Cuando desperto habia pasado mil noches largas";
this.P[1]="Y al fin pudo verse con su amor platonico";
}
public void mostrar()
{
Console.WriteLine("Nombre: " + this.nombre);
Console.WriteLine("Color de Tapa: " + this.colorTapa);
Console.WriteLine("Nro de Paginas: "+this.nroPaginas);
for (int i = 0; i < nroPaginas; i++) {
Console.WriteLine((i+1) + ".- "+this.P[i] + " ");
}
}
public void mostrar(String palX)
{
int existe = 0;
for (int i = 0; i < nroPaginas; i++) {
if(this.P[i]==(palX)+" ")
{
existe = 1;
}else{
existe = 0;
}
}
if(existe==1)
{
Console.WriteLine("Paginas en la que se encuentra la palabra compromiso: "+this.nroPaginas);
}else{
Console.WriteLine("No se encontro la palabra compromiso");
}
}
public static bool operator !(Libro lx)
{
bool sw = true;
int cont=0;
String cad="a";
if(lx.nroPaginas>=1)
{
for (int i = 0; i < lx.nroPaginas; i++) {
if(lx.P[i]=="")
{
cont++;
}
}if(cont==lx.nroPaginas)
{
sw = false;
}
} else {
sw = false;
}
return sw;
Console.WriteLine();
}
public static Libro operator ++(Libro px)
{
int cont = 0;
for (int i = 0; i < px.nroPaginas; i++) {
if (!(px.P[i]== " "))
{
px.P[i]=px.P[i]+" ";
string cadena=px.P[i];
int nroCar=cadena.Length;
for(int j=0;j<nroCar;j++)
{
if( cadena[j]== ' ')
{
cont++;
}
}
}
}
Console.WriteLine("El Libro tiene : "+ cont+" palabras ");
return px;
}
}
// Clase Principal
using System;
class Program
{
public static void Main(string[] args)
{
//a) Instanciar 2 libros de forma distinta y mostrarlos
Console.WriteLine("\n******ROBLES DIAZ ALAN FELIPE******");
Libro l1 = new Libro();
Libro l2 = new Libro("Harry Potter","Azul");
Console.WriteLine("\n****LIBRO 1****");
l1.mostrar();
Console.WriteLine("\n****LIBRO 2****");
l2.mostrar();
// b) Sobrecargar el método “mostrar” para mostrar
// las paginas que tengan la palabra “compromiso”
Console.WriteLine("\n****INCISO B)****");
l1.mostrar("compromiso");
// c) Sobrecargar al operador ! (true/false) para
// verificar si la página de número x no está vacía.
Console.WriteLine("\n****INCISO C)****");
if(!l2)
{
Console.WriteLine("La Pagina no esta vacia");
}
else
{
Console.WriteLine("La Pagina si esta vacia");
}
Console.WriteLine("\n****INCISO D)****");
l1++;
l2++;
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
Se pide:
a) Instanciar 3 Cajas de forma distintas y mostrarlas
b) Sobrecargar el operador (--) en la clase Objeto, para disminuir el costo de todos los objetos de
la caja X en un 50 %.
c) Sobrecargar el operador (-) para vaciar el contenido de una caja X que se encuentra en mal
estado hacia una caja Y que está en buen estado
d) Sobrecargar el operador (++) en la clase Caja, para leer un nuevo color para la caja, y mostrar
los objetos que tienen nombres palindromes.
Codigo fuente
using System;
public class Caja
{
private string color, estado;
private int nroObj;
private Objeto[]obj=new Objeto[50];
public Caja()
{
this.color="rosado";
this.estado="malo";
this.nroObj=3;
obj[0]= new Objeto("rodador",150);
obj[1]= new Objeto("pantalon",50);
obj[2]= new Objeto("camisa",230);
}
public Caja(string color)
{
this . color=color;
this . estado="bueno";
this . nroObj=2;
obj[0]= new Objeto("reloj",120);
obj[1]= new Objeto("calculadora",150);
}
public Caja(string color, string estado)
{
this . color=color;
this . estado=estado;
this . nroObj=2;
obj[0]= new Objeto("saco",150);
obj[1]= new Objeto("zapato",50);
}
public void mostrar()
{
Console.WriteLine(" COLOR : "+ this . color);
Console.WriteLine(" ESTADO : "+ this . estado);
Console.WriteLine(" NUMERO DE OBJETOS : "+ this . nroObj);
for(int i=0;i< this . nroObj;i++)
{
int p=i+1;
Console.WriteLine(" --- objeto "+p+" ---");
Objeto ob=new Objeto();
obj[i].mostrar();
}
}
public string getEstado()
{
return this . estado;
}
public void setEstado(string estado)
{
this . estado=estado;
}
public int getNrobj()
{
return this . nroObj;
}
public void setNroObj( int nroObj)
{
this . nroObj=nroObj;
}
public void disminuirCostoAl50porciento()
{
for(int i=0;i< this . nroObj;i++)
{
Objeto ob=new Objeto();
obj[i]--;
}
}
public static Caja operator -(Caja x, Caja y)
{
if(x.getEstado()=="malo" && y.getEstado()=="bueno" )
{
int con=0;
int nro=y.getNrobj();
int nroObjetos=x.getNrobj()+y.getNrobj();
y.setNroObj(nroObjetos);
for(int i=nro;i<y.getNrobj();i++)
{
y.obj[i]=x.obj[con];
int k=1;
while (k<=x.getNrobj())
{
x.obj[k-1]=x.obj[k];
k++;
}
x.setNroObj(x.getNrobj()-1);
}
}
else{
Console.WriteLine("NO se completo el vaciado , porque la primera caja no esta ");
Console.WriteLine("en mal estado o la segunda caja no esta en buen estado ");
} return y;
}
public static Caja operator ++(Caja cx)
{
Console.WriteLine(" INTRODUZCA EL COLOR : ");
cx.color=Console.ReadLine();
Console.WriteLine(" INTRODUZCA EL ESTADO : ");
cx.estado=(Console.ReadLine());
Console.WriteLine(" ------ OBJETOS CON NOMBRE PALINDROMES -------");
for(int i=0;i<cx.getNrobj();i++)
{
Objeto obje=new Objeto();
obje=cx.obj[i];
bool sw= true ;
string pal=obje.getNombre();
int cant=pal.Length;
int mit=cant/2;
int j=cant-1;
for(int k=0;k<mit;k++)
{
if (!(pal[k]==pal[j]))
{
sw= false ;
break ;
}
j --;
}
if(sw)
obje.mostrar();
}
return cx;
}
}
using System;
public class Objeto
{
private string nombre;
private int costo;
public Objeto()
{
this.nombre=" cafe ";
this.costo=30;
}
public Objeto(string nombre, int costo)
{
this.nombre=nombre;
this.costo=costo;
}
public void leer()
{
Console.WriteLine("*** OBJETO *** ");
Console.WriteLine(" INTRODUZCA EL NOMBRE : ");
this . nombre=Console.ReadLine();
Console.WriteLine(" INTRODUZCA EL COSTO : ");
this . costo= int. Parse(Console.ReadLine());
Console.WriteLine("\n");
}
public void mostrar()
{
Console.WriteLine("*** OBJETO *** ");
Console.WriteLine(" NOMBRE : "+ this . nombre);
Console.WriteLine(" COSTO : "+ this . costo);
Console.WriteLine();
}
public int getCosto()
{
return this . costo;
}
public void setCosto( int costo)
{
this . costo=costo;
}
public string getNombre()
{
return this . nombre;
}
public void setNombre(string nombre)
{
this . nombre=nombre;
}
public static Objeto operator --(Objeto ox)
{
ox.setCosto((ox.getCosto()/2));
return ox;
}
}
// Clase Principal
using System;
class Program
{
public static void Main(string[] args)
{
//a) INSTANCIAR 3 CAJAS DE FORMA DISTINTAS Y MOSTRARLAS
// CAJA 1
Console.WriteLine("\n******ROBLES DIAZ ALAN FELIPE******");
Caja C1= new Caja();
// CAJA 2
Caja C2= new Caja("verde");
// CAJA 3
Caja C3= new Caja("azul","malo");
// MOSTRAR LAS 3 CAJAS
Console.WriteLine("****CAJA 1****");
C1.mostrar();
Console.WriteLine("****CAJA 2****");
C2.mostrar();
Console.WriteLine("****CAJA 3****");
C3.mostrar();
//b) Sobrecargar el operador (--) para disminuir el costo de
// todos los objetos de la caja X en un 50 %.
Console.WriteLine("---INCISO B)");
Console.WriteLine(" LA CAJA ANTES DEL DESCUENTO ");
C1.mostrar();
C1.disminuirCostoAl50porciento();
Console.WriteLine(" LA CAJA DESPUES DEL DESCUENTO ");
C1.mostrar();
//c) Sobrecargar el operador (-) para vaciar el contenido de una caja X que se
// encuentra en mal estado hacia una caja Y que esta en buen estado
Console.WriteLine("---INCISO C)");
C2=C1-C2;
Console.WriteLine(" CAJA EN BUEN ESTADO CON SUS OBJETOS Y LOS OBJETOS DE LA CAJA EN MAL
ESTADO ");
C2.mostrar();
//d) Sobrecargar el operador (- -) en la clase Caja , para leer un nuevo color
// para la caja , un nuevo estado para la caja , y mostrar los objetos que tienen
// nombres palindromes .
Console.WriteLine("---INCISO D)");
C2++;
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
Se pide:
a) Instanciar 2 Veterinarias y 1 Propietario de diferente manera
b) Sobrecargar el método mostrar para:
- Mostrar una veterinaria
- Mostrar las mascotas felinas del propietario de ci x
- Mostrar al propietario de dirección X.
c) Sobrecargar al operador (>) para Eliminar los registros en la veterinaria de el Propietario de
nombre x.
d) Sobrecargar el operador (=) para calcular cuantas mascotas caninas y felinas tiene el
Propietario de celular x.
Codigo fuente
using System;
public class Veterinaria
{
private string nombre;
private int nroPropietarios;
private string [,]Prop=new string [100,3];
public Veterinaria()
{
this.nombre = "Angelitos";
this.nroPropietarios = 3;
Prop[0,0]="12345"; Prop[0,1]="74589384"; Prop[0,2]="Irpavi";
Prop[1,0]="67891"; Prop[1,1]="78643523"; Prop[1,2]="Miraflores";
Prop[2,0]="23456"; Prop[2,1]="65473829"; Prop[2,2]="Sopocachi";
}
public Veterinaria(string nombre)
{
this.nombre = nombre;
this.nroPropietarios = 2;
Prop[0,0]="8339037"; Prop[0,1]="69824159"; Prop[0,2]="Villa Fatima";
Prop[1,0]="4897320"; Prop[1,1]="62541088"; Prop[1,2]="Obrajes";
}
public void mostrar()
{
Console.WriteLine("Nombre: " + this.nombre);
Console.WriteLine("Nro de Propietarios: "+this.nroPropietarios);
for (int i = 0; i < nroPropietarios; i++) {
Console.WriteLine((i+1)+".- "+this.Prop[i,0]+" "+this.Prop[i,1]+" "+this.Prop[i,2]);
}
}
public void mostrar(string nom)
{
if(this.nombre == nom) {
Console.WriteLine("Nombre Veterinaria: " + this.nombre);
Console.WriteLine("Nro de Propietarios: "+this.nroPropietarios);
for (int i = 0; i < nroPropietarios; i++) {
Console.WriteLine((i+1)+".- "+this.Prop[i,0]+" "+this.Prop[i,1]+" "+this.Prop[i,2]);
}
}
}
public void mostrar(Propietario a, string ciX)
{
if(a.Ci == ciX) {
for (int i = 0; i < a.NroMascotas; i++) {
if(a.Mascotas[i,1]=="Felina")
{
Console.WriteLine(a.Mascotas[i,0]);
}
}
} else{
Console.WriteLine("No existe ese Propietario");
}
}
public void mostrar(Propietario z, string direccionX, string nom)
{
bool sw=false;
for (int i = 0; i < this.nroPropietarios; i++)
{
if(this.Prop[i,2] == direccionX)
{
sw=true;
z.mostrar();
}
else{
sw=false;
}
}
if(sw=false)
{
Console.WriteLine("No existe esa Direccion");
}
}
public static int operator == (Veterinaria a, Propietario b)
{
int cont=0;
for(int i=0;i< a.nroPropietarios;i++)
{
if(b.Mascotas[i,1]=="Canina"|| b.Mascotas[i,1]=="Felina")
{
cont++;
}
}
return cont;
}
public static int operator !=(Veterinaria a, Propietario b){
return 0;
}
}
using System;
public class Propietario
{
private string nombre;
private string ci;
private int nroMascotas;
private string [,]mascotas=new string [100,3];
public Propietario()
{
this.nombre = "Pepe Aguilar";
this.ci = "8697654";
this.nroMascotas = 3;
mascotas[0,0]="Huesos"; mascotas[0,1]="Canina"; mascotas[0,2]="101";
mascotas[1,0]="Luna"; mascotas[1,1]="Felina"; mascotas[1,2]="102";
mascotas[2,0]="Bigotes"; mascotas[2,1]="Felina"; mascotas[2,2]="103";
}
public void mostrar()
{
Console.WriteLine("Nombre Propietario: " + this.nombre);
Console.WriteLine("CI: " + this.ci);
Console.WriteLine("Nro de Mascotas: "+this.nroMascotas);
for (int i = 0; i < nroMascotas; i++) {
Console.WriteLine((i+1) + ".- "+this.mascotas[i,0]+" "+this.mascotas[i,1]+" "+this.mascotas[i,2]);
}
}
public string Nombre {
get { return nombre; }
set { nombre = value; }
}
public string Ci {
get { return ci; }
}
public int NroMascotas {
get { return nroMascotas; }
set { nroMascotas = value; }
}
public string[,] Mascotas {
get { return mascotas; }
set { mascotas = value; }
}
}
using System;
class Program
{
public static void Main(string[] args)
{
Console.WriteLine("\n******ROBLES DIAZ ALAN FELIPE******");
//a) Instanciar 2 Veterinarias y 1 Propietario de diferente manera
Veterinaria v1 = new Veterinaria();
Veterinaria v2 = new Veterinaria("Peludines");
Propietario p = new Propietario();
Console.WriteLine("\n****VETERINARIA 1****");
v1.mostrar();
Console.WriteLine("\n****VETERINARIA 2****");
v2.mostrar();
Console.WriteLine("\n****PROPIETARIO****");
p.mostrar();
Console.WriteLine("\n****INCISO B)****");
Console.WriteLine("\nSobrecargar el método mostrar para: Mostrar una veterinaria");
v1.mostrar("Angelitos");
v2.mostrar("Angelitos");
Console.WriteLine("\nSobrecargar el método mostrar para: Mostrar las mascotas"
+" felinas del propietario de ci x");
v1.mostrar(p,"8697654");
Console.WriteLine("\nSobrecargar el método mostrar para: Mostrar al propietario de direccion X");
v1.mostrar(p,"Miraflores"," ");
Console.WriteLine("\n****INCISO D)****");
Console.WriteLine("El propietario tiene: ");
Console.WriteLine((v1==p)+" Mascotas Felinas y Caninas");
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
}
}
+
Captura de pantalla de la ejecución