如何使用数组和循环为员工提供加薪

时间:2015-10-27 20:22:48

标签: c# visual-studio-2013

我需要一些帮助。我为一家小公司创建了一个常量,初始化为5.我声明了一个数组来保存唯一的工资,并声明一个变量来保持加薪。但是我正在努力使用循环来为数组中的每个工资提供用户收到的加薪,然后使用另一个循环来显示具有格式说明符的新工资金额。以下是我试图整理的代码。

public class Program
{
  public static void Main(string[] args)
  {
    const int NumOfSalaries = 5;
    int[] UniqueSalary = {30000,40000,50000,55000,60000};
    decimal raise = 0.0M;

    Console.WriteLine("Please enter a raise amount");
    raise = int.Parse(Console.ReadLine());

    foreach (int number in UniqueSalary)
      raise += number;

    foreach (int number in UniqueSalary)
      Console.WriteLine(" {0}", UniqueSalary);


  } // end Main
} // end class

2 个答案:

答案 0 :(得分:2)

问题出在你的for循环中。

foreach (int number in UniqueSalary)
  raise += number;

这是将变量number添加到raise并将其存储回raise。您需要将其存储在数组中。

答案 1 :(得分:2)

运行for循环并将raise添加到数组的每个元素,如下所示。

decimal[] UniqueSalary = { 30000, 40000, 50000, 55000, 60000 };
        decimal raise = 0.0M;

        Console.WriteLine("Please enter a raise amount");
        raise = int.Parse(Console.ReadLine());

        for (int i = 0; i < UniqueSalary.Length; i++)
            UniqueSalary[i] += raise;

        for(int i = 0; i < UniqueSalary.Length; i++)
            Console.WriteLine(" {0}", UniqueSalary[i]);

        Console.ReadLine();

注意:我已将数组类型从int更改为decimal。您可以维护一个int数组并在添加raise时进行转换。