Chào các bạn! Vì nhiều lý do từ nay Truyen2U chính thức đổi tên là Truyen247.Pro. Mong các bạn tiếp tục ủng hộ truy cập tên miền mới này nhé! Mãi yêu... ♥

debai33

//Bai33

#include<iostream>

#include<string.h>

#include<fstream>

using namespace std;

//===Khai bao lop NgaySinh======

class NgaySinh

{

private:

int Ngay,Thang,Nam;

public:

friend istream& operator>>(istream & s, NgaySinh &dt);

friend ostream& operator<<(ostream & s, NgaySinh &dt);

int operator>=(NgaySinh &phai);

int operator==(NgaySinh &phai);

};

//===Khai bao lop NhanVien======

class NhanVien

{

private:

enum{nam=2010};

char HoTen[31];

NgaySinh ngaysinh;

public:

NgaySinh Get_NgaySinh();

friend istream& operator>>(istream & s, NhanVien &dt);

friend ostream& operator<<(ostream & s, NhanVien &dt);

};

//===Chuong trinh chinh=========

int main()

{

int n,i,j;

NhanVien ds[100];

NhanVien tg,nv;

NgaySinh ns1,ns2,ns3;

fstream f;

cout<<"Nhap so nhan vien: ";cin>>n;cin.ignore();

//nhap du lieu cho cac nhan vien

for(i=1;i<=n;i++)

{

cout<<"Nhap thong tin cho nhan vien thu "<<i<<":"<<endl;

cin>>ds[i];

}

//Sap xep danh sach theo tuoi giam dan

for(i=1;i<n;i++)

{

ns1=ds[i].Get_NgaySinh();

for(j=i+1;j<=n;j++)

{

ns2=ds[j].Get_NgaySinh();

if(ns1 >= ns2)

//====Dinh nghia lop NgaySinh======

istream& operator>>(istream & s, NgaySinh &dt)

{

char kt;

s>>dt.Ngay>>kt>>dt.Thang>>kt>>dt.Nam; s.ignore();

return s;

}

//-------------------------

ostream& operator<<(ostream & s, NgaySinh& dt)

{

s<<dt.Ngay<<'/'<<dt.Thang<<'/'<<dt.Nam<<endl;

return s;

}

//---------------------------

int NgaySinh::operator>=(NgaySinh &phai)

{

if(Nam>=phai.Nam)

return 1;

else

{

if (Thang>=phai.Thang)

return 1;

else

{

if(Ngay>=phai.Ngay)

return 1;

else

return 0;

}

}

}

//----------------------------

int NgaySinh::operator==(NgaySinh &phai)

{

if((Ngay==phai.Ngay)&&(Thang==phai.Thang)&&(Nam==phai.Nam))

return 1;

else

return 0;

}

{

tg=ds[i];

ds[i]=ds[j];

ds[j]=tg;

}

}

}

//ghi thong tin cac nhan vien vao tep

f.open("nhanvien.dat", ios::out | ios::binary | ios::app);

if (!f)

cout<<"Tep chua ton tai!";

else

{

for(i=1;i<=n;i++)

f.write((char *) &ds[i], sizeof(ds[i]));

}

f.close();

//dua ra danh sach da sap xep

cout<<"

\t\tDanh sach Nhan vien da sap xep:"<<endl;

f.open("nhanvien.dat", ios::in | ios::binary);

if (!f)

cout<<"Tep chua ton tai!";

else

{

while (!f.eof())

{

f.read((char *) &nv, sizeof(nv));

cout<<nv;

}

}

f.close();

//tim cac nhan vien theo ngay sinh

cout<<"Nhap ngay sinh can tim cua nhan vien: ";

cin>>ns3;

f.open("nhanvien.dat", ios::in | ios::binary);

if (!f)

cout<<"Tep chua ton tai!";

else

{

while (!f.eof())

{

f.read((char *) &nv, sizeof(nv));

if (nv.Get_NgaySinh()==ns3)

cout<<nv;

}

}

f.close();

cout<<endl;

return 0;

}

//====Dinh nghia lop NhanVien========

NgaySinh NhanVien::Get_NgaySinh()

{

return ngaysinh;

}

//------------------------

istream& operator>>(istream & s, NhanVien& dt)

{

cout<<"Nhap ho ten: ";s.get(dt.HoTen,31);s.ignore();

cout<<"Nhap ngay sinh: ";s>>dt.ngaysinh;s.ignore();

return s;

}

//-------------------------

ostream& operator<<(ostream & s, NhanVien &dt)

{

cout<<"Ho ten nhan vien: ";s<<dt.HoTen<<endl;

cout<<"Ngay thang nam sinh: ";s<<dt.ngaysinh<<endl;

return s;

}

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

Tags: