Cómo utilizar dos declaraciones ‘if’ en C#?
Este es mi código para un cajero automático, pero de alguna manera, cuando presiono el número 2 en el teclado numérico, obtengo mi declaración “else” de que no hubo elección para este número.
“`csharp
Console.WriteLine(“Cuál es tu nombre?”);
string userName = Console.ReadLine();
Console.WriteLine(“Eres: ” + userName);
Console.WriteLine(“Cuánto dinero tienes?”);
string Balance = Console.ReadLine();
float startBalance = float.Parse(Balance);
Console.WriteLine(userName + “, tu saldo es de ” + startBalance + ” EUR”);
Console.WriteLine(“Presiona 1 para RETIRADA”);
Console.WriteLine(“Presiona 2 para DEPÓSITO”);
if (Console.ReadKey().Key == ConsoleKey.NumPad1)
{
Console.ReadLine();
Console.WriteLine(“Cuánto dinero deseas retirar?”);
string Withdrawal = Console.ReadLine();
float wBalance = float.Parse(Withdrawal);
Console.WriteLine(“Tu nuevo saldo es de ” + (startBalance – wBalance) + ” EUR”);
Console.ReadLine();
Environment.Exit(0);
}
if (Console.ReadKey().Key == ConsoleKey.NumPad2)
{
Console.ReadLine();
Console.WriteLine(“Cuánto dinero deseas depositar?”);
string Deposit = Console.ReadLine();
float dBalance = float.Parse(Deposit);
Console.WriteLine(“Tu nuevo saldo es de ” + (startBalance – dBalance) + ” EUR”);
Console.ReadLine();
Environment.Exit(0);
}
else Console.WriteLine(“No hubo elección para este número”);
davy.ai
El problema con el código es que la segunda instrucción
if
no está vinculada a la primera, lo que hace que se ejecute de forma independiente cuando se presiona cualquier tecla que no sea NumPad2. Para solucionar esto, la segunda instrucciónif
debería ser una instrucciónelse if
, de la siguiente manera:De esta manera, el código de depósito se ejecutará solo si se presiona NumPad2 específicamente después del bloque de código de retiro, y la instrucción
else
final se ejecutará solo si se presiona una tecla que no sea NumPad1 o NumPad2.