Anuncios

Bienvenidos sean a este post, este sera el primero de una serie de posts donde aplicaremos lo visto hasta ahora, para ello crearemos una solucion para una universidad donde tendremos algunos alumnos, de los cuales no solamente almacenaremos algunos datos personales sino tambien sus notas de examenes y haremos varios calculos.

Anuncios

Para comenzar con nuestra solucion, crearemos una nueva solucion en Visual Studio llamada Universidad pero el proyecto sera Alumnos con las siguiente caracteristicas:

  • Lenguaje: C#
  • Plataforma: Windows
  • Tipo de Proyecto: Consola (Net Framework)
  • Nombre Proyecto: Alumnos
  • Nombre Solucion: Universidad
  • Version Framework: La ultima disponible.
Anuncios

Una vez creada la solucion vamos a proceder a crear nuestra primera clase que se llamara Alumnos, para ello vamos a hacer click con el boton derecho sobre el proyecto y selecionamos Agregar -> Nueva Carpeta, como se ve en la siguiente imagen

Anuncios

Una vez creada vamos a llamarla Clases y sera nuestro lugar para almacenar las nuevas clases que vayamos necesitando, una vez generada vamos a hacer click con el boton derecho y seleccionamos Agregar -> Nuevo Elemento donde aparecera el siguiente cuadro

Anuncios

En esta seleccionaremos Clase y le asignaremos el nombre Estudiantes.cs, presionamos Aceptar, nos cerrara el cuadro, creara la nueva clase y vamos a modificar el codigo generado por el siguiente:

Estudiantes.cs

using System;

namespace Alumnos.Clases
{
    class Estudiantes
    {
        string[,] datos = new string[100, 100];

        public void AgregarAlumno(string nombre,
            string apellido, string edad, string pcia, int pos)
        {
            datos[pos, 0] = "ID100" + pos;
            datos[pos, 1] = nombre;
            datos[pos, 2] = apellido;
            datos[pos, 3] = edad;
            datos[pos, 4] = pcia;
        }

        public void ListarAlumnos()
        {
            for (int i = 0; i < datos.GetLength(0); i++)
            {
                if (datos[i, 0] == null)
                    break;

                for (int j = 0; j < datos.GetLength(1); j++)
                {
                    if (datos[i, j] == null)
                        break;

                    Console.Write(datos[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.ReadLine();
        }
    }
}
Anuncios

Esta sera la clase de crear a nuestros alumnos, primero vamos a crear nuestro array bidimensional de tipo string llamada datos y le diremos que son de hasta 100 espacios cada dimension, veamos la primera funcion:

        public void AgregarAlumno(string nombre,
            string apellido, string edad, string pcia, int pos)
        {
            datos[pos, 0] = "ID100" + pos;
            datos[pos, 1] = nombre;
            datos[pos, 2] = apellido;
            datos[pos, 3] = edad;
            datos[pos, 4] = pcia;
        }
Anuncios

Esta se llama AgregarAlumno y se encarga de agregar nuevos alumnos en nuestra universidad, para ello recibira 5 datos que seran:

  • El nombre
  • El apellido
  • La edad
  • La provincia de origen
  • Posicion del array (es temporal)
Anuncios

Los cuatros primeros datos son los que tendremos siempre y el ultimo lo tendremos por ahora, este ultimo lo usaremos para dos cosas, uno para identificar la primera dimension y despues para generar el codigo de identificacion que usaremos durante el programa, el codigo lo generaremos siempre automaticamente pero por ahora lo generaremos asi, en este caso en base a los datos que recibimos lo vamos a asignando en las distintas posiciones del array, en este post explique bien el tema array por si te interesa saber mas, pasemos a nuestro siguiente metodo:

        public void ListarAlumnos()
        {
            for (int i = 0; i < datos.GetLength(0); i++)
            {
                if (datos[i, 0] == null)
                    break;

                for (int j = 0; j < datos.GetLength(1); j++)
                {
                    if (datos[i, j] == null)
                        break;

                    Console.Write(datos[i, j] + "\t");
                }
                Console.WriteLine();
            }
            Console.WriteLine("Presiona Enter para salir...");
            Console.ReadLine();
        }
Anuncios
Anuncios

Este metodo sera el encargado de enlistar todo el contenido que tenemos en nuestro array de alumnos, para ello usaremos dos bucles for, el primero para que incremente la primer dimension, en base a usar primero un GetLength para la primera dimension (0) y luego usaremos otro bucle for con el GetLength para la segunda dimension (1) primero usara a i, luego usara a j para contar, comencemos con el segundo bucle, en este caso nos mostrara el elemento del array en base a los valores de i y j, usamos un tabulador para diferenciar los distintos campos.

En los dos bucles tenemos un condicional debido a que para cada dimension tenemos 100 posiciones, por decirlo de alguna forma, y si no estuvieran nos devolveria los campos vacios, por eso el condicional verifica si la posicion en base a i y j es igual a null procede a salir de ese bucle y llama al Console.WriteLine para hacer una nueva linea, el condicional de este bucle hace exactamente lo mismo pero la diferencia es que no lo hace contra i y j sino con i y 0, en caso de ser igual a null procede a salir de este bucle y se encuentra con un ReadLine para que espere un Enter, con esto cubrimos toda la clase Estudiantes, pasemos a la clase Program.cs y lo modificaremos por el siguiente codigo:

Program.cs

using System;
using System.Collections.Generic;
using Alumnos.Clases;

namespace Alumnos
{
    class Program
    {
        static void Main(string[] args)
        {
            int opcion;

            Estudiantes estudiante = new Estudiantes();
            estudiante.AgregarAlumno("Martin", "Miranda", "44", "Mendoza",0);
            estudiante.AgregarAlumno("Enzo", "Tortore", "34", "Cordoba",1);
            estudiante.AgregarAlumno("Marta", "Gargaglione", "50", "Tucuman", 2);
            estudiante.AgregarAlumno("Javier", "Marcuzzi", "46", "Rio Negro", 3);
            estudiante.AgregarAlumno("Ariel", "Polizzi", "48", "Buenoss Aires", 4);
            estudiante.AgregarAlumno("Raul", "Picos", "51", "Salta", 5);
            estudiante.AgregarAlumno("Juan", "Militello", "40", "Santa Fe", 6);

            do
            {
                Console.Clear();
                Console.WriteLine("Bienvenidos a la universidad");
                Console.WriteLine("Tienes este listado de opciones:");
                Console.WriteLine("(1) Listado de alumnos");
                Console.WriteLine("(2) Salir del programa");
                Console.Write("Elige una opcion: ");
                opcion = int.Parse(Console.ReadLine());

                switch (opcion)
                {
                    case 1:
                        Console.Clear();
                        estudiante.ListarAlumnos();
                        break;
                    case 2:
                        break;
                    default:
                        Console.WriteLine("Debes elegir una opcion del menu!!!");
                        Console.ReadLine();
                        break;
                }
            } while (opcion != 2);
        }
    }
}
Anuncios

En este codigo tenemos una rareza que les voy a comentar:

using System;
using Alumnos.Clases;
Anuncios
Anuncios

En este caso tendremos a la primer linea que usamos siempre para tener un mejor acceso a Console pero la segunda linea es para poder usar el contenido de nuestra carpeta Clases sin tener que mencionarla, como podran ver siempre va a ser la clase raiz, para este ejemplo Alumnos, y luego todo los nombres de carpetas que haya que agregar, en este caso como es una sola solo usamos ese, esto nos evitara errores de ubicacion por ejemplo veamos esta linea:

Estudiantes estudiante = new Estudiantes();
Anuncios

Esta se encarga de crear nuestro objeto para poder acceder a los metodos y propiedades de la clase Estudiantes, pero si no hubieramos declarado el using nos daria un error y tendriamos que usar la siguiente linea:

Clases.Estudiantes estudiante = new Estudiantes();
Anuncios

Hacen exactamente lo mismo pero no queda tan practico como el anterior, retomando nuestro codigo no solo crearemos este objeto sino que definiremos una nueva variable de tipo int llamada opcion, despues gracias al objeto creado agregaremos a cada uno de nuestros alumnos, por ahora los agregaremos asi, con nuestros usuarios agregados vamos a tener el siguiente bloque:

            do
            {
                Console.Clear();
                Console.WriteLine("Bienvenidos a la universidad");
                Console.WriteLine("Tienes este listado de opciones:");
                Console.WriteLine("(1) Listado de alumnos");
                Console.WriteLine("(2) Salir del programa");
                Console.Write("Elige una opcion: ");
                opcion = int.Parse(Console.ReadLine());

                switch (opcion)
                {
                    case 1:
                        Console.Clear();
                        estudiante.ListarAlumnos();
                        break;
                    case 2:
                        break;
                    default:
                        Console.WriteLine("Debes elegir una opcion del menu!!!");
                        Console.ReadLine();
                        break;
                }
            } while (opcion != 2);
Anuncios
Anuncios

Usaremos un bucle do…while donde repetira el ciclo siempre que opcion sea distinta de 2, dentro del bloque primero limpiaremos la pantalla, luego dejaremos unos mensajes y las dos opciones que tendremos por ahora, le pediremos al usuario que ingrese una opcion para luego enviarlo a un switch donde en caso de ingresar 1 limpiaremos la pantalla, llamaremos a ListarAlumnos para luego volver a repetir el ciclo, recuerden que en el metodo posee una pausa para que presionemmos Enter para salir, luego tendremos el case 2 para salir del bucle y por ultimo un default que nos avisa cuando no elegimos una opcion correcta, con esto completamos el programa podemos compilarlo y probarlo, para ello tienen dos opciones, una es ir a depurar -> iniciar depuracion o seleccionar Compilar->Compilar solucion, ir por medio de cmd a la ubicacion del proyecto y ejecutar el Alumnos.exe, para tener una idea de como quedo nuestro programa veamos el siguiente video

Anuncios

En el video tenemos los dos ejemplos de ejecucion primero por medio de depuracion, como por medio de la compilacion, en ambos casos probamos las opciones disponibles, vemos que funcionan correctamente.

Anuncios

En resumen, hoy hemos dado nuestro primer paso para nuestra solucion llamada Universidad, en este caso vimos a la clase Alumnos que nos permitira crear y manejar a los alumnos de la misma, hemos aplicado un poco de clases y como recuperar informacion de un array bidimensional, espero les haya sido util sigueme en Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Tambien podes donar

Es para mantenimiento del sitio, gracias!

1.00 $