【发布时间】:2017-07-24 04:44:55
【问题描述】:
我是 C# 的新手,但是为了上课,我必须编写一个程序来保持食品销售的总和。
我们被教导要使用全局变量,但它不仅感觉不是最简单的方法,而且我读到的所有地方都说不要使用它们。
例如,如果不使用全局变量,我还没有找到一种方法来保持两种不同巧克力棒的成本。它可以得到 1 条的总成本 - 无论数量如何,但是当我添加另一个时,之前的任何选择都会从总成本中消失。
简而言之:我有什么工作,但我觉得我需要学习更好的做法。
这是我的代码示例(请注意,这里有多个方法我没有复制到其中):
class Program
{
static double total = 0;
static void Main(string[] args)
{
string choice = "y";
while (choice == "y")
{
Console.WriteLine("Main Menu:\nChocolate\nSandwiches");
int menu = int.Parse(Console.ReadLine());
switch (menu)
{
case 1:
chocolate();
break;
case 2:
sandwich();
break;
}
}
}
static void chocolate()
{
int menu = 0;
//double cost = quant * price;
Console.WriteLine("Chocolate bar menu:\nMars bar\nSnickers\nTwix\nMilky Bar\nTurkish Delight");
int chocBar = int.Parse(Console.ReadLine());
Console.Clear();
Console.WriteLine("Quantity");
double quant = double.Parse(Console.ReadLine());
Console.Clear();
if (chocBar == 1)
{
Console.Clear();
double costMars = quant * 0.5;
total = total + costMars;
Console.WriteLine("current total: £" + total.ToString("0.00"));
Console.WriteLine("Press 1 for main menu");
menu = int.Parse(Console.ReadLine());
if (menu == 1)
{
chocolate();
}
else
{
}
}
if (chocBar == 2)
{
double costSnick = quant * 0.8;
total = total + costSnick;
Console.WriteLine("current total: £" + total.ToString("0.00"));
Console.WriteLine("Press 1 for main menu");
menu = int.Parse(Console.ReadLine());
if (menu == 1)
{
chocolate();
}
else
{
}
}
Console.ReadKey();
【问题讨论】:
标签: c# global-variables cumulative-sum