Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2012, 17:38   #1
StasikBlond
 
Регистрация: 11.05.2011
Сообщений: 3
Вопрос Класс для представления времени

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

Вот то,что получилось у меня. Помогите,пожалуйста,исправить ошибки. Проблема с вводом нового времени

Код:
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();
        }


        public void minuti()
        {
            DateTim dat1 = new DateTim();
            Console.WriteLine("Нажмите enter,чтобы изменить минуты");
            Console.ReadKey();
            int t = 5;
            dat1.minute = dat1.minute + t;
            Console.WriteLine("Новое время" + dat1.hour + ":" + dat1.minute + ":" + dat1.second);
            Console.ReadKey();
        }

        public void secundi()
        {
            DateTim dat1 = new DateTim();
            Console.WriteLine("Нажмите enter,чтобы изменить часы");
            Console.ReadKey();
            int y = 5;
            dat1.second = dat1.second + y;
            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.Ввод времени 3.Меняем часы 4.Меняем минуты 5.Меняем секунды");
            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;
                case 3:
                    dat1.chasy();
                    break;
                case 4:
                    dat1.minuti();
                    break;
                case 5:
                    dat1.secundi();
                    break;
                default:
                    Console.WriteLine("Неправильная цмферка. Выберите 1, 2, 3, 4, 5.");
                    break;
            }
        }
    }
}
StasikBlond вне форума Ответить с цитированием
Старый 11.01.2012, 05:16   #2
Adyvan
Пользователь
 
Регистрация: 15.01.2011
Сообщений: 24
По умолчанию

А тебе тупо выводить на экран занные измененного времени или в системе время менять?
Adyvan вне форума Ответить с цитированием
Старый 11.01.2012, 11:54   #3
k1moshka
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 16
По умолчанию

я бы так сделал
Код:
case 2:
string[] time = Console.ReadLine().Split(':');
datl.Hour = Convert.ToInt32(time[0]);
//... ну и так далее
break;
Проверку на правильность времени сам замутишь
k1moshka вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Класс для представления телефонного справочника Армана Помощь студентам 7 08.04.2012 06:57
как создать класс для ввода времени kireev Помощь студентам 0 18.01.2010 17:14
Просто формула для перевода буквенного представления адерса столбца в число. grenles Microsoft Office Excel 1 21.09.2009 15:33
сайт для представления объявлений Siroga35 Свободное общение 0 15.03.2009 19:58