예제 #1
0
        static void Main(string[] args)
        {
            // Skip console input
            var ctx = new BloodAlcoholContext()
            {
                AlcoholConsumedOz      = 5.0,
                BodyWeightLb           = 190.0,
                TargetSex              = BloodAlcoholContext.Sex.Male,
                HoursSinceTheLastDrink = 1.0,
            };


            double bac          = BloodAlcoholCalculator.CalcBac(ctx);
            bool   isLegalDrive = BloodAlcoholCalculator.IsLegalDrive(bac);


            Console.WriteLine($"Your BAC is {bac}");

            if (isLegalDrive)
            {
                Console.WriteLine("It is legal for you to drive");
            }
            else
            {
                Console.WriteLine("It is not legal for you to drive");
            }
        }
        public static double CalcBac(BloodAlcoholContext ctx)
        {
            double a = ctx.AlcoholConsumedOz;
            double w = ctx.BodyWeightLb;
            double h = ctx.HoursSinceTheLastDrink;
            double r = ctx.TargetSex == BloodAlcoholContext.Sex.Male ? 0.73 : 0.66;

            double bac = (a * 5.14 / w * r) - (0.015 * h);

            return(Math.Round(bac, 2));
        }