#Include #Include #Include
#Include #Include #Include
h> class sv { private : char ten[100]; float Diem; public: sv() { Diem=0; } sv(char a[],float D) { strcpy(ten,a); Diem=D; } sv(sv&a) { Diem = a.Diem; strcpy(ten,a.ten); } void set_sv(char a[],float D) { strcpy(ten,a); Diem=D; } float get_diem()const { return Diem; } char* get_ten() { return ten; } friend ostream&operator <<(ostream&out,sv&); friend istream&operator>>(istream&in,sv&); operator float() { return float(Diem); } }; ostream&operator <<(ostream&out,sv&a) { cout<<"\n\n\t\t\tTen "<<a.ten<<endl; cout<<"\t\t\tDiem "<<a.Diem<<endl; } istream&operator>>(istream&in,sv&a) { cout<<"\t\t\tNhap ten "; cin.ignore(); cin.getline(a.ten,50); cout<<"\t\t\tNhap diem "; cin>>a.Diem;
} int ucln(int a,int b) { int r; while(b) { r = a%b; a = b; b=r; } return a; } class phanso { private: float tu,mau; public: phanso(float a=1,float b=1) { if(b) { tu = a; mau = b; } else { tu =1; mau=1; } } void set_phanso(float a,float b) { tu =a; mau = b; } void nhap() { cout<<"\t\t\tNhap du lieu cho phan so "<<endl; cout<<"\t\t\tTu "; cin>>tu; cout<<"\t\t\tMau "; cin>>mau; toigian(); } void toigian() { int t=ucln(tu,mau); tu = tu/t; mau = mau/t; } operator float() { return float(tu/mau); } friend ostream&operator <<(ostream&out,phanso&a);
friend istream&operator >>(istream&in,phanso&a); }; ostream&operator<<(ostream&out,phanso&a) { out<<a.tu<<"/"<<a.mau<<"->"; } istream&operator >>(istream&in,phanso&a) { cout<<"\t\tTu "; cin>>a.tu; cout<<"\t\tMau "; cin>>a.mau; } template <class T,int n> class set { private: T data[n]; int spt; public: set() { spt=0; } set(const set&a) { for(int i=0;i<a.spt;i++) data[i]=a.data[i]; spt = a.spt; } void them(T&a); bool search(T&a); friend ostream& operator<<(ostream&out,set<T,n>&a); friend set operator +(set&a,set&b); friend set operator *(set&a,set&b); friend set operator -(set&a,set&b); set operator =(const set&b) { for(int i=0;i<b.spt;i++) data[i]=b.data[i]; spt=b.spt; return (*this); } }; template <class T,int n> void set<T,n>::them(T&a) { if(spt<n) data[spt++]=a; else cout<<"\t\tMang da day rui khong them duoc nua dau "<<endl; } template <class T,int n> bool set<T,n>::search(T&a) {
for(int i=0;i<spt;i++) if(data[i]==a) return true; return false; } template <class T,int n> ostream&operator<<(ostream&out,set<T,n>&a) { if(a.spt==0) out<<" rong "<<endl; for(int i=0;i<a.spt;i++) { out<<a.data[i]; if(i<a.spt-1) cout<<"->"; } } template <class T,int n> set<T,n> operator +(set<T,n>&a,set<T,n>&b) { set<T,n> r(a); for(int i=0;i<b.spt;i++) if(!a.search(b.data[i])) r.them(b.data[i]);
return r; } template <class T,int n> set<T,n> operator -(set<T,n>&a,set<T,n>&b) { set<T,n> r; for(int i=0;i<a.spt;i++) if(!b.search(a.data[i])) r.them(a.data[i]); return r; } template <class T,int n> set<T,n> operator *(set<T,n>&a,set<T,n>&b) { set<T,n> r; for(int i=0;i<a.spt;i++) if(b.search(a.data[i])) r.them(a.data[i]); return r; } void main() { set<float,100> a; set<float,100> c; set<float,100> d; set<float,100> e;
set<float,100> f; set<sv,100> g; set<phanso,100> b; int n,m,l; float r; sv A; phanso s; cout<<"\t\t\tNhap so luong cac so thu "; cin>>n; for(int i=0;i<n;i++) { cout<<" nhap so thu "<<(i+1)<<":"; cin>>r; a.them(r); }clrscr(); cout<<"\t\t\tNhap so luong phan so "; cin>>m; for(int i=0;i<m;i++) { cout<<"\t\t\tNhap phan so thu "<<(i+1)<<endl; cin>>s; b.them(s); c.them(s);clrscr(); } clrscr(); cout<<"\t\t\tNhap so luong cac sinh vien "; cin>>l; for(int i=0;i<l;i++) { cout<<"\t\t\tNhap du lieu cho sinh vien thu "<<(i+1)<<endl; cin>>A; g.them(A); clrscr(); } clrscr(); textcolor(YELLOW+RED); cprintf("%s","\t\t\tchuong trinh da gan cac so 1 cach tu dong ta duoc "); cout<<"\n\nday so thuc vua nhap "<<endl; cout<<a; cout<<"\n\nday phan so vua nhap "<<endl; cout<<b; cout<<"\n\tDay sinh vien vua nhap "<<endl; cout<<g; getch();clrscr(); d = a+c; cout<<"\n\n hop cua hai tap hop phan so va so thuc la "<<endl;; cout<<d; e=a*c; cout<<"\n\n giao cua hai tap so thuc va phan so la "<<endl; cout<<e; cout<<"\n\nhieu cua hai tap so thuc va phan so la "<<endl; f=a-c; cout<<f;
getch();