Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/100: Рейтинг темы: голосов - 100, средняя оценка - 4.55
0 / 0 / 2
Регистрация: 26.09.2010
Сообщений: 54

Составить описание класса для представления времени

12.10.2010, 16:20. Показов 20735. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как записать в C#,просто только начал изучать этот язык,а разобраться никак не могу.Вот прога:

Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час, минута, секунда) с проверкой допустимости вводимых значений. В случае недопустимых значений полей выбрасываются исключения. Создать методы изменения времени на заданное количество часов, минут и секунд.
Написать программу, демонстрирующую все разработанные элементы класса.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.10.2010, 16:20
Ответы с готовыми решениями:

Составить описание класса для представления времени
Здравствуйте. Я новичек в программирование. Задали задание, никак не могу разобраться, помогите пожалуйста. Составить описание класса для...

Составить описание класса для представления времени
Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час,...

Составить описание класса для представления времени
Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных полей (час,...

15
61 / 60 / 10
Регистрация: 11.08.2010
Сообщений: 199
12.10.2010, 16:22
Посмотрите на структуру DateTime и... сделайте такой же класс)
0
0 / 0 / 2
Регистрация: 26.09.2010
Сообщений: 54
12.10.2010, 17:10  [ТС]
Цитата Сообщение от _Sergei_ Посмотреть сообщение
Посмотрите на структуру DateTime и... сделайте такой же класс)
Какой клас?
0
 Аватар для chackra
3 / 3 / 0
Регистрация: 27.01.2010
Сообщений: 10
12.10.2010, 22:08
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
   class TimeExcepts: Exception
        {
            public override string  Message
            {
                get 
                { 
                     return "Ошибка изменения значений времени.";
                }
            }
        }
        class HoursExcept: TimeExcepts
        {
            public override string  Message
            {
                get 
                { 
                     return base.Message + " Вы ввели недопустимое значение для переменной Часы.";
                }
            }
        }
        class MinutesExcept: TimeExcepts
        {
            public override string  Message
            {
                get 
                { 
                     return base.Message + " Вы ввели недопустимое значение для переменной Минуты.";
                }
            }
        }
        class SecondsExcept: TimeExcepts
        {
            public override string  Message
            {
                get 
                { 
                     return base.Message + " Вы ввели недопустимое значение для переменной Секунды.";
                }
            }
        }
        class Time
        { 
            private int hours=0;
            private int minuts=0;
            private int seconds=0;
            public Time(int hours, int minuts, int seconds)
            {
                SetTime(hours, minuts, seconds);
            }
            public Time() { }
            public int Hours
            { 
                get{return hours;}
                set
                {
                    if (value > 59 || value < 0)
                        throw new HoursExcept();
                    else hours = value;
                }
            }
            public int Minutes
            {
                get { return minuts; }
                set
                {
                    if (value > 59 || value < 0)
                        throw new MinutesExcept();
                    else minuts = value;
                }
            }
            public int Seconds
            {
                get { return seconds; }
                set
                {
                    if (value > 59 || value < 0)
                        throw new SecondsExcept();
                    else seconds = value;
                }
            }
            public void SetTime(int hours, int minuts, int seconds)
            {
                Hours = hours;
                Minutes = minuts;
                Seconds = seconds;
            }
        }
Использование ...:
C#
1
2
3
4
5
6
7
8
9
            Time t = new Time(24, 56, 34);
            try
            {
                t.SetTime(61, 10, 5);
            }
            catch (TimeExcepts e)
            {
                Console.WriteLine(e.Message);
            }
2
0 / 0 / 0
Регистрация: 23.12.2010
Сообщений: 5
12.12.2011, 23:04
киньте плиз нормальную рабочую программу ))) а то не понятно...
0
0 / 0 / 0
Регистрация: 11.12.2011
Сообщений: 13
13.12.2011, 01:26
А если рабочую прогу кинуть, сразу понятно станет?
0
0 / 0 / 0
Регистрация: 11.04.2012
Сообщений: 13
12.04.2012, 05:52
да) напишите весь код С# целиком начиная от namespace
0
22 / 22 / 9
Регистрация: 08.03.2011
Сообщений: 155
19.06.2012, 21:57
А совместить в программу можно?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
20.06.2012, 07:34
Цитата Сообщение от orif Посмотреть сообщение
А совместить в программу можно?
Да, можно.
0
22 / 22 / 9
Регистрация: 08.03.2011
Сообщений: 155
20.06.2012, 20:32
Подскажите как?
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
21.06.2012, 08:28
Создать в проекте файл - Time.cs.
Скопировать то что привел chackra в этот файл.
Обрамить содержимое Time.cs фигурными скобками с указанием namespace.

А потом использовать там где нужно, например в главном методе Main.
0
Неадекват
 Аватар для freeba
1501 / 1237 / 248
Регистрация: 02.04.2010
Сообщений: 2,807
21.06.2012, 10:27
Еще одна странная задача. В DateTime есть весь необходимый функционал. Но если бы пришлось делать такой класс имхо проще сделать обертку над DateTime.
Вот как-то так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
using System;
 
namespace DT
{
    class Time
    {
        DateTime time;
 
        public Time(int h, int m, int s)
        {
            if (!DateTime.TryParse(string.Format("{0}:{1}:{2}", h, m, s), out time)) throw new ArgumentException();
        }
 
        public void AddHour(int hour)
        {
            time = time.AddHours(hour);
        }
 
        public void AddMinutes(int minutes)
        {
            time = time.AddMinutes(minutes);
        }
 
        public void AddSecond(int second)
        {
            time = time.AddSeconds(second);
        }
 
        public override string ToString()
        {
            return time.ToLongTimeString();
        }
 
    }
 
    class Program
    {
        
        static void Main(string[] args)
        {
            Time t = new Time(10, 12, 5);
            Console.WriteLine(t.ToString());
            t.AddHour(2);
            t.AddMinutes(50);
            t.AddSecond(120);
            Console.WriteLine(t.ToString());
            Console.ReadKey(true);
        }
    }
}
1
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 14
24.01.2013, 04:04
Цитата Сообщение от orif Посмотреть сообщение
Подскажите как?
да вот так
только переделал немного - сделал чуть проще
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication18
{
    class Program
    {
        class TimeExcepts : Exception
        {
            public override string Message
            {
                get
                {
                    return "Ошибка изменения значений времени.";
                }
            }
        }
        class HoursExcept : TimeExcepts
        {
            public override string Message
            {
                get
                {
                    return base.Message + " Вы ввели недопустимое значение для переменной Часы.";
                }
            }
        }
        class MinutesExcept : TimeExcepts
        {
            public override string Message
            {
                get
                {
                    return base.Message + " Вы ввели недопустимое значение для переменной Минуты.";
                }
            }
        }
        class SecondsExcept : TimeExcepts
        {
            public override string Message
            {
                get
                {
                    return base.Message + " Вы ввели недопустимое значение для переменной Секунды.";
                }
            }
        }
        class Time
        {
            private int hours = 0;
            private int minuts = 0;
            private int seconds = 0;
            public Time(int hours, int minuts, int seconds)
            {
                SetTime(hours, minuts, seconds);
            }
            public Time() { }
            public int Hours
            {
                get { return hours; }
                set { hours = value; }
            }
            public int Minutes
            {
                get { return minuts; }
                set { minuts = value; }
            }
            public int Seconds
            {
                get { return seconds; }
                set { seconds = value; }
                
            }
            public void SetTime(int hours, int minuts, int seconds)
            {
                Hours = hours;
                Minutes = minuts;
                Seconds = seconds;
            }
        }
        static void Main(string[] args)
        {
            Time t = new Time(24, 0, 0);
            try
            {
                t.SetTime(12, 10, 5);
            }
            catch (TimeExcepts e)
            {
                Console.WriteLine(e.Message);
            }
        }
    }
}
если изменить значения в строке
C#
1
Time t = new Time(24, 0, 0);
то тогда будет выводить ошибку
0
1 / 1 / 0
Регистрация: 01.02.2015
Сообщений: 16
18.02.2015, 15:12
Объясните как работает код. Программу кампилирует без ошибок, но времени не выводит, я понимаю что это я дурак, а не лыжи не едут, но всёже)
0
484 / 439 / 123
Регистрация: 05.01.2010
Сообщений: 1,848
18.02.2015, 17:32
и если кидать свои собственные исключения, то я бы названия классов типа TimeExcepts заменил на полное значение TimeException и т.д.
0
1 / 1 / 0
Регистрация: 01.02.2015
Сообщений: 16
19.02.2015, 15:01
Я так понимаю код последнего поста даёт значения времени, которые заданы внутри программы, а как сделать чтобы значения считывались с клавиатуры? Ну тоесть, чтобы вводилось время с клавиатуры, а не задавалось в программе, но проверки, которые есть в программе также выполнялись.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.02.2015, 15:01
Помогаю со студенческими работами здесь

Составить описание класса для представления времени
Составить описание класса для представления времени в 24-часовом формате. Разработать методы установки даты и отдельных ее полей (часы,...

Составить описание класса для представления времени. Ошибка
Составить описание класса для представления времени. Предусмотреть возможности установки времени и изменения его отдельных...

Составить описание класса для представления даты
элементы: скрытые поля, конструкторы с параметрами и без параметров, методы, свойства. Методы и свойства должны обеспечивать...

Составить описание класса для представления даты
Составить описание класса для представления даты. Предусмотреть возможности установки даты и изменения ее отдельных полей (год, месяц,...

Составить описание класса для представления даты
Составить описание класса для представления даты. Предусмотреть возможности установки даты и изменения ее отдельных полей (год, месяц,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru