Lớp Sư phạm Cử nhân tin học khóa 1
Chào mừng bạn trở lại diễn đàn.

Bài phân số sử dụng toán tử xuất nhập

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Bài phân số sử dụng toán tử xuất nhập

Bài gửi by PhamNam on 1/8/2008, 2:19 pm

Bài tính toán 4 phép tính trên 5 phân số:

Code:

#include <conio.h>
#include <iostream>
#include <math.h>

using namespace std;
struct PhanSo
{
int a,b; 
}; 
ostream& operator<< (ostream& os, PhanSo p);
istream& operator>> (istream& is,PhanSo &p); 
int uscln(int x, int y); 
PhanSo rutgon(PhanSo p); 
PhanSo operator+(PhanSo p1, PhanSo p2); 
PhanSo operator-(PhanSo p1, PhanSo p2); 
PhanSo operator*(PhanSo p1, PhanSo p2); 
PhanSo operator/(PhanSo p1, PhanSo p2); 
ostream& operator<< (ostream& os, PhanSo p)
{
 os << p.a << "/" << p.b ; 
 return os; 
}
istream& operator>> (istream& is,PhanSo &p)
{
 cout << "\n Nhap tu va mau: ";
 is >> p.a >> p.b ; 
 return is; 
}
int uscln(int x, int y)
{
 x=abs(x);y=abs(y); 
 if (x*y==0) return 1; 
 while (x!=y)
 { 
  if (x>y) x-=y; 
  else y-=x; 
 }
 return x; 
}
PhanSo rutgon(PhanSo p)
{
 PhanSo q;
 int x; 
 x=uscln(p.a,p.b); 
 q.a = p.a / x ; 
 q.b = p.b/ x ; 
 return q; 
}
PhanSo operator+(PhanSo p1, PhanSo p2)
{
 PhanSo q; 
 q.a = p1.a*p2.b + p2.a*p1.b; 
 q.b = p1 .b * p2.b ; 
return rutgon(q); 
}
PhanSo operator-(PhanSo p1, PhanSo p2)
   {
   PhanSo q; 
q.a = p1.a*p2.b - p2.a*p1 .b; 
q.b = p1.b * p2.b ; 
return rutgon(q); 
   }
PhanSo operator*(PhanSo p1, PhanSo p2)
   {
PhanSo q; 
q.a = p1.a * p2.a ; 
q.b = p1.b * p2.b ; 
return rutgon(q); 
}
PhanSo operator/(PhanSo p1 , PhanSo p2)
   {PhanSo q; 
q.a = p1.a * p2.b ; 
q.b = p1.b * p2.a ; 
return rutgon(q); 
}
void main()
{
PhanSo p, q, z, u, v ; 
PhanSo s; 
cout <<"\nNhap cac PhanSo p, q, z, u, v: " ; 
cin >> p >> q >> z >> u >> v ; 
s = (p - q*z) / (u + v) ; 
cout << "\n Phan so s = " << s; 
getch(); 
}
Trích trong giáo trình C++ ĐHQG Hà Nội

PhamNam

Tổng số bài gửi : 6
Registration date : 24/12/2007

Xem lý lịch thành viên http://www.dongnai.edu.vn

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết