Advertisement
Coolb

On Time for the Exam

Feb 2nd, 2018
361
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace onTimeForExam
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. // 15. * Навреме за изпит
  14. //Трета задача от междинния изпит на 6 март 2016.
  15. //Студент трябва да отиде на изпит в определен час(например в 9:30 часа).Той идва в изпитната зала в даден
  16. //час на пристигане(например 9:40).Счита се, че студентът е дошъл навреме, ако е пристигнал в часа на
  17. //изпита или до половин час преди това.Ако е пристигнал по-рано повече от 30 минути, той е подранил.Ако е
  18. //дошъл след часа на изпита, той е закъснял.Напишете програма, която прочита време на изпит и време на
  19. //пристигане и отпечатва дали студентът е дошъл навреме, дали е подранил или е закъснял и с колко часа или
  20. //минути е подранил или закъснял.
  21. //Вход
  22. //От конзолата се четат 4 цели числа(по едно на ред), въведени от потребителя:
  23. // Първият ред съдържа час на изпита – цяло число от 0 до 23.
  24. // Вторият ред съдържа минута на изпита – цяло число от 0 до 59.
  25. // Третият ред съдържа час на пристигане – цяло число от 0 до 23.
  26. // Четвъртият ред съдържа минута на пристигане – цяло число от 0 до 59.
  27. //Изход
  28. //На първият ред отпечатайте:
  29. // “Late”, ако студентът пристига по-късно от часа на изпита.
  30. // “On time”, ако студентът пристига точно в часа на изпита или до 30 минути по-рано.
  31. // “Early”, ако студентът пристига повече от 30 минути преди часа на изпита.
  32. //Ако студентът пристига с поне минута разлика от часа на изпита, отпечатайте на следващия ред:
  33. // “mm minutes before the start” за идване по - рано с по-малко от час.
  34. // “hh: mm hours before the start” за подраняване с 1 час или повече.Минутите винаги печатайте с 2
  35. //цифри, например “1:05”.
  36. // “mm minutes after the start” за закъснение под час.
  37. // “hh: mm hours after the start” за закъснение от 1 час или повече.Минутите винаги печатайте с 2 цифри,
  38. //например “1:03”.
  39. //11:15 -
  40.  
  41. var examStartHour = int.Parse(Console.ReadLine());
  42. var examStartMins = int.Parse(Console.ReadLine());
  43. var comingHour = int.Parse(Console.ReadLine());
  44. var comingMins = int.Parse(Console.ReadLine());
  45. string onTime = "On time ";
  46. string early = "Early ";
  47. string late = "late ";
  48. var hoursToMinsComeTime = (60 * comingHour);
  49. var minsToMinsComeTime = comingMins;
  50. var allMinsCome = (hoursToMinsComeTime + minsToMinsComeTime);
  51. var hoursToMinsStartTime = (60 * examStartHour);
  52. var minsToMinsStartTime = examStartMins;
  53. var allMinsStart = (hoursToMinsStartTime + minsToMinsStartTime);
  54. var hoursForSepLate = (allMinsCome - allMinsStart) / 60;
  55. var minsForSepLate = (allMinsCome - allMinsStart) % 60;
  56. var hoursForSepOnTime = (allMinsStart - allMinsCome) / 60;
  57. var minsForSepOnTime = (allMinsStart - allMinsCome) % 60;
  58. if (examStartHour >= 0 &&
  59. examStartHour < 24 &&
  60. examStartMins >= 0 &&
  61. examStartMins < 60 &&
  62. comingHour >= 0 &&
  63. comingHour < 24 &&
  64. comingMins >= 0 &&
  65. comingMins < 60)
  66. {
  67. if (allMinsStart >= allMinsCome)
  68. {
  69. if ((allMinsStart - allMinsCome) <= 30)
  70. {
  71. Console.Write(onTime);
  72. }
  73. if ((allMinsStart - allMinsCome) > 30)
  74. {
  75. Console.Write(early);
  76. }
  77. if ((allMinsStart - allMinsCome) < 60)
  78. {
  79. Console.WriteLine($"{minsForSepOnTime} minutes before the start");
  80. }
  81. if ((allMinsStart - allMinsCome) >= 60)
  82. {
  83. Console.WriteLine($"{hoursForSepOnTime}:{minsForSepOnTime:d2} hours before the start");
  84. }
  85. }
  86. if (allMinsStart < allMinsCome)
  87. {
  88. Console.Write(late);
  89. if ((allMinsCome-allMinsStart)<60)
  90. {
  91. Console.WriteLine($"{minsForSepLate:d2} minutes after the start");
  92. }
  93. if ((allMinsCome - allMinsStart) >= 60)
  94. {
  95. Console.WriteLine($"{hoursForSepLate}:{minsForSepLate:d2} hours after the start");
  96. }
  97. }
  98. }
  99. }
  100. }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement