簡體   English   中英

C#預算計算器問題與起始資金

[英]C# Budget Calculator issue with Starting money

所以這是我的預算計算器。 它計算我可以用存款賺取多少(每年%),我可以增加金錢(收入)並可以減少金錢(減少)。

在我的代碼中,您必須手動指出起始金額的大小。 我需要的是例如在開始時我告訴我的程序,啟動資金是500歐元。 當我使用存款時,它變成例如570,50。 當我使用收益時,我需要它從570,50開始,但在我的計划中它總是會再次詢問,你的起始資本是多少。 我需要以某種方式自動完成。 抱歉我的英文不好,這里是整個代碼:)

class Program
{
    static void Main(string[] args)
    {
        int menu;
        do
        {
            Console.WriteLine("1 - '%'");
            Console.WriteLine("2 - '+'");
            Console.WriteLine("3 - '-'");
            Console.WriteLine("0 - iziet");

            Console.Write("Menu: ");
            menu = Convert.ToInt32(Console.ReadLine());
            if (menu > 0 && menu < 4)
            {
                switch (menu)
                {
                    case 1:
                        {
                            Console.Write("Noguldamā naudas summu: ");
                            int a = Convert.ToInt32(Console.ReadLine());
                            Console.Write("Procentu likme (0 - 100): ");
                            int b = Convert.ToInt32(Console.ReadLine());
                            Console.Write("Laiks (gadi): ");
                            int c = Convert.ToInt32(Console.ReadLine());
                            double d = Procenti(a, b, c);
                            Console.WriteLine("\nNaudas summa pēc {0} gadiem būs {1}\n", c, d);
                        }
                        break;
                    case 2:
                        {
                            Console.Write("Sakuma nauda: ");
                            int a = Convert.ToInt32(Console.ReadLine());
                            Console.Write("Cik nopelnijat: ");
                            int b = Convert.ToInt32(Console.ReadLine());
                            double d = Pluss(a, b);
                            Console.WriteLine("Tagadejais budzhets ir: {0} euro", d);
                        }
                        break;
                    case 3:
                        {
                            Console.Write("Sakuma nauda: ");
                            double a = Convert.ToDouble(Console.ReadLine());
                            Console.Write("Cik izterejat: ");
                            double b = Convert.ToDouble(Console.ReadLine());

                            double d = Minuss(a, b);
                            Console.WriteLine("Tagadejais budzhets ir: {0} euro", d);
                        }
                        break;
                }
            }
            else
            {
                Console.WriteLine();
                Console.WriteLine("Ludzu ievadiet ciparus 0,1,2,3 - parejie cipari ir arpus robezham!");
                Console.WriteLine();
            }
        } while (menu != 0);
    }




    //FUNKCIJASSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
    static double Procenti(double a, double b, int c)
    {
        for (int i = 0; i < c; i++)
        {
            a = (a * (b / 100) + a);
        }
        return a;
    }
    static double Pluss(double a, double b)
    {
        return a + b;
    }
    static double Minuss(double a, double b)
    {

        return a - b;
    }
}

您需要將值存儲在變量中。 在開始交易之前,您要求用戶輸入值:

int menu;
float stored_money;
Console.Write("Enter the Initial Value: ");
stored_money = Convert.ToInt32(Console.ReadLine());
do
{

並在函數中使用此變量

static double Pluss(double b)
{
    stored_money = stored_money + b;
    return stored_money;
}
static double Minuss(double b)
{
    stored_money = stored_money - b;
    return stored_money;
}

好吧,基本上你看起來需要在代碼中的某處保存余額,因為現在你在每個菜單點從控制台輸入它。

類似的東西(注意我省略了大部分代碼):

int menu;
decimal amount;

do
{
   .... //your code
    case 1:
    {
        Console.Write("Noguldamā naudas summu: ");
        amount = Convert.ToDecimal(Console.ReadLine());
       .... //your code
        decimal d = Procenti(a, b, c);
        amount += d;
    }
   case 2:
   {      
       Console.Write("Cik nopelnijat: ");
       decimal b = Convert.ToInt32(Console.ReadLine());
       amount = Pluss(amount, b);
       Console.WriteLine("Tagadejais budzhets ir: {0} euro", amount);
   }
    .... //your code
} while (menu != 0);

在以后的所有情況下,您都不應輸入金額,而是使用該保存的值並根據菜單點任務進行修改。

或者你甚至可以引入新的菜單點來設置初始量而不要在第1點輸入(如果點1可以被多次調用) - 這取決於你的計算器邏輯,這取決於你。

注意 - 最好使用decimal而不是intdouble進行財務計算,因為它旨在存儲完全可能的精度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM