Quiero escribir un código en C# que le pida al usuario que ingrese 2 números para comparar cuál es más alto, pero parece que no puede obtener un resultado de esto.
{ programa de clase {
public static int Max { get; private set; } static void Main(string[] args) { Console.WriteLine("Please enter 2 (two) integer numbers on a separate line: "); int num1 = int.Parse(Console.ReadLine()); int num2 = int.Parse(Console.ReadLine()); switch (Max) { case 1: if (num1 < num2) { Console.WriteLine(num2 + "is Maximum"); } break; case 2: if (num1 > num2) { Console.WriteLine(num1 + "is Maximum"); } break; } } }}
Está utilizando la variable "Max" en la condición del interruptor, pero en realidad nunca declara "Max", y el interruptor solo espera los números 1 o 2, porque pone el caso 1: y el caso 2:
Entonces, la forma correcta de mostrar la salida es esta:
if(num1 > num2) { Max = 1; } else { Max = 2; } switch(Max) { case 1: Console.WriteLine(num1 + "is Maximum"); break; case 2: Console.WriteLine(num2 + "is Maximum"); break; }Esto es solo en caso de que necesite usar una caja de interruptores, porque solo puede hacerlo con un simple if
el caso no se puede usar para comparar valores de dos números, es posible que solo desee usar la declaración if-else o si solo desea una aplicación de la declaración del caso, use esto:
switch (input) { case 1: Console.WriteLine("a"); break; case 2: Console.WriteLine("b"); break; case 3: Console.WriteLine("c"); break; case 4: Console.WriteLine("d"); break; case 5: Console.WriteLine("e"); break; case 6: Console.WriteLine("f"); break; case 7: Console.WriteLine("g"); break; default: Console.WriteLine("Invalid input"); break; }