Cộng, trừ, nhân, chia 2 phân số tối giản....


Diễn đàn chia sẻ kiến thức, kinh nghiệm về IT và cuộc sống!
 
Trang ChínhGalleryTìm kiếmLatest imagesĐăng kýĐăng Nhập
Top posters
Sakura (1124)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
hotboy (705)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
Già Làng (373)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
con_ca_nho90 (289)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
that_true (154)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
theanhkkt (143)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
phamay (137)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
lovelonelyman (134)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
o0ovioletstaro0o (128)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
stevenhung (122)
Cộng, trừ, nhân, chia 2 phân số tối giản.... Vote_lcapCộng, trừ, nhân, chia 2 phân số tối giản.... Voting_barCộng, trừ, nhân, chia 2 phân số tối giản.... Vote_rcap 
Âm - Dương lịch
Clock
Logo
11TH02 Pro!
Liên kết
Tin tức 60s
Tin công nghệ
Thời sự 24h
Game Moblie

Share
 

 Cộng, trừ, nhân, chia 2 phân số tối giản....

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Già Làng

Cộng, trừ, nhân, chia 2 phân số tối giản.... Stars14
Già Làng

Thú CƯng : Cộng, trừ, nhân, chia 2 phân số tối giản.... I-hate-Cats-icon
Nam Libra

Số bài viết : 373
Điểm : 2200708
Được cảm ơn : 53
Ngày sinh : 20/10/1987
Tham gia ngày : 16/03/2010
Tuổi : 36
Đến từ : Bình Dương
Ngề nghiệp : Sinh Viên
Chăm ngôn : Cơm Cha - Áo Mẹ!

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime16/10/2010, 02:19

Cộng, trừ, nhân, chia 2 phân số tối giản đây!!! Mại dô mại dô!!! Very Happy Very Happy Very Happy Very Happy
Code:
using System;
using System.Collections.Generic;
using System.Text;
namespace class_phan_so
{
    public class PHANSO
    {
        int tu;
        int mau;
        public PHANSO()
        {
            this.tu = 0;
            this.mau = 1;
        }
        public PHANSO(int ts, int ms)
        {
            this.tu = ts / UCLN(ts, ms);
            this.mau = ms / UCLN(ts, ms);
        }
        private int UCLN(int a, int b)
        {
            Math.Abs(a);
            Math.Abs(b);
            while (a != 0 && b != 0)
                if (a > b)
                    a -= b;
                else
                    b -= a;
            return a;


        }
        public void inPHANSO()
        {
            Console.Write("{0} / {1}", this.tu, this.mau);
        }
     
        public PHANSO CongPS(PHANSO ps1, PHANSO ps2)
        {
            int UC;
            PHANSO temp = new PHANSO();
            temp.tu = ps1.tu * ps2.mau + ps1.mau * ps2.tu;
            temp.mau = ps1.mau * ps2.mau;
            UC = UCLN(temp.tu, temp.mau);
            temp.tu = temp.tu / UC;
            temp.mau = temp.mau / UC;
            return temp;
        }
        public PHANSO Hieu(PHANSO ps1, PHANSO ps2)
        {
            int UC;
            PHANSO temp = new PHANSO();
            temp.tu = ps1.tu * ps2.mau - ps1.mau * ps2.tu;
            temp.mau = ps1.mau * ps2.mau;
            UC = UCLN(Math.Abs(temp.tu), Math.Abs(temp.mau));
            temp.tu = temp.tu / UC;
            temp.mau = temp.mau / UC;
            return temp;

        }
        public PHANSO Nhan(PHANSO ps1, PHANSO ps2)
        {
            int UC;
            PHANSO temp = new PHANSO();
            temp.tu = ps1.tu * ps2.tu;
            temp.mau = ps1.mau * ps2.mau;
            UC = UCLN(temp.tu, temp.mau);
            temp.tu = temp.tu / UC;
            temp.mau = temp.mau / UC;
            return temp;
        }
        public PHANSO Thuong(PHANSO ps1, PHANSO ps2)
        {
            int UC;
            PHANSO temp = new PHANSO();
            temp.tu = ps1.tu * ps2.mau;
            temp.mau = ps1.mau * ps2.tu;
            UC = UCLN(temp.tu, temp.mau);
            temp.tu = temp.tu / UC;
            temp.mau = temp.mau / UC;
            return temp;
        }
       

        public class Tester
        {
            static void Main()
            {
                int tu, mau,n;
                Console.WriteLine("Nhap vao phan so 1:\n");
                Console.Write("\tNhap tu: ");
                tu = int.Parse(Console.ReadLine());
                Console.Write("\tNhap mau: ");
                mau = int.Parse(Console.ReadLine());
                Console.WriteLine("Phan so thu 1 vua nhap la: " + tu + "/" + mau);
                PHANSO ps1 = new PHANSO(tu, mau);
                Console.WriteLine("\nNhap vao phan so 2:\n");
                Console.Write("\tNhap tu: ");
                tu = int.Parse(Console.ReadLine());
                Console.Write("\tNhap mau: ");
                mau = int.Parse(Console.ReadLine());
                Console.WriteLine("Phan so thu 2 vua nhap la: " + tu + "/" + mau);
                PHANSO ps2 = new PHANSO(tu, mau);
                PHANSO kq = new PHANSO();
                Console.WriteLine("\nTong 2 phan so");
                kq = kq.CongPS(ps1, ps2);
                ps1.inPHANSO();
                Console.Write(" + ");
                ps2.inPHANSO();
                Console.Write(" = ");
                kq.inPHANSO();
                Console.WriteLine("\n\nHieu 2 phan so");
                kq = kq.Hieu(ps1, ps2);
                ps1.inPHANSO();
                Console.Write(" - ");
                ps2.inPHANSO();
                Console.Write(" = ");
                kq.inPHANSO();
                Console.WriteLine("\n\nTich 2 phan so");
                kq = kq.Nhan(ps1, ps2);
                ps1.inPHANSO();
                Console.Write(" x ");
                ps2.inPHANSO();
                Console.Write(" = ");
                kq.inPHANSO();
                Console.WriteLine("\n\nThuong 2 phan so");
                kq = kq.Thuong(ps1, ps2);
                ps1.inPHANSO();
                Console.Write(" : ");
                ps2.inPHANSO();
                Console.Write(" = ");
                kq.inPHANSO();
                Console.ReadLine();
            }
        }
    }
}
Về Đầu Trang Go down
https://itworld.forumvi.net
GGGG

Cộng, trừ, nhân, chia 2 phân số tối giản.... Stars16


Nam Pisces

Số bài viết : 11
Điểm : 14
Được cảm ơn : 0
Ngày sinh : 15/03/1989
Tham gia ngày : 16/10/2010
Tuổi : 35
Đến từ : AL

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime16/10/2010, 10:51

Góp ý cho bạn 1 xíu nha!
Hàm USCLN, bạn không nên để trong class PhanSo, nó phải thuộc 1 lớp nào đó, PhanSo chỉ sử dụng hàm này để tính toán thôi.
Fix thêm trường hợp, ví dụ, bạn nhập tử = 0; mẫu = 1, thử xem ==> hàm USCLN trả về 0, và phần tối giản của bạn bị sai.
Bạn nên Overload các toán tử + - * / lên, như vậy sẽ hay hơn.
Bạn nên tách class phân số ra 1 file ***.cs mới, tránh để chung với namespace chứa hàm Main.
Bạn nên Override phương thức ToString() lên để thay cho hàm InPhanSo.
Phần khởi tạo có tham số, bạn nên tôn trọng đầu vào của bài toán, ko nên tự tiện tối giản trong đó!
....

1 ít góp ý, mong bạn sẽ hoàn thiện hơn!
Về Đầu Trang Go down
.net

Cộng, trừ, nhân, chia 2 phân số tối giản.... Stars16


Nữ Capricorn

Số bài viết : 14
Điểm : 12
Được cảm ơn : 0
Ngày sinh : 11/01/1989
Tham gia ngày : 11/10/2010
Tuổi : 35
Đến từ : sần

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime16/10/2010, 15:12

già làng cày kinh quá! thôi mien
nhưng vẫn không theo hướng đối tượng!
đừng mang theo tư tưởng C vào bài làm nữa!
học OOP rồi mà Very Happy
còn lại chỉ là test lỗi và dùng try ... catch thôi! không có gì mới Razz
Tặng ông cái này
Code:

public static PHANSO operator +(PHANSO a, PHANSO b)
public static PHANSO operator -(PHANSO a, PHANSO b)
public static PHANSO operator *(PHANSO a, PHANSO b)
public static PHANSO operator /(PHANSO a, PHANSO b)
Về Đầu Trang Go down
Già Làng

Cộng, trừ, nhân, chia 2 phân số tối giản.... Stars14
Già Làng

Thú CƯng : Cộng, trừ, nhân, chia 2 phân số tối giản.... I-hate-Cats-icon
Nam Libra

Số bài viết : 373
Điểm : 2200708
Được cảm ơn : 53
Ngày sinh : 20/10/1987
Tham gia ngày : 16/03/2010
Tuổi : 36
Đến từ : Bình Dương
Ngề nghiệp : Sinh Viên
Chăm ngôn : Cơm Cha - Áo Mẹ!

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime16/10/2010, 17:17

sorry!! Hướng đối tượng đi học ít nên hok rành!!kekeke. Đang ngâm lần lần nè!!!
Về Đầu Trang Go down
https://itworld.forumvi.net
Già Làng

Cộng, trừ, nhân, chia 2 phân số tối giản.... Stars14
Già Làng

Thú CƯng : Cộng, trừ, nhân, chia 2 phân số tối giản.... I-hate-Cats-icon
Nam Libra

Số bài viết : 373
Điểm : 2200708
Được cảm ơn : 53
Ngày sinh : 20/10/1987
Tham gia ngày : 16/03/2010
Tuổi : 36
Đến từ : Bình Dương
Ngề nghiệp : Sinh Viên
Chăm ngôn : Cơm Cha - Áo Mẹ!

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime16/10/2010, 17:21

ToYeuCau đã viết:
Góp ý cho bạn 1 xíu nha!
Hàm USCLN, bạn không nên để trong class PhanSo, nó phải thuộc 1 lớp nào đó, PhanSo chỉ sử dụng hàm này để tính toán thôi.
Fix thêm trường hợp, ví dụ, bạn nhập tử = 0; mẫu = 1, thử xem ==> hàm USCLN trả về 0, và phần tối giản của bạn bị sai.
Bạn nên Overload các toán tử + - * / lên, như vậy sẽ hay hơn.
Bạn nên tách class phân số ra 1 file ***.cs mới, tránh để chung với namespace chứa hàm Main.
Bạn nên Override phương thức ToString() lên để thay cho hàm InPhanSo.
Phần khởi tạo có tham số, bạn nên tôn trọng đầu vào của bài toán, ko nên tự tiện tối giản trong đó!
....

1 ít góp ý, mong bạn sẽ hoàn thiện hơn!
Thanks!!! Mình cố gắng học hỏi thêm!!!hj study study study
Về Đầu Trang Go down
https://itworld.forumvi.net
tkhking

Member Năng Động


Member Năng Động
tkhking

Thú CƯng : Cộng, trừ, nhân, chia 2 phân số tối giản.... Panda-icon
Nam Pisces

Số bài viết : 114
Điểm : 135
Được cảm ơn : 1
Ngày sinh : 18/03/1990
Tham gia ngày : 01/07/2010
Tuổi : 34
Đến từ : Óc Trâu Lấy Ra
Ngề nghiệp : Student
Chăm ngôn : King

Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime18/10/2010, 23:37

hihih già làng nay cũng khá lên rồi đó cố gắng phát huy nha...tui ủng hộ 2 tay...
Trích dẫn :
public int UCLN(int a, int b)
{
Math.Abs(a);
Math.Abs(b);
if(a*b!=0)return 1;
else
{
while (a != b)
{ if (a > b)
a -= b;
else
b -= a;
}
return a;
}


}
tặng cái này nếu thấy hay thì nhận làm kỉ niệm nha...
Về Đầu Trang Go down
Sponsored content




Cộng, trừ, nhân, chia 2 phân số tối giản.... Empty
Bài gửiTiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản....   Cộng, trừ, nhân, chia 2 phân số tối giản.... I_icon_minitime

Về Đầu Trang Go down
 

Cộng, trừ, nhân, chia 2 phân số tối giản....

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

 Similar topics

-
» Danh sách các nhóm thuyết trình AVCN2
» nhận diện lỗi phần cứng
» Nhận miễn phí giấy phép bản quyền phần mềm SpeedUpMyPC 2011
» Đề Cương Thi Nhập Môn Công Nghệ Phần Mềm
» Câu hỏi ôn thi Nhập Môn Công Nghệ Phần Mềm(thầy cho)

Permissions in this forum:Bạn không có quyền trả lời bài viết
IT World! :: HỌC TẬP :: HỌC KỲ V :: Nhập môn .Net-