Programa De Gestión De Datos Estadísticos En C#

Este ejercicio se centra en la creación de un programa estadístico en C# que permite a los usuarios gestionar datos numéricos dinámicamente. El programa ofrece un menú con diferentes opciones: añadir nuevos datos, mostrar todos los datos introducidos, buscar un valor específico y ver estadísticas resumidas como el recuento total, la suma, el promedio, el máximo y el mínimo. El programa continuará ejecutándose hasta que el usuario decida salir.



Grupo

Matrices, estructuras y cadenas de C#

Objectivo

1. Implementar un sistema de menú donde el usuario pueda seleccionar diferentes opciones usando un número o una letra.

2. Almacenar hasta 1000 valores numéricos en una matriz, manteniendo un registro de cuántos se han ingresado.

3. Implementar funcionalidad para:
- Agregar nuevos datos
- Mostrar todos los datos ingresados
- Buscar un valor específico
- Mostrar estadísticas resumidas (conteo, suma, promedio, máximo, mínimo)

4. Asegurarse de que el programa se ejecute en bucle hasta que el usuario seleccione la opción de salida.

Escribir un programa estadístico en C# que permita al usuario:
- Agregar nuevos datos
- Ver todos los datos ingresados
- Buscar un elemento para ver si se ha ingresado o no
- Ver un resumen de las estadísticas: cantidad de datos, suma, promedio, máximo, mínimo
- Salir del programa

Estas opciones deben aparecer como un menú. Cada opción se seleccionará mediante un número o una letra.

El programa debe reservar espacio para un máximo de 1000 datos, pero mantener un registro de cuántos existen realmente.

Ejemplo de ejercicio en C#

 Copiar código C#
using System;

class StatisticalProgram
{
    static void Main()
    {
        double[] data = new double[1000]; // Array to store up to 1000 values
        int count = 0; // Counter for the number of elements entered
        char choice;

        do
        {
            // Display menu options
            Console.WriteLine("\nStatistical Data Management");
            Console.WriteLine("1. Add new data");
            Console.WriteLine("2. See all data entered");
            Console.WriteLine("3. Find an item");
            Console.WriteLine("4. View statistics summary");
            Console.WriteLine("5. Exit");
            Console.Write("Choose an option: ");
            
            choice = Console.ReadKey().KeyChar;
            Console.WriteLine();

            switch (choice)
            {
                case '1': // Add new data
                    if (count < 1000)
                    {
                        Console.Write("Enter a number: ");
                        if (double.TryParse(Console.ReadLine(), out double number))
                        {
                            data[count++] = number;
                            Console.WriteLine("Number added successfully.");
                        }
                        else
                        {
                            Console.WriteLine("Invalid input. Please enter a valid number.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Data limit reached (1000 entries).");
                    }
                    break;

                case '2': // Display all entered data
                    if (count > 0)
                    {
                        Console.WriteLine("Data entered:");
                        for (int i = 0; i < count; i++)
                        {
                            Console.Write(data[i] + " ");
                        }
                        Console.WriteLine();
                    }
                    else
                    {
                        Console.WriteLine("No data has been entered yet.");
                    }
                    break;

                case '3': // Find an item
                    if (count > 0)
                    {
                        Console.Write("Enter a number to search: ");
                        if (double.TryParse(Console.ReadLine(), out double searchNumber))
                        {
                            bool found = false;
                            for (int i = 0; i < count; i++)
                            {
                                if (data[i] == searchNumber)
                                {
                                    found = true;
                                    break;
                                }
                            }
                            Console.WriteLine(found ? "Number found in the list." : "Number not found.");
                        }
                        else
                        {
                            Console.WriteLine("Invalid input.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("No data available to search.");
                    }
                    break;

                case '4': // Display summary statistics
                    if (count > 0)
                    {
                        double sum = 0, max = data[0], min = data[0];

                        for (int i = 0; i < count; i++)
                        {
                            sum += data[i];
                            if (data[i] > max) max = data[i];
                            if (data[i] < min) min = data[i];
                        }

                        double average = sum / count;
                        Console.WriteLine($"Total data count: {count}");
                        Console.WriteLine($"Sum: {sum}");
                        Console.WriteLine($"Average: {average:F2}");
                        Console.WriteLine($"Maximum: {max}");
                        Console.WriteLine($"Minimum: {min}");
                    }
                    else
                    {
                        Console.WriteLine("No data available for statistics.");
                    }
                    break;

                case '5': // Exit
                    Console.WriteLine("Exiting program. Goodbye!");
                    break;

                default:
                    Console.WriteLine("Invalid choice. Please select a valid option.");
                    break;
            }
        } while (choice != '5');
    }
}

 Output

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 1
Enter a number: 25
Number added successfully.

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 1
Enter a number: 40
Number added successfully.

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 2
Data entered:
25 40 

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 3
Enter a number to search: 25
Number found in the list.

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 4
Total data count: 2
Sum: 65
Average: 32.50
Maximum: 40
Minimum: 25

Statistical Data Management
1. Add new data
2. See all data entered
3. Find an item
4. View statistics summary
5. Exit
Choose an option: 5
Exiting program. Goodbye!

Comparte este ejercicio de C#

Practica más ejercicios C# de Matrices, estructuras y cadenas de C#

¡Explora nuestro conjunto de ejercicios de práctica de C#! Diseñados específicamente para principiantes, estos ejercicios te ayudarán a desarrollar una sólida comprensión de los fundamentos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte gradualmente a medida que adquieres confianza en la programación en C#..