Loading...
k_stoyanov avatar k_stoyanov 0 Точки

08. On Time for the Exam - Conditional Statements Advanced - Exercise

Здравейте, някой може ли да каже къде греша? Всички тестове минават, но в judge ми дава 62/100

using System;

namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            int examHours = int.Parse(Console.ReadLine());
            int examMinutes = int.Parse(Console.ReadLine());
            int arrivalHours = int.Parse(Console.ReadLine());
            int arrivalMinutes = int.Parse(Console.ReadLine());

            if ((examHours - 1) == arrivalHours && 30 <= examMinutes && arrivalMinutes > 30)
            {
                Console.WriteLine("Early");
                Console.WriteLine($"{examMinutes + (60 - arrivalMinutes)} minutes before the start");
            }
            else if (examHours > arrivalHours && arrivalMinutes < 30)
            {
                Console.WriteLine("Early");
                Console.WriteLine($"{examHours - arrivalHours}:{(examMinutes - arrivalMinutes):d2} hours before the start");
            }
            else if (examHours == arrivalHours && examMinutes == arrivalMinutes)
            {
                Console.WriteLine("On time");
            }
            else if ((examHours - 1) == arrivalHours && 30 >= examMinutes && arrivalMinutes > 30)
            {
                Console.WriteLine("On time");
                Console.WriteLine($"{examMinutes + (60 - arrivalMinutes)} minutes before the start");
            }
            else if ((examHours - 1) == arrivalHours && 30 <= arrivalMinutes)
            {
                Console.WriteLine("On time");
                Console.WriteLine($"{arrivalMinutes - examMinutes} minutes before the start");
            }
            else if ((examHours + 1) == arrivalHours && examMinutes > arrivalMinutes)
            {
                Console.WriteLine("Late");
                Console.WriteLine($"{arrivalMinutes + examMinutes} minutes after the start");
            }
            else if (examHours == arrivalHours && examMinutes < arrivalMinutes)
            {
                Console.WriteLine("Late");
                Console.WriteLine($"{arrivalMinutes - examMinutes} minutes after the start");
            }
            else if (examHours < arrivalHours)
            {
                Console.WriteLine("Late");
                Console.WriteLine($"{arrivalHours - examHours}:{(arrivalMinutes - examMinutes):d2} hours after the start");
            }
        }
    }
}
 

Тагове:
0
Programming Basics with C#
kkaraivanov avatar kkaraivanov 486 Точки

Ето едно примерно решение да сравниш какво липсва в кода ти

{
    class Program
    {
        static void Main(string[] args)
        {
            int hourExam = int.Parse(Console.ReadLine());
            int minuteExam = int.Parse(Console.ReadLine());
            int incomingHour = int.Parse(Console.ReadLine());
            int incomingMinute = int.Parse(Console.ReadLine());

            int examTotalMinuets = hourExam * 60 + minuteExam;
            int incomeTotalMinutes = incomingHour * 60 + incomingMinute;

            int timeDifference = examTotalMinuets - incomeTotalMinutes;

            if (timeDifference < 0)
            {
                Console.WriteLine("Late");
                int timeAbsolute = Math.Abs(timeDifference);

                if (timeAbsolute < 60)
                {
                    Console.WriteLine($"{timeAbsolute} minutes after the start");
                }
                else
                {
                    int hour = timeAbsolute / 60;
                    int minute = timeAbsolute % 60;
                    Console.WriteLine($"{hour}:{minute:D2} hours after the start");
                }
            }
            else if (timeDifference > 30)
            {
                Console.WriteLine("Early");
                if (timeDifference < 60)
                {
                    Console.WriteLine($"{timeDifference} minutes before the start");
                }
                else
                {
                    int hour = timeDifference / 60;
                    int minute = timeDifference % 60;
                    Console.WriteLine($"{hour}:{minute:D2} hours before the start");
                }
            }
            else
            {
                Console.WriteLine("On Time");
                if (timeDifference > 0)
                {
                    Console.WriteLine($"{timeDifference} minutes before the start");
                }
            }
        }
    }
}

 

0
Lypi_1003 avatar Lypi_1003 36 Точки

using System;

namespace OnTimeForTheExam
{
    class Program
    {
        static void Main(string[] args)
        {
            int examHour = int.Parse(Console.ReadLine());
            int examMinutes = int.Parse(Console.ReadLine());
            int arrivingHour = int.Parse(Console.ReadLine());
            int arrivingMinutes = int.Parse(Console.ReadLine());

            int examTime = examHour * 60 + examMinutes;
            int arrivingTime = arrivingHour * 60 + arrivingMinutes;

            int finalHour = 0;
            int finalMinutes = 0;

            if (examTime >= arrivingTime)
            {
                int finalTime = examTime - arrivingTime;
                finalHour = finalTime / 60;
                finalMinutes = finalTime % 60;
                if (finalTime == 0)
                {
                    Console.WriteLine("On time");
                }

                else if (finalTime <= 30)
                {
                    Console.WriteLine("On time");
                    Console.WriteLine($"{finalMinutes} minutes before the start");
                    
                }
                else if (finalTime > 30)
                {
                    Console.WriteLine("Early");
                    if (finalHour == 0)
                    {
                        Console.WriteLine($"{finalMinutes} minutes before the start");
                    }
                    else if (finalHour > 0 && finalMinutes >= 10)
                    {
                        Console.WriteLine($"{finalHour}:{finalMinutes} hours before the start");
                    }
                    else if (finalHour > 0 && finalMinutes < 10)
                    {
                        Console.WriteLine($"{finalHour}:0{finalMinutes} hours before the start");
                    }
                }
            }
            else if (examTime < arrivingTime)
            {
                int finalTime = arrivingTime - examTime;
                finalHour = finalTime / 60;
                finalMinutes = finalTime % 60;
                Console.WriteLine("Late");
                if (finalHour == 0)
                {
                    Console.WriteLine($"{finalMinutes} minutes after the start");
                }
                else if (finalHour > 0 && finalMinutes >= 10)
                {
                    Console.WriteLine($"{finalHour}:{finalMinutes} hours after the start");
                }
                else if (finalHour > 0 && finalMinutes < 10)
                {
                    Console.WriteLine($"{finalHour}:0{finalMinutes} hours after the start");
                }
            }

        }
    }
}
 

Още един вариант на решение :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.