quang_cthoigian

Màu nền
Font chữ
Font size
Chiều cao dòng

using System;

using System.Collections.Generic;

using System.Text;

using System.Threading;

namespace lopthoigian

{

class CThoiGian

{

private int gio, phut, giay;

//THIET LAP

public int Giay

{

get { return giay; }

set { if(KiemTraGiay(value))

giay = value; }

}

public int Phut

{

get { return phut; }

set { if(KiemTraPhut(value))

phut = value; }

}

public int Gio

{

get { return gio; }

set { if(KiemTraGio(value))

gio = value; }

}

public bool KiemTraGio(int h)

{

return (h >= 0 && h <= 23);

}

public bool KiemTraPhut(int p)

{

return (p >= 0 && p <= 59);

}

public bool KiemTraGiay(int s)

{

return (s >= 0 && s <= 59);

}

public CThoiGian(int h, int p, int s)

{

if (!KiemTraGio(h) || !KiemTraPhut(p) || !KiemTraGiay(s))

{

gio = h;

phut = p;

giay = s;

}

}

public CThoiGian()

{

DateTime t = DateTime.Now;

gio = t.Hour;

phut = t.Minute;

giay = t.Second;

}

public CThoiGian(CThoiGian t)

{

gio = t.gio;

phut = t.phut;

giay = t.giay;

}

//KHOI TAO

public void KhoiTao()

{

gio = 12;

phut = 32;

giay = 52;

}

public bool KhoiTao(int h, int p, int s)

{

if (!KiemTraGio(h) || !KiemTraPhut(p) || !KiemTraGiay(s))

return false;

gio = h;

phut = p;

giay = s;

return true;

}

public void KhoiTao(int sogiay)

{

gio = sogiay / 3600;

phut = (sogiay % 3600) / 60;

giay = (sogiay % 3600) % 60;

}

public void KhoiTao(CThoiGian t)

{

gio = t.gio;

phut = t.phut;

giay = t.giay;

}

public void KhoiTaoHT()

{

DateTime t = DateTime.Now;

gio = t.Hour;

phut = t.Minute;

giay = t.Second;

}

//NHAP

public void PhatSinh()

{

Random rd = new Random();

gio = rd.Next(23)+1;

phut = rd.Next(59)+1;

giay = rd.Next(59)+1;

}

public void Nhap()

{

Console.Write("Nhap gio: ");

gio = int.Parse(Console.ReadLine());

Console.Write("Nhap phut: ");

phut = int.Parse(Console.ReadLine());

Console.WriteLine("nhap giay: ");

giay = int.Parse(Console.ReadLine());

}

public void Xuat()

{

Console.WriteLine("{0}:{1}:{2}", gio, phut, giay);

}

public void Xoa()

{

Console.Write("");

}

public int DoiSangGiay()

{

return (gio * 3600 + phut * 60 + giay);

}

//phuong thuc tang giam

public void TangGiay()

{

giay++;

if (giay > 59)

{

giay = 0;

phut++;

if (phut > 59)

{

phut = 0;

gio++;

if (gio > 23)

gio = 0;

}

}

}

public static CThoiGian operator --(CThoiGian t)

{

t.giay--;

if (t.giay < 0)

{

t.giay = 59;

t.phut--;

if (t.phut < 0)

{

t.phut = 59;

t.gio--;

if (t.gio < 0)

t.gio = 23;

}

}

return t;

}

public void TangKGiay(int k)

{

int sogiay = this.DoiSangGiay()+k;

KhoiTao(sogiay);

}

public static CThoiGian operator ++(CThoiGian t)

{

t.giay++;

if (t.giay > 59)

{

t.giay = 0;

t.phut++;

if (t.phut > 59)

{

t.phut = 0;

t.gio++;

if (t.gio > 23)

t.gio = 0;

}

}

return t;

}

public static CThoiGian operator +(CThoiGian t, int k)

{

int h=t.gio+(k/3600);

int p = t.phut + (k % 3600) / 60;

int s = t.giay + ((k % 3600) % 60) / 60;

return t;

}

public void ChayTang()

{

Console.CursorVisible = false;

while (KiemTraGiay(giay) || KiemTraGio(gio) || KiemTraGiay(giay))

{

TangGiay();

Xuat();

Thread.Sleep(1000);

Console.Clear();

}

}

public void ChayGiam()

{

Console.CursorVisible = false;

while (KiemTraGiay(giay) || KiemTraGio(gio) || KiemTraGiay(giay))

{

GiamGiay();

Xuat();

Thread.Sleep(1000);

Console.Clear();

}

}

public void GiamGiay()

{

giay--;

if (giay < 0)

{

giay = 59;

phut--;

if (phut < 0)

{

phut = 59;

gio--;

if (gio < 0)

gio = 23;

}

}

}

public static bool operator ==(cThoiGian t1, CThoiGian t2)

{

if (t1.DoiSangGiay() == t2.DoiSangGiay())

return true;

return false;

}

}

}

Bạn đang đọc truyện trên: Truyen2U.Pro