Logo | |
|
| Cộng, trừ, nhân, chia 2 phân số tối giản.... | |
| Tác giả | Thông điệp |
---|
Già Làng
Thú CƯng :
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 : 37 Đến từ : Bình Dương Ngề nghiệp : Sinh Viên Chăm ngôn : Cơm Cha - Áo Mẹ!
| Tiêu đề: Cộng, trừ, nhân, chia 2 phân số tối giản.... 16/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ô!!! - 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(); } } } } |
| | | GGGG
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
| Tiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản.... 16/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! |
| | | .net
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
| Tiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản.... 16/10/2010, 15:12 | |
| già làng cày kinh quá! 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à còn lại chỉ là test lỗi và dùng try ... catch thôi! không có gì mới 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) |
| | | Già Làng
Thú CƯng :
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 : 37 Đến từ : Bình Dương Ngề nghiệp : Sinh Viên Chăm ngôn : Cơm Cha - Áo Mẹ!
| Tiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản.... 16/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è!!! |
| | | Già Làng
Thú CƯng :
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 : 37 Đến từ : Bình Dương Ngề nghiệp : Sinh Viên Chăm ngôn : Cơm Cha - Áo Mẹ!
| Tiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản.... 16/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 |
| | | tkhking
Member Năng Động
Thú CƯng :
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
| Tiêu đề: Re: Cộng, trừ, nhân, chia 2 phân số tối giản.... 18/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... |
| | | Sponsored content
| Tiê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.... | |
|
Trang 1 trong tổng số 1 trang | |
Similar topics | |
|
| Permissions in this forum: | Bạn không có quyền trả lời bài viết
| |
| |
| Latest topics | » Renew forum by Mr.Cuong 4/4/2015, 08:10
» Diễn đàn bỏ lâu vậy mà vẫn không die! by theanhkkt 1/4/2015, 08:03
» Phân biệt giải thuật tìm kiếm sâu và sâu dần... by mailoc 20/12/2014, 15:12
» Toàn bộ giáo trình bên mạng của Nhất Nghệ đây (Link mediafire) Hot down nhanh kẻo die by mrchikoy 11/6/2013, 10:34
» [Thông báo] Còn ai nhớ page này by jetvhs 10/6/2013, 13:45
» PHI HÀNH ĐOÀN MỚI LÊN ISS by Sakura 10/6/2013, 00:41
» LAPTOP ASUS TAICHI VỚI MÀN HÌNH FULL HD KÉP by Mr.Cuong 25/5/2013, 12:04
» Video tự học C# từ A->Z by Sakura 7/5/2013, 16:11
» Cơ Bản Ép Kiểu Trong Java by Sakura 7/5/2013, 16:09
» THÔNG BÁO VỀ VIỆC DỰ KIẾN KIỂM TRA NĂNG LỰC NGOẠI NGỮ - TIN HỌC THÁNG 07/2012 by Sakura 7/5/2013, 16:09
» Mấy anh chị cho em xin cái đồ án mẫu !! by huutuan_se7en 4/1/2013, 22:37
» Làm thế nào để tạo ra 1 form đăng nhập bằng C Sharp by Sakura 14/9/2012, 18:09
» Tổ chức đi du lịch Vũng Tàu 2 ngày 1 đêm by o0ovioletstaro0o 15/8/2012, 20:51
» Những hình ảnh báo cáo tốt nghiệp khóa 2008 -2012 by hotboy 10/8/2012, 13:35
» Banner xấu quá! @@ by con_ca_nho90 25/7/2012, 19:43
» mấy anh chị cho em khóa 12 hỏi cái này by con_ca_nho90 25/7/2012, 19:40
» Hướng dẫn - Làm website bằng Google Site; Đăng ký và sử dụng Google Apps by Già Làng 18/6/2012, 14:20
» Tài liệu ôn thi QTDA CNTT by Sakura 15/6/2012, 15:38
» học phí, lệ phí thi lại học lại năm học 2012 - 2013 update :P by o0ovioletstaro0o 4/6/2012, 14:36
» [11TH02][QTDACNTT] - Tài liệu full by Sakura 15/5/2012, 08:13
|
|