Перегрузка оператора сложения - C# (199545)

Узнай цену своей работы

Формулировка задачи:

помогите пожалуйста создать перегрузку для + так чтоб секунды увеличивались на 1 класс програм
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication13
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите время");
            Console.WriteLine("Часы:");
            int Hours = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Минуты:");
            int Minutes = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("Секунды:");
            int Seconds = Convert.ToInt32(Console.ReadLine());
            var tim = new Time(Hours, Minutes, Seconds);

            Console.ReadKey();
        }
    }
}
класс тайм
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication13
{
    class Time
    {
        public Time(int Hours, int Minutes, int Seconds)
        {
            if (Hours > 23 || Hours < 0)
            {
                Console.WriteLine("Неверный формат времени(часов)");
            }
            if (Minutes > 59 || Minutes < 0)
            {
                Console.WriteLine("Неверный формат времени(минут)");
            }
            if (Seconds > 59 || Minutes < 0)
            {
                Console.WriteLine("Неверный формат времени(секунд)");
            }
            else
                Console.WriteLine("{0}:{1}:{2}", Hours, Minutes, Seconds);
        }
        public static Time operator +()
        {
            
        }
    }
}

Решение задачи: «Перегрузка оператора сложения»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace GROM32RUS
{
    class Program
    {
        static void Main(string[] args)
        {
            MyTime t1 = new MyTime(02, 02, 35);
            Console.WriteLine(t1);
            t1.EnSeconds(40);
            //t1++;
            Console.WriteLine(t1);
            Console.Read();
        }
    }
    class MyTime
    {
        public MyTime(int H, int M, int S)
        {
            Hours = H;
            Minutes = M;
            Seconds = S;
        }
        public int Seconds
        {
            get;
            private set;
        }
        public int Minutes
        {
            get;
            private set;
        }
        public int Hours
        {
            get;
            private set;
        }
        public static MyTime operator++(MyTime obj)
        {
            return new MyTime(obj.Hours, obj.Minutes, obj.Seconds + 1);
        }
        public void EnSeconds(int s)
        {
            Seconds += s;
            if (Seconds >= 60)
            {
                Seconds = Math.Abs(Seconds-60);
                Minutes++;
                if (Minutes >= 60)
                {
                    Hours++;
                    Minutes = 0;                   
                    Seconds = Math.Abs(Seconds - 60);
 
                    if (Hours >= 24)
                    {
                        Hours = 0;
                        Minutes = 0;
                        Seconds = Math.Abs(Seconds - 60);
                    }
                }
 
            }
        }
        public override string ToString()
        {
            return string.Format("{0:d2}:{1:d2}:{2:d2}", Hours, Minutes, Seconds);
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5
Похожие ответы