Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 85
1

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

24.02.2015, 21:55. Показов 2498. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Составить описание класса для представления времени.
Предусмотреть возможности установки времени и изменения его
отдельных полей (час, минута, секунда) с проверкой допустимости
вводимых значений. В случае недопустимых значений полей
выбрасываются исключения. Создать методы изменения времени на
заданное количество часов, минут и секунд.
Написать программу, демонстрирующую все разработанные
элементы класса.
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
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;
             
            }
        }
    }
}
Не работает изменение нового времени
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2015, 21:55
Ответы с готовыми решениями:

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

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

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

Составить описание класса для представления времени
Составить описание класса для представления времени. Предусмотреть возможности установки времени и...

5
18 / 18 / 9
Регистрация: 21.02.2015
Сообщений: 81
25.02.2015, 06:00 2
C#
1
2
Console.WriteLine("Введите новое время в формате hh:mm:ss", dat1.hour, dat1.minute, dat1.second);
Console.ReadLine();
В этих строчках вы ничего, никуда не считываете.
0
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 85
25.02.2015, 07:47  [ТС] 3
Цитата Сообщение от DviiK Посмотреть сообщение
Код C#
1
2
Console.WriteLine("Введите новое время в формате hh:mm:ss", dat1.hour, dat1.minute, dat1.second);
Console.ReadLine();
В этих строчках вы ничего, никуда не считываете.
так вы смотрите ещё и код ниже
0
18 / 18 / 9
Регистрация: 21.02.2015
Сообщений: 81
25.02.2015, 08:39 4
Лучший ответ Сообщение было отмечено passkrin как решение

Решение

Ниже вы проверяете данные, которые нигде не присваеваете. Они всегда равны нулю.

Добавлено через 14 минут
Посмотрите внимательно как нужно считывать данные с консоли!

C#
1
2
3
4
5
6
                    Console.WriteLine("Введите новое время в формате hh:mm:ss");
                    var newTime = Console.ReadLine();
                    var newTimeArray = newTime.Split(':'); // возможен null
                    dat1.hour = Int32.Parse(newTimeArray[0]);
                    dat1.minute = Int32.Parse(newTimeArray[1]);
                    dat1.second = Int32.Parse(newTimeArray[2]);
1
0 / 0 / 0
Регистрация: 21.10.2013
Сообщений: 85
25.02.2015, 08:44  [ТС] 5
Цитата Сообщение от DviiK Посмотреть сообщение
Ниже вы проверяете данные, которые нигде не присваеваете. Они всегда равны нулю.
а, точно. прошу прощения
можете помочь с присвоением? хотя бы один пример

Добавлено через 4 минуты
Благодарю!
0
18 / 18 / 9
Регистрация: 21.02.2015
Сообщений: 81
25.02.2015, 09:26 6
Лучший ответ Сообщение было отмечено passkrin как решение

Решение

Немножко улучшил ваш код

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
    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;
                }
            }
        }
    }
1
25.02.2015, 09:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.02.2015, 09:26
Помогаю со студенческими работами здесь

Составить описание класса для представления времени
Составить описание класса для представления времени. Предусмотреть возможности установки времени и...

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

Составить описание класса для представления даты
Задание: Составить описание класса для представления даты. Предусмотреть возможности установки даты...

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


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru