SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
//***************CObjeto*******************

using System;
using System.Collections.Generic;
using System.Text;
namespace ClasesGenerales
{
    public delegate bool Seleccionar(CObjeto Objeto);

     public class CObjeto
     {
         #region *********************** ATRIBUTOS ************************
             private string aId;
         #endregion *********************** ATRIBUTOS ************************
         #region *********************** METODOS ************************
         #region ==================== CONSTRUCTORES =======================
             public CObjeto()
             {
                 aId = "";
             }
             public CObjeto(string pId)
             {
                 aId = pId;
             }
         #endregion ==================== CONSTRUCTORES =======================
         #region ==================== PROPIEDADES =======================
             public string Id
             {
                 get { return aId; }
                 set { aId = value; }
             }
         #endregion ==================== PROPIEDADES =======================
         #region ====================    OTROS    =======================
             // ================================================================
             public override string ToString()
             {
                 return aId;
             }
             // ================================================================
             public override bool Equals(object Objeto)
             {
                 return (Objeto.ToString() == aId);
             }
             // ================================================================
             public virtual void Leer()
             {
                 Console.Write("Identificador: ");
                 aId = Console.ReadLine();
             }
             // ================================================================
             public virtual void Escribir()
             {
                 Console.WriteLine(aId);
             }
             // ================================================================
             public virtual void Mostrar()
             {
                 Console.WriteLine();
                 Console.WriteLine("DATOS DE OBJETO");
                 Console.WriteLine("================");
                 Console.WriteLine("Identificador: " + aId);
             }
         #endregion ===================     OTROS    =======================
         #endregion *********************** METODOS ************************
     }
}
//*************************CListaObjetos************

using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
namespace ClasesGenerales
{
    public class CListaObjetos
    {
        #region *********************** ATRIBUTOS ************************
            private ArrayList aListado;
        #endregion *********************** ATRIBUTOS ************************
        #region *********************** METODOS ************************
        #region ==================== CONSTRUCTORES =======================
            public CListaObjetos()
            {
                aListado = new ArrayList();
            }
        #endregion ==================== CONSTRUCTORES =======================
        #region ==================== PROPIEDADES =======================
            public ArrayList Listado
            {
                get { return aListado; }
                set { aListado = value; }
            }
        #endregion ==================== PROPIEDADES =======================
        #region ====================    OTROS     =======================
            // ==============================================================
            public void Agregar(CObjeto Objeto)
            {
                // ----- Verificar que objeto no exista en la lista
                if (Indice(Objeto) < 0)
                     Listado.Add(Objeto);
                else
                     // ----- Objeto ya existe en el listado, por tanto poner mensaje de error
                     Console.WriteLine(Objeto.Id+" ya existe en la lista, por tanto, no será
agregado...");
            }

            // ==============================================================
            public int Indice(Object Objeto)
            {
                return Listado.IndexOf(Objeto.ToString());
            }
            // ==============================================================
            public void Consultar(object pId)
            {
                // ----- Determinar Indice o ubicacion del Identificador
                int I = Indice(pId);
                if (I >= 0)
                {
                    CObjeto Objeto = (Listado[I] as CObjeto);
                    Objeto.Mostrar();
                }
                else
                    // ----- Objeto no existe en el listado, por tanto poner mensaje de error
                    Console.WriteLine(pId + " No existe en la lista...");
            }
            // ==============================================================
            public virtual void ProcesarObjeto(Object O)
            {
                CObjeto Objeto = O as CObjeto;
                Objeto.Escribir();
            }
            // ==============================================================
            public void RecorrerListado(int N)
            {
                if (N > 0)
                {
                    // ----- Procesar los N-1 primeros elementos
                    RecorrerListado(N - 1);
                    // ----- Procesar N-ésimo Objeto
                    ProcesarObjeto(Listado[N - 1]);
                }
            }
// ==============================================================
              public void RecorrerListado()
              {
                  // ----- Recorrer listado para procesar cada objeto de la lista
                  RecorrerListado(Listado.Count);
              }

         #endregion ===================    OTROS     =======================
         #endregion *********************** METODOS ************************

     }
}
//**************************CLibro***************

using System;
using System.Collections.Generic;
using System.Text;
using ClasesGenerales;
namespace AppLibros
{
    public class CLibro : CObjeto
    {
        #region *********************** ATRIBUTOS ************************
            // -- Hereda el atributo aId
            private string aTitulo;
            private string aAutor;
            private int aAnio;
            private string aEspecialidad;
        #endregion *********************** ATRIBUTOS ************************
        #region *********************** METODOS ************************
        #region ==================== CONSTRUCTORES =======================
            public CLibro() : base()
            {
                aTitulo = "";
                aAutor = "";
                aAnio = 0;
                aEspecialidad = "";
            }
            public CLibro(string pId, string pTitulo, string pAutor, int pAnio, string pEspecialidad)
: base(pId)
            {
                aTitulo = pTitulo;
                aAutor = pAutor;
                aAnio = pAnio;
                aEspecialidad = pEspecialidad;
            }
        #endregion ==================== CONSTRUCTORES =======================

         #region ==================== PROPIEDADES =======================
             public string Codigo
             {
                 get { return Id; }
                 set { Id = value; }
             }
             public string Titulo
             {
                 get { return aTitulo; }
                 set { aTitulo = value; }
             }
             public string Autor
             {
                 get { return aAutor; }
                 set { aAutor = value; }
             }
             public int Anio
             {
                 get { return aAnio; }
                 set { aAnio = value; }
             }
             public string Especialidad
             {
get { return aEspecialidad; }
                    set { aEspecialidad = value; }
              }
          #endregion ==================== PROPIEDADES =======================

          #region ====================           OTROS      =======================

               // ================================================================
               public override void Leer()
               {
                   Console.WriteLine();
                   Console.WriteLine("INGRESAR DATOS DE LIBROS");
                   Console.WriteLine("===========================");
                   Console.Write("Código Libro: ");
                   Id = Console.ReadLine();
                   Console.Write("Título: ");
                   Titulo = Console.ReadLine();
                   Console.Write("Autor: ");
                   Autor = Console.ReadLine();
                   Console.Write("Año: ");
                   Anio = int.Parse(Console.ReadLine());
                   Console.Write("Especialidad: ");
                   Especialidad = Console.ReadLine();
               }

            // ================================================================
            public override void Escribir()
            {
                Console.WriteLine(Id.PadRight(10) + Titulo.PadRight(20) + Autor.PadRight(30)+
Anio.ToString().PadLeft(5)+" "+Especialidad.PadRight(15));
            }
            // ================================================================
            public override void Mostrar()
            {
                Console.WriteLine();
                Console.WriteLine("DATOS DE LIBRO");
                Console.WriteLine("=================");
                Console.WriteLine("Codigo: " + Id);
                Console.WriteLine("Título: " + Titulo);
                Console.WriteLine("Autor: " + Autor);
                Console.WriteLine("Año: " + Anio.ToString());
                Console.WriteLine("Especialidad: " + Especialidad);
            }
        #endregion ===================     OTROS     =======================

          #endregion *********************** METODOS ************************

     }
}
//*************************CListaLibros******************

using   System;
using   System.Collections;
using   System.Collections.Generic;
using   System.Text;
using   ClasesGenerales;

namespace AppLibros
{

     public class CListaLibros : CListaObjetos
     {

          #region *********************** METODOS ************************

          #region ==================== CONSTRUCTORES =======================
              public CListaLibros() : base()
              {
              }
          #endregion ==================== CONSTRUCTORES =======================
#region ====================          OTROS        =======================

               // ==============================================================
               public void AgregarLibro()
               {
                   // ----- Crear objeto Libro y leer sus datos
                   CLibro OLibro = new CLibro();
                   OLibro.Leer();
                   // ----- Agregar objeto a la Lista de Libros
                   Agregar(OLibro);
               }

               // ==============================================================
               public void ConsultarLibro()
               {
                   // ----- Leer el identificador de libro que se desea buscar
                   Console.WriteLine();
                   Console.Write("Ingrese el identificador del Libro: ");
                   string Id = Console.ReadLine();
                   // ----- Determinar Indice o ubicacion del libro
                   int I = Indice(Id);
                   if (I >= 0)
                   {
                       CLibro OLibro = (Listado[I] as CLibro);
                       OLibro.Mostrar();
                   }
                   else
                       // ----- Objeto no existe en el listado, por tanto poner mensaje de error
                       Console.WriteLine(Id + " No existe en la lista...");
               }

               // ======================================================
               public void ListarLibros()
               {
                   // ----- Poner Titulo
                   Console.WriteLine();

Console.WriteLine("========================================================================");
                Console.WriteLine("                          RELACION DE LIBROS");

Console.WriteLine("========================================================================");

Console.WriteLine("Id".PadRight(10)+"Titulo".PadRight(30)+"Autor".PadRight(20)+"Año".PadLeft(5)+"
Especialidad".PadRight(15));
                Console.WriteLine("-------------------------------------------------------------------
-----");
                RecorrerListado();
            }

          #endregion ===================            OTROS       =======================

          #endregion *********************** METODOS ************************
     }
}
//***************************CCOntrolLibros***************

using System;
using System.Collections.Generic;
using System.Text;

namespace AppLibros
{
    public class CControlLibros
    {
        #region *********************** ATRIBUTOS ************************
            private CListaLibros aListaLibros;
        #endregion *********************** ATRIBUTOS ************************

          #region *********************** METODOS ************************

          #region ==================== CONSTRUCTORES =======================
public CControlLibros()
             {
                 aListaLibros = new CListaLibros();
             }
         #endregion ==================== CONSTRUCTORES =======================
         #region ==================== PROPIEDADES =======================
             public CListaLibros ListaLibros
             {
                 get { return aListaLibros; }
                 set { aListaLibros = value; }
             }
         #endregion ==================== PROPIEDADES =======================
         #region ====================   OTROS      =======================
             // ======================================================
             public void Menu()
             {
                 Console.WriteLine("");
                 Console.WriteLine("");
                 Console.WriteLine("**************************************");
                 Console.WriteLine("*        CONTROL DE LIBROS             *");
                 Console.WriteLine("**************************************");
                 Console.WriteLine("1.- Registrar Libro");
                 Console.WriteLine("2.- Consultar Libro");
                 Console.WriteLine("3.- Listar Libros");
                 Console.WriteLine("4.- Salir");
             }
             // ======================================================
             public void Ejecutar()
             {
                 // ----- Procesar opciones y Menu
                 int Opcion;
                 do
                 {
                     Menu();
                     // ----- Leer Opcion
                     Console.Write("Ingresa Opcion: ");
                     Opcion = int.Parse(Console.ReadLine());
                     Console.WriteLine("");
                     switch (Opcion)
                     {
                         case 1: ListaLibros.AgregarLibro();
                             break;
                         case 2 : ListaLibros.ConsultarLibro();
                             break;
                         case 3 : ListaLibros.ListarLibros();
                             break;
                     } // -- fin de switch
                 } while (Opcion < 4);
             }
         #endregion ===================     OTROS     =======================
         #endregion *********************** METODOS ************************
     }
}
//******************AppLibros****************

using System;
using System.Collections.Generic;
using System.Text;
namespace AppLibros
{
    class Program
    {
        static void Main(string[] args)
        {
            CControlLibros OControlLibros = new CControlLibros();
            OControlLibros.Ejecutar();
        }
    }
}

Mais conteúdo relacionado

Mais procurados

Programmation fonctionnelle
Programmation fonctionnelleProgrammation fonctionnelle
Programmation fonctionnelleGeeks Anonymes
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech daysJean-Pierre Vincent
 
Patterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScriptPatterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScriptMicrosoft Technet France
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soatSOAT
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5halleck45
 
Javascript les générateurs (generators)
Javascript   les générateurs (generators)Javascript   les générateurs (generators)
Javascript les générateurs (generators)Julien CROUZET
 
Tirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormTirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormMickael Perraud
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireJulien Vinber
 
Presentation Csharp et winforms
Presentation Csharp et winformsPresentation Csharp et winforms
Presentation Csharp et winformsChristophe Zome
 
Solution Linux 2009 JavaScript
Solution Linux 2009 JavaScriptSolution Linux 2009 JavaScript
Solution Linux 2009 JavaScriptRaphaël Semeteys
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationECAM Brussels Engineering School
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3Eddy RICHARD
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielleECAM Brussels Engineering School
 

Mais procurados (19)

Programmation fonctionnelle
Programmation fonctionnelleProgrammation fonctionnelle
Programmation fonctionnelle
 
Function oop - bonnes pratiques ms tech days
Function   oop - bonnes pratiques ms tech daysFunction   oop - bonnes pratiques ms tech days
Function oop - bonnes pratiques ms tech days
 
Patterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScriptPatterns et bonnes pratiques autour de JavaScript
Patterns et bonnes pratiques autour de JavaScript
 
20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat20140123 java8 lambdas_jose-paumard-soat
20140123 java8 lambdas_jose-paumard-soat
 
Programmation Fonctionnelle
Programmation FonctionnelleProgrammation Fonctionnelle
Programmation Fonctionnelle
 
Algo poo ts
Algo poo tsAlgo poo ts
Algo poo ts
 
Exploiter php 5
Exploiter php 5Exploiter php 5
Exploiter php 5
 
Javascript les générateurs (generators)
Javascript   les générateurs (generators)Javascript   les générateurs (generators)
Javascript les générateurs (generators)
 
Structure de données en PHP
Structure de données en PHPStructure de données en PHP
Structure de données en PHP
 
Tirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_FormTirer parti des décorateurs de Zend_Form
Tirer parti des décorateurs de Zend_Form
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Langage Perl
Langage PerlLangage Perl
Langage Perl
 
Change mind about JS
Change mind about JSChange mind about JS
Change mind about JS
 
Presentation Csharp et winforms
Presentation Csharp et winformsPresentation Csharp et winforms
Presentation Csharp et winforms
 
Johnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScriptJohnny-Five : Robotique et IoT en JavaScript
Johnny-Five : Robotique et IoT en JavaScript
 
Solution Linux 2009 JavaScript
Solution Linux 2009 JavaScriptSolution Linux 2009 JavaScript
Solution Linux 2009 JavaScript
 
Programmation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulationProgrammation orientée objet : Object, classe et encapsulation
Programmation orientée objet : Object, classe et encapsulation
 
PHP 7 et Symfony 3
PHP 7 et Symfony 3PHP 7 et Symfony 3
PHP 7 et Symfony 3
 
Python avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementiellePython avancé : Interface graphique et programmation évènementielle
Python avancé : Interface graphique et programmation évènementielle
 

Semelhante a C libro escenarioii

Meetup#1 talk#1
Meetup#1 talk#1Meetup#1 talk#1
Meetup#1 talk#1neopixl
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJean-Pierre Vincent
 
Android Optimisations Greendroid
Android Optimisations GreendroidAndroid Optimisations Greendroid
Android Optimisations GreendroidGDG Nantes
 
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!Sébastien Levert
 
Softshake 2013 Apiness SA l'envers du décor
Softshake 2013 Apiness SA l'envers du décorSoftshake 2013 Apiness SA l'envers du décor
Softshake 2013 Apiness SA l'envers du décormichaelmiguel2013
 
Softshake apiness l'envers du décor
Softshake apiness l'envers du décorSoftshake apiness l'envers du décor
Softshake apiness l'envers du décorApinessSA
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab ElasticsearchDavid Pilato
 
Chap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdfChap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdframadanmahdi
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHPjulien pauli
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Engineor
 
Future of java script web version
Future of java script web versionFuture of java script web version
Future of java script web versionSébastien Pertus
 
Comment créer un moteur de recherche
Comment créer un moteur de rechercheComment créer un moteur de recherche
Comment créer un moteur de rechercheekofficiel
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryneuros
 

Semelhante a C libro escenarioii (17)

Meetup#1 talk#1
Meetup#1 talk#1Meetup#1 talk#1
Meetup#1 talk#1
 
Javascript : fondamentaux et OOP
Javascript : fondamentaux et OOPJavascript : fondamentaux et OOP
Javascript : fondamentaux et OOP
 
Android Optimisations Greendroid
Android Optimisations GreendroidAndroid Optimisations Greendroid
Android Optimisations Greendroid
 
Atelier18
Atelier18 Atelier18
Atelier18
 
Hibernate
HibernateHibernate
Hibernate
 
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!
Collab365 - Office 365 API & PowerShell : Le meilleur des deux mondes!
 
Softshake 2013 Apiness SA l'envers du décor
Softshake 2013 Apiness SA l'envers du décorSoftshake 2013 Apiness SA l'envers du décor
Softshake 2013 Apiness SA l'envers du décor
 
Softshake apiness l'envers du décor
Softshake apiness l'envers du décorSoftshake apiness l'envers du décor
Softshake apiness l'envers du décor
 
Hands on lab Elasticsearch
Hands on lab ElasticsearchHands on lab Elasticsearch
Hands on lab Elasticsearch
 
Chap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdfChap 2--POO avec JAVA.pdf
Chap 2--POO avec JAVA.pdf
 
Patterns and OOP in PHP
Patterns and OOP in PHPPatterns and OOP in PHP
Patterns and OOP in PHP
 
Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !Open close principle, on a dit étendre, pas extends !
Open close principle, on a dit étendre, pas extends !
 
Spring 3.0
Spring 3.0Spring 3.0
Spring 3.0
 
Future of java script web version
Future of java script web versionFuture of java script web version
Future of java script web version
 
Comment créer un moteur de recherche
Comment créer un moteur de rechercheComment créer un moteur de recherche
Comment créer un moteur de recherche
 
Javascript ne se limite pas à jquery
Javascript ne se limite pas à jqueryJavascript ne se limite pas à jquery
Javascript ne se limite pas à jquery
 
Ruby STAR
Ruby STARRuby STAR
Ruby STAR
 

C libro escenarioii

  • 1. //***************CObjeto******************* using System; using System.Collections.Generic; using System.Text; namespace ClasesGenerales { public delegate bool Seleccionar(CObjeto Objeto); public class CObjeto { #region *********************** ATRIBUTOS ************************ private string aId; #endregion *********************** ATRIBUTOS ************************ #region *********************** METODOS ************************ #region ==================== CONSTRUCTORES ======================= public CObjeto() { aId = ""; } public CObjeto(string pId) { aId = pId; } #endregion ==================== CONSTRUCTORES ======================= #region ==================== PROPIEDADES ======================= public string Id { get { return aId; } set { aId = value; } } #endregion ==================== PROPIEDADES ======================= #region ==================== OTROS ======================= // ================================================================ public override string ToString() { return aId; } // ================================================================ public override bool Equals(object Objeto) { return (Objeto.ToString() == aId); } // ================================================================ public virtual void Leer() { Console.Write("Identificador: "); aId = Console.ReadLine(); } // ================================================================ public virtual void Escribir() { Console.WriteLine(aId); } // ================================================================ public virtual void Mostrar() { Console.WriteLine(); Console.WriteLine("DATOS DE OBJETO"); Console.WriteLine("================"); Console.WriteLine("Identificador: " + aId); } #endregion =================== OTROS ======================= #endregion *********************** METODOS ************************ } } //*************************CListaObjetos************ using System; using System.Collections; using System.Collections.Generic;
  • 2. using System.Text; namespace ClasesGenerales { public class CListaObjetos { #region *********************** ATRIBUTOS ************************ private ArrayList aListado; #endregion *********************** ATRIBUTOS ************************ #region *********************** METODOS ************************ #region ==================== CONSTRUCTORES ======================= public CListaObjetos() { aListado = new ArrayList(); } #endregion ==================== CONSTRUCTORES ======================= #region ==================== PROPIEDADES ======================= public ArrayList Listado { get { return aListado; } set { aListado = value; } } #endregion ==================== PROPIEDADES ======================= #region ==================== OTROS ======================= // ============================================================== public void Agregar(CObjeto Objeto) { // ----- Verificar que objeto no exista en la lista if (Indice(Objeto) < 0) Listado.Add(Objeto); else // ----- Objeto ya existe en el listado, por tanto poner mensaje de error Console.WriteLine(Objeto.Id+" ya existe en la lista, por tanto, no será agregado..."); } // ============================================================== public int Indice(Object Objeto) { return Listado.IndexOf(Objeto.ToString()); } // ============================================================== public void Consultar(object pId) { // ----- Determinar Indice o ubicacion del Identificador int I = Indice(pId); if (I >= 0) { CObjeto Objeto = (Listado[I] as CObjeto); Objeto.Mostrar(); } else // ----- Objeto no existe en el listado, por tanto poner mensaje de error Console.WriteLine(pId + " No existe en la lista..."); } // ============================================================== public virtual void ProcesarObjeto(Object O) { CObjeto Objeto = O as CObjeto; Objeto.Escribir(); } // ============================================================== public void RecorrerListado(int N) { if (N > 0) { // ----- Procesar los N-1 primeros elementos RecorrerListado(N - 1); // ----- Procesar N-ésimo Objeto ProcesarObjeto(Listado[N - 1]); } }
  • 3. // ============================================================== public void RecorrerListado() { // ----- Recorrer listado para procesar cada objeto de la lista RecorrerListado(Listado.Count); } #endregion =================== OTROS ======================= #endregion *********************** METODOS ************************ } } //**************************CLibro*************** using System; using System.Collections.Generic; using System.Text; using ClasesGenerales; namespace AppLibros { public class CLibro : CObjeto { #region *********************** ATRIBUTOS ************************ // -- Hereda el atributo aId private string aTitulo; private string aAutor; private int aAnio; private string aEspecialidad; #endregion *********************** ATRIBUTOS ************************ #region *********************** METODOS ************************ #region ==================== CONSTRUCTORES ======================= public CLibro() : base() { aTitulo = ""; aAutor = ""; aAnio = 0; aEspecialidad = ""; } public CLibro(string pId, string pTitulo, string pAutor, int pAnio, string pEspecialidad) : base(pId) { aTitulo = pTitulo; aAutor = pAutor; aAnio = pAnio; aEspecialidad = pEspecialidad; } #endregion ==================== CONSTRUCTORES ======================= #region ==================== PROPIEDADES ======================= public string Codigo { get { return Id; } set { Id = value; } } public string Titulo { get { return aTitulo; } set { aTitulo = value; } } public string Autor { get { return aAutor; } set { aAutor = value; } } public int Anio { get { return aAnio; } set { aAnio = value; } } public string Especialidad {
  • 4. get { return aEspecialidad; } set { aEspecialidad = value; } } #endregion ==================== PROPIEDADES ======================= #region ==================== OTROS ======================= // ================================================================ public override void Leer() { Console.WriteLine(); Console.WriteLine("INGRESAR DATOS DE LIBROS"); Console.WriteLine("==========================="); Console.Write("Código Libro: "); Id = Console.ReadLine(); Console.Write("Título: "); Titulo = Console.ReadLine(); Console.Write("Autor: "); Autor = Console.ReadLine(); Console.Write("Año: "); Anio = int.Parse(Console.ReadLine()); Console.Write("Especialidad: "); Especialidad = Console.ReadLine(); } // ================================================================ public override void Escribir() { Console.WriteLine(Id.PadRight(10) + Titulo.PadRight(20) + Autor.PadRight(30)+ Anio.ToString().PadLeft(5)+" "+Especialidad.PadRight(15)); } // ================================================================ public override void Mostrar() { Console.WriteLine(); Console.WriteLine("DATOS DE LIBRO"); Console.WriteLine("================="); Console.WriteLine("Codigo: " + Id); Console.WriteLine("Título: " + Titulo); Console.WriteLine("Autor: " + Autor); Console.WriteLine("Año: " + Anio.ToString()); Console.WriteLine("Especialidad: " + Especialidad); } #endregion =================== OTROS ======================= #endregion *********************** METODOS ************************ } } //*************************CListaLibros****************** using System; using System.Collections; using System.Collections.Generic; using System.Text; using ClasesGenerales; namespace AppLibros { public class CListaLibros : CListaObjetos { #region *********************** METODOS ************************ #region ==================== CONSTRUCTORES ======================= public CListaLibros() : base() { } #endregion ==================== CONSTRUCTORES =======================
  • 5. #region ==================== OTROS ======================= // ============================================================== public void AgregarLibro() { // ----- Crear objeto Libro y leer sus datos CLibro OLibro = new CLibro(); OLibro.Leer(); // ----- Agregar objeto a la Lista de Libros Agregar(OLibro); } // ============================================================== public void ConsultarLibro() { // ----- Leer el identificador de libro que se desea buscar Console.WriteLine(); Console.Write("Ingrese el identificador del Libro: "); string Id = Console.ReadLine(); // ----- Determinar Indice o ubicacion del libro int I = Indice(Id); if (I >= 0) { CLibro OLibro = (Listado[I] as CLibro); OLibro.Mostrar(); } else // ----- Objeto no existe en el listado, por tanto poner mensaje de error Console.WriteLine(Id + " No existe en la lista..."); } // ====================================================== public void ListarLibros() { // ----- Poner Titulo Console.WriteLine(); Console.WriteLine("========================================================================"); Console.WriteLine(" RELACION DE LIBROS"); Console.WriteLine("========================================================================"); Console.WriteLine("Id".PadRight(10)+"Titulo".PadRight(30)+"Autor".PadRight(20)+"Año".PadLeft(5)+" Especialidad".PadRight(15)); Console.WriteLine("------------------------------------------------------------------- -----"); RecorrerListado(); } #endregion =================== OTROS ======================= #endregion *********************** METODOS ************************ } } //***************************CCOntrolLibros*************** using System; using System.Collections.Generic; using System.Text; namespace AppLibros { public class CControlLibros { #region *********************** ATRIBUTOS ************************ private CListaLibros aListaLibros; #endregion *********************** ATRIBUTOS ************************ #region *********************** METODOS ************************ #region ==================== CONSTRUCTORES =======================
  • 6. public CControlLibros() { aListaLibros = new CListaLibros(); } #endregion ==================== CONSTRUCTORES ======================= #region ==================== PROPIEDADES ======================= public CListaLibros ListaLibros { get { return aListaLibros; } set { aListaLibros = value; } } #endregion ==================== PROPIEDADES ======================= #region ==================== OTROS ======================= // ====================================================== public void Menu() { Console.WriteLine(""); Console.WriteLine(""); Console.WriteLine("**************************************"); Console.WriteLine("* CONTROL DE LIBROS *"); Console.WriteLine("**************************************"); Console.WriteLine("1.- Registrar Libro"); Console.WriteLine("2.- Consultar Libro"); Console.WriteLine("3.- Listar Libros"); Console.WriteLine("4.- Salir"); } // ====================================================== public void Ejecutar() { // ----- Procesar opciones y Menu int Opcion; do { Menu(); // ----- Leer Opcion Console.Write("Ingresa Opcion: "); Opcion = int.Parse(Console.ReadLine()); Console.WriteLine(""); switch (Opcion) { case 1: ListaLibros.AgregarLibro(); break; case 2 : ListaLibros.ConsultarLibro(); break; case 3 : ListaLibros.ListarLibros(); break; } // -- fin de switch } while (Opcion < 4); } #endregion =================== OTROS ======================= #endregion *********************** METODOS ************************ } } //******************AppLibros**************** using System; using System.Collections.Generic; using System.Text; namespace AppLibros { class Program { static void Main(string[] args) { CControlLibros OControlLibros = new CControlLibros(); OControlLibros.Ejecutar(); } } }