首页 > 解决方案 > 哪个参数需要在 switch 中使用 Case 来调用对象的方法?

问题描述

我想在 C# 中使用类 moneyBox 构建一个存钱罐应用程序。现在我有一些问题要调用一个方法来更改我的对象中的硬币属性。我想通过调用我的方法来构建开关,就像一个带有案例存款的菜单。案例“存款”需要一个参数来调用该方法,但我不知道它需要哪个参数。也许有人可以帮助我。

class Program
{
    public static List<moneyBox> moneyBoxes = new List<moneyBox>();

    

    public static void AddmoneyBox()
    {
        moneyBox myMoneyBox = new moneyBox();
        Console.WriteLine("Nennen Sie den Namen Ihres neuen Sparschweins:");
        myMoneyBox.Name = Console.ReadLine();
        moneyBoxes.Add(myMoneyBox);
    }   

    

    static void DepositMoney(moneyBox myMoneyBox)
    {
        
        Console.WriteLine("Bitte geben Sie an wie viele einzelne Cent und Euro Stücke sie einzahlen möchten:");
        Console.WriteLine("\n");
        Console.WriteLine("Wie viele ein Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.OneCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwei Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TwoCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele fünf Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.FiveCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zehn Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TenCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwanzig Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.TwentyCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele fünfzig Cent Münzen möchten Sie einzahlen?");
        myMoneyBox.FifftyCent += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele ein Euro Münzen möchten Sie einzahlen?");
        myMoneyBox.OneEuro += Convert.ToInt32(Console.ReadLine());
        Console.WriteLine("Wie viele zwei Euro Münzen möchten Sie einzahlen?");
        myMoneyBox.TwoEuro += Convert.ToInt32(Console.ReadLine());
         
        
    }

    public static void PrintMoneyBoxes(moneyBox newMoneyBox)
    {
        newMoneyBox.SumEuro = newMoneyBox.OneEuro + newMoneyBox.TwoEuro;
        newMoneyBox.SumCent = newMoneyBox.OneCent + newMoneyBox.TwoCent + newMoneyBox.FiveCent + newMoneyBox.TenCent + newMoneyBox.TwentyCent + newMoneyBox.FifftyCent;

        Console.WriteLine("Sparschwein von:");
        Console.WriteLine(newMoneyBox.Name);
        Console.WriteLine("Ein Cent Münzen:");
        Console.WriteLine(newMoneyBox.OneCent);
        Console.WriteLine("Zwei Cent Münzen:");
        Console.WriteLine(newMoneyBox.TwoCent);
        Console.WriteLine("Fünf Cent Münzen:");
        Console.WriteLine(newMoneyBox.FiveCent);
        Console.WriteLine("Zehn Cent Münzen:");
        Console.WriteLine(newMoneyBox.TenCent);
        Console.WriteLine("Zwanzig Cent Münzen:");
        Console.WriteLine(newMoneyBox.TwentyCent);
        Console.WriteLine("Fünfzig Cent Münzen:");
        Console.WriteLine(newMoneyBox.FifftyCent);
        Console.WriteLine("ein Euro Münzen:");
        Console.WriteLine(newMoneyBox.OneEuro);
        Console.WriteLine("Zwei Euro Münzen:");
        Console.WriteLine(newMoneyBox.TwoEuro);
        Console.WriteLine("************************");
        Console.WriteLine("Der Inhalt Ihres Sparschweins beträgt: " + newMoneyBox.SumEuro + "," + newMoneyBox.SumCent);
    }
    
    public static void ListOfMoneyBoxes()
    {
        foreach (var owner in moneyBoxes)
        {
            PrintMoneyBoxes(owner);
        }

        return;
        /*string nameOfMoneyBox = Console.ReadLine();

        //if ()
        {
            //Menü zum Ein-/ Auszahlen
        }*/
    } 

            
    
    static void Main(string[] args)
    {
        string command = "";
        while(command != "exit")
        {
            Console.Clear();
            Console.WriteLine("WILLKOMMEN ZU IHREM DIGITALEN SPARSCHWEIN");
            Console.WriteLine(">***************************************<");
            Console.WriteLine("\n");
            Console.WriteLine("Erstellen Sie ein neues Sparschwein und nehmen Sie Einzahlungen oder Auszahlungen vor:");
            Console.WriteLine("\n");
            Console.WriteLine("Erstellen eines neuen Sparschweins:      (e)");
            Console.WriteLine("Inhalt Ihres Sparschweins:               (i)");
            Console.WriteLine("Zahlen Sie Geld in Ihr Sparschwein ein:  (+)");
            command = Console.ReadLine().ToLower();
            switch(command)
            {
                case "e":
                    AddmoneyBox();
                    break;
                case "i":
                    ListOfMoneyBoxes();
                    break;
                case "+":
                    DepositMoney();
                    break;
            }

        }

标签: c#objectparametersswitch-statement

解决方案


推荐阅读