Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace onTimeForExam
- {
- class Program
- {
- static void Main(string[] args)
- {
- // 15. * Навреме за изпит
- //Трета задача от междинния изпит на 6 март 2016.
- //Студент трябва да отиде на изпит в определен час(например в 9:30 часа).Той идва в изпитната зала в даден
- //час на пристигане(например 9:40).Счита се, че студентът е дошъл навреме, ако е пристигнал в часа на
- //изпита или до половин час преди това.Ако е пристигнал по-рано повече от 30 минути, той е подранил.Ако е
- //дошъл след часа на изпита, той е закъснял.Напишете програма, която прочита време на изпит и време на
- //пристигане и отпечатва дали студентът е дошъл навреме, дали е подранил или е закъснял и с колко часа или
- //минути е подранил или закъснял.
- //Вход
- //От конзолата се четат 4 цели числа(по едно на ред), въведени от потребителя:
- // Първият ред съдържа час на изпита – цяло число от 0 до 23.
- // Вторият ред съдържа минута на изпита – цяло число от 0 до 59.
- // Третият ред съдържа час на пристигане – цяло число от 0 до 23.
- // Четвъртият ред съдържа минута на пристигане – цяло число от 0 до 59.
- //Изход
- //На първият ред отпечатайте:
- // “Late”, ако студентът пристига по-късно от часа на изпита.
- // “On time”, ако студентът пристига точно в часа на изпита или до 30 минути по-рано.
- // “Early”, ако студентът пристига повече от 30 минути преди часа на изпита.
- //Ако студентът пристига с поне минута разлика от часа на изпита, отпечатайте на следващия ред:
- // “mm minutes before the start” за идване по - рано с по-малко от час.
- // “hh: mm hours before the start” за подраняване с 1 час или повече.Минутите винаги печатайте с 2
- //цифри, например “1:05”.
- // “mm minutes after the start” за закъснение под час.
- // “hh: mm hours after the start” за закъснение от 1 час или повече.Минутите винаги печатайте с 2 цифри,
- //например “1:03”.
- //11:15 -
- var examStartHour = int.Parse(Console.ReadLine());
- var examStartMins = int.Parse(Console.ReadLine());
- var comingHour = int.Parse(Console.ReadLine());
- var comingMins = int.Parse(Console.ReadLine());
- string onTime = "On time ";
- string early = "Early ";
- string late = "late ";
- var hoursToMinsComeTime = (60 * comingHour);
- var minsToMinsComeTime = comingMins;
- var allMinsCome = (hoursToMinsComeTime + minsToMinsComeTime);
- var hoursToMinsStartTime = (60 * examStartHour);
- var minsToMinsStartTime = examStartMins;
- var allMinsStart = (hoursToMinsStartTime + minsToMinsStartTime);
- var hoursForSepLate = (allMinsCome - allMinsStart) / 60;
- var minsForSepLate = (allMinsCome - allMinsStart) % 60;
- var hoursForSepOnTime = (allMinsStart - allMinsCome) / 60;
- var minsForSepOnTime = (allMinsStart - allMinsCome) % 60;
- if (examStartHour >= 0 &&
- examStartHour < 24 &&
- examStartMins >= 0 &&
- examStartMins < 60 &&
- comingHour >= 0 &&
- comingHour < 24 &&
- comingMins >= 0 &&
- comingMins < 60)
- {
- if (allMinsStart >= allMinsCome)
- {
- if ((allMinsStart - allMinsCome) <= 30)
- {
- Console.Write(onTime);
- }
- if ((allMinsStart - allMinsCome) > 30)
- {
- Console.Write(early);
- }
- if ((allMinsStart - allMinsCome) < 60)
- {
- Console.WriteLine($"{minsForSepOnTime} minutes before the start");
- }
- if ((allMinsStart - allMinsCome) >= 60)
- {
- Console.WriteLine($"{hoursForSepOnTime}:{minsForSepOnTime:d2} hours before the start");
- }
- }
- if (allMinsStart < allMinsCome)
- {
- Console.Write(late);
- if ((allMinsCome-allMinsStart)<60)
- {
- Console.WriteLine($"{minsForSepLate:d2} minutes after the start");
- }
- if ((allMinsCome - allMinsStart) >= 60)
- {
- Console.WriteLine($"{hoursForSepLate}:{minsForSepLate:d2} hours after the start");
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement