Persistencia de datos Programación C#

Inventario de Libreria.

Utilizando la herramienta de lenguaje de programación Visual Studio se ha desarrollado un programa usando el lenguaje C#, dicho programa consiste en gestionar y catalogar el inventario de una librería, almacenando en una archivo de texto plano (.txt) los datos que son digitados por el usuario.

El programa contiene un menú con cuatro opciones que son: Registrar nuevo libro, Ver todos los libros registrados, Buscar libro por código y Salir.

En la primera opción del menú; Registro de libro pide al usuario los siguientes datos: Ingresar el código, Titulo, Autor, Editorial, Edicion, ISBN, Precio y Cantidad.
La segunda opción muestra la lista de todos los libros registrados por el usuario en formato de columnas y filas.

La tercera opción que es Buscar libro por código, pide al usuario que ingrese el código de un libro que se haya registrado en la base de datos, si el código fue ingresado correctamente el programa imprimirá en pantalla la información completa del libro registrado con el código ingresado. Si el código no se encuentra en la base de datos este imprimirá un mensaje explicando que el libro con el código ingresado no se encuentra en la base de datos. También esta muestra dos opciones extra, las cuales consisten en  eliminar el libro que se encontró con el código ingresado y la opción de regresar al menú principal.

La cuarta y última opción es la de cerrar el programa.

Indicaciones del ejercicio desarrollado.
Desarrolle un programa haciendo uso de estructuras repetitivas, estructuras de datos y persistencia hacia un archivo de texto plano (extensión TXT) que permita gestionar y catalogar el inventario de libros de una librería, para ello solicita sus servicios para crear un programa que, haciendo uso de estructuras, permita almacenar los datos de los libros que posee la librería, El programa debe permitir al usuario introducir todos los libros que desee mediante un menú con las opciones que se mencionan más abajo en este ejercicio y los datos a almacenar de cada libro son los siguientes:

Ø  Código de libro: De tipo texto (números y letras) y digitado por el usuario.
Ø  Título: Título del libro.
Ø  Autor: Nombre del autor del libro.
Ø  Editorial: Nombre de la editorial que publico el libro.
Ø  Edición: Numero de edición del libro.
Ø  ISBN: Numero de ISBN del libro.
Ø  Precio: Precio del libro en dólares.
Ø  Cantidad: Cantidad de unidades disponibles.

El programa debe contener un menú principal que presente al usuario las siguientes opciones:
1.       1- Registrar Libro: Permite crear un nuevo libro y registrar todos sus datos.

2.       2- Ver todos los libros registrados: Muestra en pantalla todos los libros registrados en el archivo.

3.      3-  Buscar libro por código: Mediante un código de libro que el usuario digita, se busca el libro coincidente y si hay resultados, se despliegan los datos completos del libro buscado, si no se encuentra el libro se presenta un mensaje que no se encontró.

4.       4- Salir

El nombre del archivo de texto en donde se almacena la información de los libros debe ser inventariolibros.txt.


Donar:
 


SINTAXIS EN C#



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace Inventario_Libreria
{
    class Program
    {
        static StreamReader lectura;
        static StreamWriter escritura, temporal;
        static string cadena, respuesta;
        static string codLibro, titulo, autor, editorial, edicion,isbn;
        static double precio, cantidad;
        static bool encontrado;
        static string[] campos = new string[7]; 
        static void Main(string[] args)
        {
            menu();
            Console.ReadKey(true);

        }
        static void menu()
        {
            byte opcion = 0;
            do
            {
                try
                {
                    Console.WriteLine("/////////////////////////////////////////////////////");
                    Console.WriteLine("_________________________MENU________________________");
                    Console.WriteLine("     1. Registrar Nuevo Libro \n");
                    Console.WriteLine("     2. Ver todos los libros registrados\n");
                    Console.WriteLine("     3. Buscar libro por código\n");
                    Console.WriteLine("     4. Salir");
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("          SELECCIONE EL NUMERO DE LA OPCION          ");
                    Console.WriteLine("/////////////////////////////////////////////////////");
                    opcion = Convert.ToByte(Console.ReadLine());
                    switch (opcion)
                    {
                        case 1:
                            CrearArchivo();
                            regLibro();
                            break;
                        case 2:
                            consultar();
                           
                            break;
                        case 3:
                            busqueda();
                            break;
                        case 4:
                            Console.WriteLine("//////////////////////////////////////////////////////////////////");
                            Console.WriteLine("                     Aplicaciom Finalizada                        ");
                            Console.WriteLine("//////////////////////////////////////////////////////////////////");
                            break;
                        default:
                            Console.WriteLine("//////////////////////////////////////////////////////////////////");
                            Console.WriteLine("                       Opcion Incorrecta                          ");
                            Console.WriteLine("//////////////////////////////////////////////////////////////////");
                            break;
                    }
                }
                catch(FormatException fe)
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("¡Error !" + fe.Message);
                    Console.WriteLine("-----------------------------------------------------");
                }
                catch (Exception e)
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("¡Error !" + e.Message);
                    Console.WriteLine("-----------------------------------------------------");
                }
            } while (opcion != 4);
        }
        //Metodo para crear el archivo
        static void CrearArchivo()
        {
            escritura = File.AppendText("inventariolibros.txt");
            escritura.Close();
        }
        //Metodo para crear el Registro
        static void regLibro()
        {
            encontrado = (false);
            try
            {
                lectura = File.OpenText("inventariolibros.txt");
                Console.WriteLine("-----------------------------------------------------");
                Console.WriteLine("Ingrese codigo del libro: ");
                Console.WriteLine("-----------------------------------------------------");
                codLibro = Console.ReadLine();
                codLibro = codLibro.ToUpper();
                cadena = lectura.ReadLine();
               
                    //Aqui buscamos que no exista un codigo repetido
                while (cadena != null)
                {
                    campos = cadena.Split(',');
                    if (campos[0].Trim().Equals(codLibro))
                    {
                        encontrado = true;
                        break;
                    }
                    cadena = lectura.ReadLine();
                }
                lectura.Close();
                escritura = File.AppendText("inventariolibros.txt");
                if (encontrado == false)
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ingresa el Titulo del libro: ");
                    Console.WriteLine("-----------------------------------------------------");
                    titulo = Console.ReadLine();
                    titulo = titulo.ToUpper();
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ingrese el autor del libro: ");
                    Console.WriteLine("-----------------------------------------------------");
                    autor = Console.ReadLine();
                    autor = autor.ToUpper();
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ingrese la editorial del libro: ");
                    Console.WriteLine("-----------------------------------------------------");
                    editorial = Console.ReadLine();
                    editorial = editorial.ToUpper();
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ingrese la edicion del libro: ");
                    Console.WriteLine("-----------------------------------------------------");
                    edicion = Console.ReadLine();
                    edicion = edicion.ToUpper();
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("ingrese el ISBN: ");
                    Console.WriteLine("-----------------------------------------------------");
                    isbn = Console.ReadLine();
                    isbn = isbn.ToUpper();
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("ingrese el precio: ");
                    Console.WriteLine("-----------------------------------------------------");
                    precio = Convert.ToDouble(Console.ReadLine());
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ingrese la cantidad de libros: ");
                    Console.WriteLine("-----------------------------------------------------");
                    cantidad = Convert.ToDouble(Console.ReadLine());
                    //ESCRIBIENDO DATOS EN EL ARCHIVO
                    escritura.WriteLine(codLibro + "," + titulo + "," + autor + "," + editorial + "," + edicion + "," + precio + "," + cantidad);
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("_________REGISTRO AGREGADO CORRECTAMENTE_____________");
                    Console.WriteLine("-----------------------------------------------------");

                }
                else
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("Ya existe un libro registrado con el codigo: " + codLibro + ", Intentelo nuevamente");
                    Console.WriteLine("-----------------------------------------------------");
                }
                escritura.Close();
            }
            catch(FileNotFoundException fn)
            {
                Console.WriteLine("-----------------------------------------------------");
                Console.WriteLine("¡Error !" + fn.Message);
                Console.WriteLine("-----------------------------------------------------");
            }
            catch (Exception e)
            {
                Console.WriteLine("//////////////////////////////////////////////////////////////////");
                Console.WriteLine("¡Error !" + e.Message);
                Console.WriteLine("//////////////////////////////////////////////////////////////////");
            }
            finally
            {
                lectura.Close();
                escritura.Close();
            }

        }
        //para visualizar todos los libros registrados
        static void consultar()
        {

            encontrado = false;
            try
            {
                lectura = File.OpenText("inventariolibros.txt");
                cadena = lectura.ReadLine();
                while (cadena != null)
                {
                    campos = cadena.Split(',');
                  
                   
                    encontrado = true;
                    Console.WriteLine("/////////////////////////////////////////////////////");
                    Console.WriteLine("     libro encontrado con los siguientes datos       ");
                    Console.WriteLine("_____________________________________________________\n");
                    Console.WriteLine("     Codigo del Libro:____ " + campos[0].Trim());
                    Console.WriteLine("\n     Titulo:____________ " + campos[1].Trim());
                    Console.WriteLine("\n     Autor:_____________ " + campos[2].Trim());
                    Console.WriteLine("\n     Editorial:_________ " + campos[3].Trim());
                    Console.WriteLine("\n     Edicion: __________ " + campos[4].Trim());
                    Console.WriteLine("\n     Precio:____________ $" + campos[5].Trim());
                    Console.WriteLine("\n     Cantidad:__________ " + campos[6].Trim());
                    cadena = lectura.ReadLine();
                }
                if (encontrado == false)
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("        No hay libros en la base de datos            ");
                    Console.WriteLine("-----------------------------------------------------");
                }
                    lectura.Close();

                }
                catch (FileNotFoundException fn)
                {
                Console.WriteLine("-----------------------------------------------------");
                Console.WriteLine("¡Error !" + fn.Message);
                Console.WriteLine("-----------------------------------------------------");
            }
                catch (Exception e)
                {
                    Console.WriteLine("-----------------------------------------------------"); 
                    Console.WriteLine("¡Error !" + e.Message);
                    Console.WriteLine("-----------------------------------------------------");
            }
                finally
                {
                    lectura.Close();

            }
          
        }
        //Busqueda de libro por codigio
        
        static void busqueda()
        {
            encontrado = false;
            try
            {
                lectura = File.OpenText("inventariolibros.txt");
                temporal = File.CreateText("tmp.txt");
                Console.WriteLine("-----------------------------------------------------");
                Console.WriteLine("_______Ingresa el Codigo del libro que buscas________");
                Console.WriteLine("-----------------------------------------------------");
                codLibro = Console.ReadLine();
                codLibro = codLibro.ToUpper();
                cadena = lectura.ReadLine();
                while (cadena != null)
                {
                    campos = cadena.Split(',');
                    if (campos[0].Trim().Equals(codLibro))
                    {
                        encontrado = true;
                        Console.WriteLine("-----------------------------------------------------");
                        Console.WriteLine("                   Libro encontrado                  ");
                        Console.WriteLine("-----------------------------------------------------");
                        Console.WriteLine("     Codigo del libro:__>" + campos[0]);
                        Console.WriteLine("     Titulo:____________>" + campos[1]);
                        Console.WriteLine("     Autor:_____________>" + campos[2]);
                        Console.WriteLine("     Editorial:_________>" + campos[3]);
                        Console.WriteLine("     Editorial:_________>" + campos[4]);
                        Console.WriteLine("     Precio:____________> $" + campos[5]);
                        Console.WriteLine("     Cantidad:__________>" + campos[6]);
                        Console.WriteLine("--------------------------------------------------------------------");
                        Console.WriteLine("______Si deseas eliminar este libro oprime la tecla (E) + Enter_____");
                        Console.WriteLine("_________Para regresar al menu principal presione (R) + Enter_______");
                        Console.WriteLine("--------------------------------------------------------------------");

                        respuesta = Console.ReadLine();
                        respuesta = respuesta.ToUpper();
                        if (!respuesta.Equals("E"))
                        {
                            temporal.WriteLine(cadena);

                        }

                    }
                    else
                    {
                        temporal.WriteLine(cadena);

                    }
                    cadena = lectura.ReadLine();

                }
                if (encontrado == false)
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("El libro con el codigo: " + codLibro + ", No existe");
                    Console.WriteLine("-----------------------------------------------------");

                }
                else if (respuesta.Equals("E"))
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("             El libro se a eliminado                 ");
                    Console.WriteLine("-----------------------------------------------------");

                }
                else
                {
                    Console.WriteLine("-----------------------------------------------------");
                    Console.WriteLine("                    MENU PRINCIPAL                   ");
                    Console.WriteLine("-----------------------------------------------------");

                }
                lectura.Close();
                temporal.Close();
                File.Delete("inventariolibros.txt");
                File.Move("tmp.txt", "inventariolibros.txt");
            }
            catch (FileNotFoundException fn)
            {
                Console.WriteLine("******************************************************************");
                Console.WriteLine("¡Error !" + fn.Message);
                Console.WriteLine("******************************************************************");
            }
            catch (Exception e)
            {
                Console.WriteLine("******************************************************************");
                Console.WriteLine("¡Error !" + e.Message);
                Console.WriteLine("******************************************************************");
            }
            finally
            {
                lectura.Close();
                temporal.Close();
            }
        }

    }
}

_________________________________________________________________________

Desarrollado por: Tanya Carolina Menjivar Perez.
_________________________________________________________________________

Comentarios

Entradas populares