Función calculadora, parámetros y valor de retorno de Main - Ejercicio de Programacion C# Sharp

En este ejercicio de C#, crearás un programa que calcule operaciones matemáticas como suma, resta, producto o división, analizando los parámetros de la línea de comandos. El programa debe aceptar tres parámetros: un número, un signo de operación y otro número, como en el siguiente ejemplo: calc 5 + 379. Los signos permitidos son +, -, *, x y /. Además, el programa debe retornar códigos de error en los siguientes casos: 1 si el número de parámetros no es 3, 2 si el segundo parámetro no es un signo válido, 3 si el primer o tercer parámetro no es un número válido, y 0 en caso de que todo esté correcto. Este ejercicio es útil para aprender a validar entradas de la línea de comandos, manejar errores y realizar operaciones matemáticas dinámicas en C#. Es una excelente manera de practicar el manejo de errores y la validación de parámetros en aplicaciones de consola, asegurando que las operaciones matemáticas se realicen solo cuando los parámetros sean correctos.

Este ejercicio te permitirá mejorar tus habilidades en el procesamiento de entradas, validaciones y manejo de errores en C#, así como comprender cómo construir programas robustos que interactúan correctamente con el usuario a través de la línea de comandos.

 Categoría

Funciones

 Ejercicio

Función Calculadora, Parámetros Y Valor De Retorno De Main

 Objectivo

Crear un programa en C# para calcular una suma, resta, producto o división, analizando los parámetros de la línea de comandos:

calc 5 + 379

(Los parámetros deben ser un número, un signo y otro número; los signos permitidos son + - * x / )

Esta versión debe devolver los siguientes códigos de error:
1 si el número de parámetros no es 3
2 si el segundo parámetro no es un signo aceptado
3 si el primer o tercer parámetro no es un número válido
0 de lo contrario

 Ejemplo Ejercicio C#

 Copiar Código C#
// Import the System namespace to use basic classes like Console
using System;

class Program
{
    // Main method to drive the program
    public static int Main(string[] args)
    {
        // Check if the correct number of arguments (3) are passed
        if (args.Length != 3)
        {
            // Return error code 1 if the number of parameters is incorrect
            Console.WriteLine("Error: Please provide two numbers and an operator.");
            return 1;
        }

        // Try to parse the first number from the command line arguments
        double num1;
        if (!double.TryParse(args[0], out num1))
        {
            // Return error code 3 if the first parameter is not a valid number
            Console.WriteLine("Error: The first parameter is not a valid number.");
            return 3;
        }

        // Try to parse the second number from the command line arguments
        double num2;
        if (!double.TryParse(args[2], out num2))
        {
            // Return error code 3 if the third parameter is not a valid number
            Console.WriteLine("Error: The third parameter is not a valid number.");
            return 3;
        }

        // Get the operator from the second parameter
        string operatorSign = args[1];

        // Perform the calculation based on the operator
        double result = 0;
        bool validOperation = true;

        // Switch statement to handle different operations
        switch (operatorSign)
        {
            case "+":
                result = num1 + num2; // Perform addition
                break;
            case "-":
                result = num1 - num2; // Perform subtraction
                break;
            case "*":
            case "x": // Allow 'x' as multiplication sign
                result = num1 * num2; // Perform multiplication
                break;
            case "/":
                if (num2 == 0)
                {
                    // Handle division by zero
                    Console.WriteLine("Error: Cannot divide by zero.");
                    validOperation = false;
                }
                else
                {
                    result = num1 / num2; // Perform division
                }
                break;
            default:
                // Return error code 2 if the operator is invalid
                Console.WriteLine("Error: Invalid operator. Use +, -, *, x, or /.");
                validOperation = false;
                break;
        }

        // Output the result if the operation is valid
        if (validOperation)
        {
            Console.WriteLine($"Result: {result}");
            return 0; // Return 0 to indicate successful operation
        }

        // Return an error code if the operation was not valid
        return 2; // Return error code 2 if the operator is invalid
    }
}

 Salida

-- Case 1: Execution with incorrect number of arguments
dotnet run
Error: Please provide two numbers and an operator.
Return code: 1

-- Case 2: Execution with valid addition operation
dotnet run 5 + 3
Result: 8
Return code: 0

-- Case 3: Execution with valid subtraction operation
dotnet run 10 - 4
Result: 6
Return code: 0

-- Case 4: Execution with valid multiplication operation using '*' symbol
dotnet run 6 * 7
Result: 42
Return code: 0

-- Case 5: Execution with valid multiplication operation using 'x' symbol
dotnet run 6 x 7
Result: 42
Return code: 0

-- Case 6: Execution with valid division operation
dotnet run 8 / 2
Result: 4
Return code: 0

-- Case 7: Execution with division by zero
dotnet run 10 / 0
Error: Cannot divide by zero.
Return code: 2

-- Case 8: Execution with invalid operator
dotnet run 5 & 3
Error: Invalid operator. Use +, -, *, x, or /.
Return code: 2

-- Case 9: Execution with invalid first parameter (not a number)
dotnet run abc + 3
Error: The first parameter is not a valid number.
Return code: 3

-- Case 10: Execution with invalid third parameter (not a number)
dotnet run 5 + abc
Error: The third parameter is not a valid number.
Return code: 3

 Comparte este Ejercicio C# Sharp

 Más Ejercicios de Programacion C# Sharp de Funciones

¡Explora nuestro conjunto de ejercicios de programación C# Sharp! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de C#. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en C#.

  •  Función MinMaxArray

    En este ejercicio de C#, deberás crear una función llamada MinMaxArray que reciba un arreglo de números y retorne el valor mínimo y máximo utilizando pa...

  •  Reverso, recursivo

    En este ejercicio de C#, debes crear un programa que utilice la recursión para invertir una cadena de caracteres. El programa debe recibir una cadena co...

  •  Función WriteRectangle

    En este ejercicio de C#, deberás crear dos funciones: una llamada WriteRectangle para mostrar un rectángulo lleno en la pantalla, utilizando asteriscos, y otra...

  •  Función Palíndromo, iterativo

    En este ejercicio de C#, deberás crear una función iterativa que determine si una cadena es simétrica (un palíndromo). Un palíndromo es una palabra, número, frase u o...

  •  Palíndromo recursivo

    En este ejercicio de C#, se te pedirá crear una función recursiva que determine si una cadena es simétrica (un palíndromo). Un palíndromo es una palabra, númer...

  •  Función GetMinMax

    En este ejercicio de C#, deberás escribir una función llamada "GetMinMax", que pedirá al usuario ingresar un valor mínimo (un número) y un valor máximo (otro n...