C sharp - Ayuda con calculadora

 
Vista:

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 22/11/2021 20:58:30
Buenas!

Tengo que hacer una calculadora de consola utilizando biblioteca de clases y enum. En las biblioteca de clases tengo hechas las operaciones que nos piden, pero tengo un problema con el enum y es que no sé como implementarlo, ahora lo tengo así:
1
2
3
4
5
6
7
8
public enum operacion {
            SUMA = '+',
            RESTA = '-',
            MULTIPLICAR = '*',
            DIVIDIR = '/',
            //RAIZ = 'sqrt',
            //CUADRADO = '**',
        };
ya que tengo que meterlo en este metodo: RealizarOperacion(double num1, double num2, operacion operador)

Alguien que me ayude?
Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con calculadora

Publicado por Agustin (171 intervenciones) el 22/11/2021 21:04:18
No compila ese código. Un enum no puede recibir un valor string.

Lo mejor que podés hacer es un switch para determinar el equivalente string al operador al mostrarlo:

wt68dLI
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 22/11/2021 21:08:05
La cosa es que en la raíz cuadrada tiene que ser "sqrt" y en elevar al cuadrado "**" ya que es lo que nos piden. Pienso que me estoy complicando mucho, pero no llevo mucho con C# la verdad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con calculadora

Publicado por Agustin (171 intervenciones) el 22/11/2021 21:09:59
Da igual. Ya te mostré un ejemplo de cómo hacerlo. Ponele los nombres que quieras.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 22/11/2021 21:26:57
Pues sinceramente no sé cómo implementarlo en lo que tengo. No hay una forma más sencilla o algo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con calculadora

Publicado por Agustin (171 intervenciones) el 22/11/2021 21:56:56
Copiá el codigo que tengas, completo, y vemos. La Bola de Cristal la pedí por MercadoLibre pero todavía no me llegó, así que adivinar no puedo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 22/11/2021 22:04:22
Ahora mismo tengo esto más la biblioteca de clases que son las operaciones:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
using System;
using OperacionesAritmeticas;
 
namespace Consola
{
    class Program
    {
        public enum operacion {
            SUMA = '+',
            RESTA = '-',
            MULTIPLICAR = '*',
            DIVIDIR = '/',
            //RAIZ = 'sqrt',
            //CUADRADO = '**',
        };
 
        public static double RealizarOperacion(double num1, double num2, operacion operador)
        {
            double res = double.NaN;
 
            switch (operador)
            {
                case operacion.SUMA:
                    res = OperacionesAritmeticas.ClsSuma.Sumar(num1, num2);
                    break;
 
                 case operacion.RESTA:
                    res = OperacionesAritmeticas.ClsResta.Restar(num1, num2);
                    break;
 
                case operacion.MULTIPLICAR:
                    res = OperacionesAritmeticas.ClsMultiplicacion.Multiplicacion(num1, num2);
                    break;
 
                case operacion.DIVIDIR:
                    res = OperacionesAritmeticas.ClsDivision.Division(num1, num2);
                    break;
 
                /*case operacion.RAIZ:
                    res = OperacionesAritmeticas.ClsRaiz.Raiz(num1);
                    break;
                case operacion.CUADRADO:
                    res = OperacionesAritmeticas.ClsAlCuadrado.Cuadrado(num1);
                    break;*/
 
                default:
                    Console.WriteLine("Operador no valido");
                    break;
            }
            return res;
        }
 
        static void Main(string[] args)
        {
            try {
                string resp = string.Empty;
 
                do {
                    //Declaramos las variables
                    double num1 = 0;
                    double num2 = 0;
                    double res = 0;
 
                    Console.Write("Introduce un número y pulsa Enter: ");
                    num1 = double.Parse(Console.ReadLine());
                    Console.Write("Introcude otro número y pulsa Enter: ");
                    num2 = double.Parse(Console.ReadLine());
 
                    //Mensajes para el menu
                    Console.WriteLine("Elige una opción: ");
                    Console.WriteLine("\t+ - Sumar");
                    Console.WriteLine("\t- - Restar");
                    Console.WriteLine("\t* - Multiplicar");
                    Console.WriteLine("\t/ - Dividir");
                    Console.WriteLine("\tsqrt - Raiz cuadrada");
                    Console.WriteLine("\t** - Elevar al cuadrado");
                    Console.WriteLine("Opción: ");
 
                    string operador = Convert.ToString(Console.ReadLine());
 
                    res = RealizarOperacion(num1, num2, operador);
                    Console.WriteLine("El resultado es: " + res);
 
                    Console.WriteLine("-----------------------------");
                    Console.WriteLine("\n¿Quieres hacer otra operación? s/n" );
                    resp = Console.ReadLine();
                } while (resp == "s" || resp == "S");
 
            } catch (Exception e) {
                Console.WriteLine("Ha ocurrido una excepción. Detalles: \n" + e.Message);
            }
        }
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 373
Plata
Ha aumentado su posición en 2 puestos en C sharp (en relación al último mes)
Gráfica de C sharp

Ayuda con calculadora

Publicado por Agustin (171 intervenciones) el 23/11/2021 13:07:44
acá te lo resolví con las operaciones directamente, si queres meterlas cada una en una clase aparte lo separás despues:

XzuS3Zr
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 24/11/2021 11:39:11
Buenas!

No entiendo lo que pasa, lo he puesto como me has dicho, pero me sale "El nombre 'RealizarOperacion' no existe en el contexto actual" y por más que miro el código no encuentro el fallo. Además, en double RealizarOperación me pide un return.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda con calculadora

Publicado por Joker (4 intervenciones) el 24/11/2021 12:03:38
Vale, perdón, ya está solucionado. Gracias por la ayuda! ^^
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar