1

我不知道如何将总计、销售和通信传递给 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);




        }
    }
 }
}
4

5 回答 5

3

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

Main(string [] args)

顺便说一句,在处理货币单位时,使用小数比使用双精度更好。

于 2012-05-08T02:37:51.033 回答
2

您应该使用对象,然后您可以公开这些对象。

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

    public void CalcComm()
    {
       ...
    }
 }

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

 Sales.total, Sales.sale  

或者您可以将它们设为全局,但这通常是不可取的。

于 2012-05-08T02:36:24.923 回答
0

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

于 2012-05-08T02:33:37.933 回答
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();
    }
}
于 2012-05-08T02:36:39.840 回答
0

要么你可以建立一个包含所有这三个变量的数据传输对象实例化它,然后将它返回给你的主函数。

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

于 2012-05-08T02:37:32.257 回答