保险政策计划有问题

时间:2017-12-14 17:37:29

标签: c# visual-studio

我正在编写一个程序,允许输入司机详细信息,如年龄,职业和过去的索赔。这3个因素将根据其价值对最终溢价产生直接影响。

我对年龄和职业的计算工作正常,这是我遇到问题的说法。以下代码是对司机索赔进行的计算。

我不知道为什么,但'totalClaims'变量正在更新,而'差异'变量也是如此 - 但当'差异'低于1时,不会执行policy.Premium上的计算。介于1和1之间5

请注意

策略是策略对象

'差异'是自索赔发生以来积累的年数

Premium是政策中的财产。驱动程序和声明是Policy

中的列表属性
public void ClaimScanner()
    {
        foreach (Driver driver in policy.Drivers)
        {
            totalClaims = totalClaims + driver.Claims.Count();
            int difference;

            foreach (Claim claim in driver.Claims)
            {
                difference = policy.PolicyStart.Year - claim.ClaimDate.Year;
                if (policy.PolicyStart.Month < claim.ClaimDate.Month || policy.PolicyStart.Month == claim.ClaimDate.Month && policy.PolicyStart.Day < claim.ClaimDate.Day)
                {
                    difference = difference - 1;
                } // gets the "age of a claim"

                if (difference < 1)
                {
                    policy.Premium = policy.Premium * 1.2;
                }

                else if (difference >= 1 && difference < 5)
                {
                    policy.Premium = policy.Premium * 1.1;
                }
                // increases policy price depending on age of claim
            }
        }

0 个答案:

没有答案