所以,我正在构建一个银行模拟器,其中包含我目前学到的所有内容,我只想将这段代码提升到另一个级别,直到它的功率达到9000以上。(DBZ参考的道具!)I& #39;我在我的代码中寻找一种方法,在操作后更新余额的值。因为现在,在手术后,我的价值被重置,我不想要那样做。 而且,在相同的场合,给我一些指示,提示使代码更短,更可读,以增加更多的深度!
using System;
namespace Bank
{
public class Program
{
static void Main()
{
Console.ForegroundColor = ConsoleColor.Yellow;
double balance = 2000;
bool exit = true;
Console.WriteLine("|----------Welcome to the Nobody's Poor Bank!----------|");
Console.ReadLine();
Console.WriteLine("You actually have 2000$ in your bank account.");
Console.ReadLine();
Console.Clear();
while (exit==true)
{
Console.WriteLine("What operation would you like to do?\n");
Console.Write("(W) Withdraw (D) Deposit (E) Exit : ");
string choice = Console.ReadLine();
switch (choice)
{
case "W":
case "w":
Console.Write("\nHow much money would you like to withdraw? : ");
string WithdrawAmount = Console.ReadLine();
double WithdrawValue;
double.TryParse(WithdrawAmount, out WithdrawValue);
balance -= WithdrawValue;
Console.WriteLine("\nAfter the operation, your balance is now " + balance + "$");
Console.ReadKey();
Console.Clear();
break;
case "D":
case "d":
Console.Write("\nHow much money would you like to deposit? : ");
string DepositAmount = Console.ReadLine();
double DepositValue;
double.TryParse(DepositAmount, out DepositValue);
balance += DepositValue;
Console.WriteLine("\nAfter the operation, your balance is now " + balance + "$");
Console.ReadKey();
Console.Clear();
break;
case "E":
case "e":
Console.WriteLine("\nThank you for using our services!");
Console.ReadKey();
exit = false;
break;
default:
Console.WriteLine("\nThat is not a valid input...");
Console.ReadKey();
Console.Clear();
break;
}
}
}
}
}
答案 0 :(得分:1)
在下面的代码中,您只是计算余额结果应该是什么,而不是实际更新它。
Console.WriteLine(
"\nAfter the operation, your balance is now " +
(balance - WithdrawValue) + "$");
尝试将此更改为
balance -= WithdrawValue;
Console.WriteLine("\nAfter the operation, your balance is now " + balance + "$");
第一行用预期结果更新balance变量。 第二行现在只是将新的余额值输出到控制台。
答案 1 :(得分:0)
1)在程序类上将您的余额声明为静态,而不是在主线程上 像
Static double balance = 2000;
这将更新程序运行会话的生命周期的余额值
2)您可以使用
代替使用d和D作为开关案例Switch(choice.ToUpper())
Case : "D"
这会将选项转换为大写,因此您只会测试大写字母D或B或其他内容。这意味着如果用户输入d或D,它仍将提供相同的输出。
3)使用switch语句意味着如果条件为真,你希望应用程序以某种方式运行.....所以你不需要在所有情况下都有控制台,readkey,因为只有一个将在一段时间
而是在切换之后将代码放在此之后,然后显示
Switch(Choice.ToUpper())
{ case : "D"
//some code..........
break;
case : "F"
//some code..........
break;
}
Console.WriteLine(balance.ToString());
Console.ReadKey();