C#控制台应用程序 - 佣金计算器 - 如何将变量传递给Main()

时间:2012-05-08 02:29:23

标签: c# console-application

我无法弄清楚如何将total,sale和comm传递给Main()。

有人知道如何将这些变量导入Main并使用名称显示(输出)它们吗?

现在我可以在calcComm中输出变量...

提前致谢

菲利普

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication38
{
class Program
{

    public static void getsales()
    {
        string inputsales;
        double total = 0;
        double sale = 0;

        for (int salecount = 1; salecount <= 3; ++salecount)
        {

            Console.WriteLine("Enter sale: ");
            inputsales = Console.ReadLine();
            sale = Convert.ToDouble(inputsales);
            total = total + sale;

        }

        calcComm(total);

    }

    public static void calcComm(double total)
    {

        double comm = 0;
        comm = total * 0.2;
        Console.WriteLine(comm);

    }


    public static void Main () 
    {
        Console.WriteLine("           Sunshine Hot Tubs \n        Sales Commissions Report\n");
        char Letter;

        const string name1 = "Andreas";
        const string name2 = "Brittany";
        const string name3 = "Eric";
        string inputLetter;
        string name;
        Console.WriteLine("Please enter intial or type 'z' to quit");

        inputLetter = Console.ReadLine();
        Letter = Convert.ToChar(inputLetter);



        while (Letter != 'z')
        {

            if (Letter == 'a')
            {
                name = name1;
                getsales();
            }
            else if (Letter == 'b')
            {
                name = name2;
                getsales();
            }
            else if (Letter == 'e')
            {
                name = name3;
                getsales();
            }

                   else
                   {
                      Console.WriteLine("Invalid entry try again");
                   }



                   Console.WriteLine("Please enter intial or type z to quit");

                   inputLetter = Console.ReadLine();
                   Letter = Convert.ToChar(inputLetter);




        }
    }
 }
}

5 个答案:

答案 0 :(得分:3)

这给出了与命令行参数对应的字符串数组。

Main(string [] args)

顺便说一句,在处理货币单位时,最好使用小数而不是双数。

答案 1 :(得分:2)

你应该使用对象,然后你可以公开它们。

class Sales
{
    public double total;
    public double sale;
    public double comm;
    ...

    public void CalcComm()
    {
       ...
    }
 }

然后你可以像这样引用它们:

 Sales.total, Sales.sale  

或者您可以将它们设为全局但通常不建议这样做。

答案 2 :(得分:0)

查看C#中的return关键字;让你的函数将相关数据返回main并让它使用它。

答案 3 :(得分:0)

考虑这个示例,了解如何添加命令行参数。如果您需要以编程方式添加它们,请考虑编写一个包装程序并在其中启动Process。

using System;

class Program
{
    static void Main(string[] args)
    {
    if (args == null)
    {
        Console.WriteLine("args is null"); // Check for null array
    }
    else
    {
        Console.Write("args length is ");
        Console.WriteLine(args.Length); // Write array length
        for (int i = 0; i < args.Length; i++) // Loop through array
        {
        string argument = args[i];
        Console.Write("args index ");
        Console.Write(i); // Write index
        Console.Write(" is [");
        Console.Write(argument); // Write string
        Console.WriteLine("]");
        }
    }
    Console.ReadLine();
    }
}

答案 4 :(得分:0)

要么你可以建立一个数据传输对象,它保存所有这三个变量,然后将它返回给你的main函数。

您还可以使用作为引用而不是值传递的变量,并使用更新的引用值。阅读有关按价值类型传递的信息。 c#的引用类型和ref关键字。