none
como puedo hacer un programa así? RRS feed

  • Pregunta

  • hola, apenas llevo 1 mes estudiando programacion c# y quisiera hacer un programa en el que yo pudiera ingresar el nombre de diferentes estudiantes para luego utilizarlos, obviamente cada nombre debe quedar guardado en una variable para luego poder usarla, el numero de estudiantes puede ser cualquiera, obviamente esto se podria hacer con arreglos, pero lo que sucede es que la unica manera en la que se podria hacer de esta manera es pidiendo el numero de estudiantes primero de esta manera:

            static void Main(string[] args)
            {
                /*esta variable va a ser la que va a recibir el numero de
                 * estudiantes*/
                int ne = 0;
                Console.WriteLine("ingrese el numero de estudiantes");
                ne = Convert.ToInt32(Console.ReadLine());
                /*como ya sabemos la cantidad de estudiantes que van a 
                 * ser podemos hacer que este arreglo cree esa cantidad
                 * de estudianes*/
                string[] estudiantes = new string[ne];
                /*con esto haremos que el for de la misma cantidad de vueltas
                 * que la cantidad de estudiantes, y por cada vuelta se ingresara
                 * el nombre de un estudiante y este quedara guardado en una variable*/
                for (int x = 0; x < ne; x++)
                {
                    Console.WriteLine("ingrese el nombre");
                    estudiantes[x] = Console.ReadLine();
                }
            }

    pero quisiera saber como podría hacer que el usuario no tuviera que ingresar antes el numero de estudiantes, sino que simplemente ingrese cada estudiante hasta cuando presiona una tecla para indicar que ya termino, y que cada uno de los nombres de los estudiantes quede guardado en una variable diferente?

    miércoles, 11 de abril de 2018 23:24

Respuestas

  • En .net (o C++ o cualquier otro lenguaje que las posea) utilice colecciones.

    static void Main(string[] args)
    {
        List<string> estudiantes = new List<string>();
        string linea = " ";
        Console.WriteLine("Digite un nombre o presione ENTER para salir.");
        Console.WriteLine();
        while (linea?.Length > 0)
        {
            Console.Write("Nombre:  ");
            linea = Console.ReadLine();
            if (linea?.Length > 0)
            {
                estudiantes.Add(linea);
            }
        }
        //El usuario ha decidido salir.
        Console.WriteLine();
        Console.WriteLine("Nombres almacenados:");
        Console.WriteLine("======= ============"=;
        Console.WriteLine();
        foreach(string n in estudiantes)
        {
            Console.WriteLine(n);
        }
    }

    Note, sin embargo, que los nombres se perderán en cuanto el programa termine.  Si desea mantener la lista entre corridas, deberá escribir los nombres a un archivo de texto.


    Jose R. MCP
    Code Samples

    jueves, 12 de abril de 2018 6:16
    Moderador