Составить описание класса для представления времени. Ошибка - C#
Формулировка задачи:
Составить описание класса для представления времени.
Предусмотреть возможности установки времени и изменения его
отдельных полей (час, минута, секунда) с проверкой допустимости
вводимых значений. В случае недопустимых значений полей
выбрасываются исключения. Создать методы изменения времени на
заданное количество часов, минут и секунд.
Написать программу, демонстрирующую все разработанные
элементы класса.
Не работает изменение нового времени
using System; namespace ConsoleApplication27 { class DateTim { public int hour; public int minute; public int second; public void chasy() { DateTim dat1 = new DateTim(); Console.WriteLine("Нажмите enter,чтобы изменить часы"); Console.ReadKey(); int r = 5; dat1.hour = dat1.hour + r; Console.WriteLine("Новое время" + dat1.hour + ":" + dat1.minute + ":" + dat1.second); Console.ReadKey(); } } class Program { static void Main(string[] args) { DateTim dat1 = new DateTim(); Console.WriteLine("Что будем делать: 1.Вывести текущее время 2.Ввод времени"); Console.Write("Введите цифру: "); string s = Console.ReadLine(); int n = int.Parse(s); switch (n) { case 1: String current_time_str = DateTime.Now.ToString("HH:mm:ss"); Console.WriteLine(current_time_str); Console.ReadKey(); break; case 2: Console.WriteLine("Введите новое время в формате hh:mm:ss", dat1.hour, dat1.minute, dat1.second); Console.ReadLine(); if (dat1.hour <= 24 & dat1.minute <= 59 & dat1.second <= 59) { Console.WriteLine("Введенное время - " + dat1.hour + ":" + dat1.minute + ":" + dat1.second); Console.ReadKey(); } break; } } } }
Решение задачи: «Составить описание класса для представления времени. Ошибка»
textual
Листинг программы
public class MyDateTime { int Hour; int Minute; int Second; public void SetHour(int hour) { Hour = hour; } public void SetMinute(int minute) { Minute = minute; } public void SetSecond(int second) { Second = second; } public void SetTime(int hour, int minute, int second) { SetHour(hour); SetMinute(minute); SetSecond(second); } public string ShowTime() { return "На моих часах время: " + Hour + ":" + Minute + ":" + Second; } } internal class Program { private static void Main(string[] args) { string s = ""; Console.WriteLine("Программа 'Время'"); var myTime = new MyDateTime(); while (s != "0") { Console.WriteLine(); Console.WriteLine("1. Вывести текущее время"); Console.WriteLine("2. Ввод времени"); Console.WriteLine("3. Показать время"); Console.WriteLine("0. Выход"); Console.Write("Введите цифру: "); s = Console.ReadLine(); if (s != "1" && s != "2" && s != "3" && s != "0") { Console.Write("Неправильный ввод"); continue; } Console.WriteLine(); int n = int.Parse(s); switch (n) { case 1: String current_time_str = DateTime.Now.ToString("HH:mm:ss"); Console.WriteLine("Текущее время " + current_time_str); break; case 2: Console.WriteLine("Введите новое время в формате hh:mm:ss"); var newTime = Console.ReadLine(); var newTimeArray = newTime.Split(':'); // возможен null // Можно все проверить на корректность через TryParse var hour = Int32.Parse(newTimeArray[0]); var minute = Int32.Parse(newTimeArray[1]); var second = Int32.Parse(newTimeArray[2]); if (hour <= 24 & minute <= 59 & second <= 59) { myTime.SetTime(hour, minute, second); Console.WriteLine("Окей, запомнил"); } else Console.WriteLine("Такого времени не бывает!"); break; case 3: Console.WriteLine(myTime.ShowTime()); break; } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д