Estadísticas V2 Curso de Programación C# Sharp

Lección:

Matrices, Estructuras y Cadenas


Ejercicio:

Estadísticas V2 34


Objetivo:

Crear un programa en C# estadístico que permita al usuario:

- Añadir nuevos datos
- Ver todos los datos introducidos
- Buscar un artículo, para ver si se ha introducido o no
- Ver un resumen de estadísticas: cantidad de datos, suma, promedio, máximo, mínimo
- Salir del programa

Estas opciones deben aparecer como un menú. Cada opción será elegida por un número o una letra.

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


Código:

using System;
public class exercise78
{
    public static void Main()
    {
        float[] numbers = new float[1000];
        int count = 0;

        float max = 0.0f, min = 0.0f, total = 0.0f, searchNumber = 0.0f;
        bool found;

        int option = 0;
        do
        {
            Console.WriteLine("1. Add");
            Console.WriteLine("2. Show");
            Console.WriteLine("3. Search");
            Console.WriteLine("4. Statistics");
            Console.WriteLine("5. Exit");

            option = Convert.ToInt32(Console.ReadLine());
            if (option != 5)
            {
                switch (option)
                {
                    case 1: // Add

                        Console.WriteLine("Enter a number: ");
                        numbers[count] = Convert.ToSingle(Console.ReadLine());

                        max = numbers[count];
                        min = numbers[count];

                        total += numbers[count];

                        count++;

                        if (max < numbers[count])
                            max = numbers[count];

                        if (min > numbers[count])
                            min = numbers[count];

                        break;
                    case 2: // Show

                        for (int i = 0; i < count; i++)
                            Console.WriteLine("{0} ", numbers[i]);

                        break;
                    case 3: // Search

                        Console.WriteLine("Enter a number for search: ");
                        searchNumber = Convert.ToSingle(Console.ReadLine());

                        for (int i = 0; i < count; i++)
                            if (numbers[i] == searchNumber)
                                found = true;

                        if (found)
                            Console.WriteLine("Number {0} found a amount of {1} "
                            , numbers[i]);
                        else
                        {
                            Console.WriteLine("Not found");
                            found = false;
                        }

                        break;
                    case 4: // Statistics

                        Console.WriteLine("Total data: {0}", count + 1);
                        Console.WriteLine("Sum: {0}", total);
                        Console.WriteLine("Average: {0}", total / (count + 1));
                        Console.WriteLine("Min number: {0}", min);
                        Console.WriteLine("Max number: {0}", max);

                        break;
                    default:

                        Console.WriteLine("Error, option 1-5");
                        break;
                }
            }
        }
        while (option != 5);
    }
}