Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
enum IntervalFlags
{
Interval_NotStrict = 0,
Interval_StrictLeft = 1 << 0,
Interval_StrictRight = 1 << 1,
Interval_Strict = Interval_StrictLeft | Interval_StrictRight
};
bool Date::IsInRange(const Date &left, const Date &right, IntervalFlags interval_flags)
{
return (range_flags & Interval_StrictLeft ? *this > left : *this >= left) &&
(range_flags & Interval_StrictRight ? *this < right : *this <= right);
}
bool IsInRange(const Date &left, const Date &right, IntervalFlags interval_flags = Interval_Strict);
Interval_StrictLeft = 1 << 0,
Interval_StrictRight = 1 << 1,
enum Dates{
/// <summary>
/// Дата первая
/// </summary>
GET_FIRST,
/// <summary>
/// Дата вторая
/// </summary>
GET_SECOND,
/// <summary>
/// Дата еще какая-то
/// </summary>
GET_BOTH,
/// <summary>
/// Дата никакая
/// </summary>
None
}
Check GetCheck(int empId){
....
var taxes=GetTaxes(empId, paymentType); // эта функция генерит свои ошибки
var fines=GetFines(empId); // эта тоже
return Calculate(taxes, fines, period) //и эта
}
Басни на ночь — Хорошие имена как залог успеха