quang_cPhanSo

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

using System;

using System.Collections.Generic;

using System.Text;

namespace PhanSo

{

class cPhanSo

{

int tu, mau;

//Property

public int Tu

{

get { return tu; }

set { tu = value; }

}

public int Mau

{

get { return mau; }

set

{

if (KTMauSo(value))

mau = value;

}

}

//Nhom khoi tao

public bool Nhap()

{

int m;

Console.Write("Nhap tu so: ");

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

Console.Write("Nhap mau so: ");

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

if (KTMauSo(m) == false)

return false;

mau = m;

return true;

}

public void PhatSinh()

{

Random rd = new Random();

tu = rd.Next(1, 100);

mau = rd.Next(1, 100);

}

public void KhoiTao()

{

tu = mau = 1;

}

public bool KhoiTao(int t, int m)

{

if (KTMauSo(m) == false)

return false;

tu = t;

mau = m;

return true;

}

public void KhoiTao(cPhanSo ps)

{

tu = ps.tu;

mau = ps.mau;

}

public cPhanSo()

{

tu = mau = 1;

}

public cPhanSo(int t, int m)

{

if (KTMauSo(m))

{

tu = t;

mau = m;

}

}

public cPhanSo(cPhanSo ps)

{

tu = ps.tu;

mau = ps.mau;

}

//Nhom kiem tra rang buoc

public bool KTMauSo(int m)

{

return m != 0;

}

//Nhom cap nhat

public int USCLN(int a, int b)

{

if (a == 0 || b == 0)

return a + b;

while (a != b)

{

if (a > b)

a -= b;

else

b -= a;

}

return a;

}

public int BSCNN(int a, int b)

{

return (a * b) / USCLN(a, b);

}

public void RutGon()

{

int uscln;

if (tu <= 0 && mau < 0)

{

tu = -tu;

mau = -mau;

}

if (tu >= 0 && mau > 0)

{

uscln = USCLN(tu, mau);

tu /= uscln;

mau /= uscln;

}

if (tu >= 0 && mau < 0)

{

uscln = USCLN(tu, - mau);

tu /= uscln;

mau /= uscln;

}

if (tu < 0 && mau > 0)

{

uscln = USCLN(-tu, mau);

tu /= uscln;

mau /= uscln;

}

if (mau < 0)

{

tu = -tu;

mau = -mau;

}

}

//Nhom cung cap thong tin

public void Xuat()

{

Console.Write("{0}/{1}", tu, mau);

}

//Nhom xu ly tinh toan

public cPhanSo Cong(cPhanSo ps2)

{

cPhanSo tong = new cPhanSo();

this.RutGon();

ps2.RutGon();

int bscnn = BSCNN(mau, ps2.mau);

tong.tu = (bscnn / mau) * tu + (bscnn / ps2.mau) * ps2.tu;

tong.mau = bscnn;

tong.RutGon();

return tong;

}

public cPhanSo Tru(cPhanSo ps2)

{

cPhanSo hieu = new cPhanSo();

this.RutGon();

ps2.RutGon();

int bscnn = BSCNN(mau, ps2.mau);

hieu.tu = (bscnn / mau) * tu - (bscnn / ps2.mau) * ps2.tu;

hieu.mau = bscnn;

hieu.RutGon();

return hieu;

}

public cPhanSo Nhan(cPhanSo ps2)

{

cPhanSo tich = new cPhanSo();

this.RutGon();

ps2.RutGon();

tich.tu = tu * ps2.tu;

tich.mau = mau * ps2.mau;

tich.RutGon();

return tich;

}

public cPhanSo Chia(cPhanSo ps2)

{

cPhanSo thuong = new cPhanSo();

this.RutGon();

ps2.RutGon();

thuong.tu = tu * ps2.mau;

thuong.mau = mau * ps2.tu;

thuong.RutGon();

return thuong;

}

public bool LonHon(cPhanSo ps2)

{

this.RutGon();

ps2.RutGon();

int bsc = BSCNN(mau, ps2.mau);

return ((bsc / mau) * tu) > ((bsc / ps2.mau) * ps2.tu);

}

public bool NhoHon(cPhanSo ps2)

{

this.RutGon();

ps2.RutGon();

int bsc = BSCNN(mau, ps2.mau);

return ((bsc / mau) * tu) < ((bsc / ps2.mau) * ps2.tu);

}

public bool Bang(cPhanSo ps2)

{

this.RutGon();

ps2.RutGon();

int bsc = BSCNN(mau, ps2.mau);

return ((bsc / mau) * tu) == ((bsc / ps2.mau) * ps2.tu);

}

public static cPhanSo operator +(cPhanSo ps1, cPhanSo ps2)

{

cPhanSo tong = new cPhanSo();

ps1.RutGon();

ps2.RutGon();

int bscnn = tong.BSCNN(ps1.mau, ps2.mau);

tong.tu = (bscnn / ps1.mau) * ps1.tu + (bscnn / ps2.mau) * ps2.tu;

tong.mau = bscnn;

tong.RutGon();

return tong;

}

public static cPhanSo operator -(cPhanSo ps1, cPhanSo ps2)

{

cPhanSo hieu = new cPhanSo();

ps1.RutGon();

ps2.RutGon();

int bscnn = hieu.BSCNN(ps1.mau, ps2.mau);

hieu.tu = (bscnn / ps1.mau) * ps1.tu - (bscnn / ps2.mau) * ps2.tu;

hieu.mau = bscnn;

hieu.RutGon();

return hieu;

}

public static cPhanSo operator *(cPhanSo ps1, cPhanSo ps2)

{

cPhanSo tich = new cPhanSo();

ps1.RutGon();

ps2.RutGon();

tich.tu = ps1.tu * ps2.tu;

tich.mau = ps1.mau * ps2.mau;

tich.RutGon();

return tich;

}

public static cPhanSo operator / (cPhanSo ps1, cPhanSo ps2)

{

cPhanSo thuong = new cPhanSo();

ps1.RutGon();

ps2.RutGon();

thuong.tu = ps1.tu * ps2.mau;

thuong.mau = ps1.mau * ps2.tu;

thuong.RutGon();

return thuong;

}

public static bool operator >(cPhanSo ps1, cPhanSo ps2)

{

ps1.RutGon();

ps2.RutGon();

int bsc = ps1.BSCNN(ps1.mau, ps2.mau);

return (bsc / ps1.mau) * ps1.tu > (bsc / ps2.mau) * ps2.tu;

}

public static bool operator <(cPhanSo ps1, cPhanSo ps2)

{

ps1.RutGon();

ps2.RutGon();

int bsc = ps1.BSCNN(ps1.mau, ps2.mau);

return (bsc/ps1.mau)*ps1.tu < (bsc/ps2.mau) *ps2.tu;

}

public static bool operator ==(cPhanSo ps1, cPhanSo ps2)

{

ps1.RutGon();

ps2.RutGon();

int bsc = ps1.BSCNN(ps1.mau, ps2.mau);

return ((bsc / ps1.mau) * ps1.tu) == ((bsc / ps2.mau) * ps2.tu);

}

public static bool operator !=(cPhanSo ps1, cPhanSo ps2)

{

ps1.RutGon();

ps2.RutGon();

int bsc = ps1.BSCNN(ps1.mau, ps2.mau);

return ((bsc / ps1.mau) * ps1.tu) != ((bsc / ps2.mau) * ps2.tu);

}

}

}

===================================================================================

namespace PhanSo

{

class Program

{

static void Main(string[] args)

{

cPhanSo ps = new cPhanSo();

cPhanSo ps2 = new cPhanSo();

//cPhanSo tong = new cPhanSo();

//cPhanSo hieu = new cPhanSo();

//cPhanSo tich = new cPhanSo();

//cPhanSo thuong = new cPhanSo();

ps.Nhap();

ps.Xuat();

Console.WriteLine("");

Console.WriteLine("nhap ps 2: ");

ps2.Nhap();

ps2.Xuat();

Console.WriteLine("");

if(ps>ps2)

{

ps.Xuat();

Console.Write(" > ");

ps2.Xuat();

}

Console.WriteLine("");

if (ps<ps2)

{

ps.Xuat();

Console.Write(" < ");

ps2.Xuat();

}

Console.WriteLine("");

if (ps==ps2)

{

ps.Xuat();

Console.Write(" = ");

ps2.Xuat();

}

//tong = ps + ps2;

//Console.Write("tong la: ");

//tong.Xuat();

//Console.ReadLine();

// hieu = ps - ps2;

//Console.Write("hieu la: ");

//hieu.Xuat();

//Console.ReadLine();

//tich = ps * ps2;

//Console.Write("tich la:");

//tich.Xuat();

//Console.ReadLine();

//thuong = ps / ps2;

//Console.Write("thuong la: ");

//thuong.Xuat();

//Console.ReadLine();

}

}

}

======================================================

the end

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