rendered paste bodyusing System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;
namespace PIT
{
class Program
{
static void Main(string[] args)
{
bool error = false;
string input = "";
do
{
Console.WriteLine("Podaj swoj dochód (np. 1987,43 zł)");
input = Console.ReadLine();
input = CatchMoney(input);
try
{
double data = Convert.ToDouble(input);
Console.WriteLine(String.Format("Podatek 2008: {0:C}", pit2008(data)));
Console.WriteLine(String.Format("Podatek 2009: {0:C}", pit2009(data)));
Console.ReadLine();
error = false;
}
catch (FormatException)
{
Console.WriteLine("Nie można wykonać konwersji {0}, wprowadzaj tylko liczby i znak przecinka.", input);
error = true;
}
catch (OverflowException)
{
Console.WriteLine("Nie można wykonać konwersji {0}, wprowadzaj tylko liczby i znak przecinka.", input);
error = true;
}
} while (error == true);
}
static double pit2008(double income)
{
if (income < 3089.01)
{
return 0;
}
else if (income > 3089.00 && income < 44490.01)
{
return ((income * 0.19) - 586.85);
}
else if (income > 44490.00 && income < 85528.01)
{
return 7866.25 + ((income - 44490.00) * 0.3);
}
else
{
return 20177.65 + ((income - 85528.00) * 0.4);
}
}
static double pit2009(double income)
{
if (income < 3091.01)
{
return 0;
}
else if (income > 3091.00 && income < 85528.01)
{
return (income * 0.18) - 556.02;
}
else
{
return 14839.02 + ((income - 85528.00) * 0.32);
}
}
static string CatchMoney (String s)
{
Regex r = new Regex("^([0-9,]+)", RegexOptions.Singleline);
Match m = r.Match(s);
Group g = m.Groups[1];
return Convert.ToString(g);
}
}
}