Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)
Paste
Pasted as C++ by B14C4Y7H ( 6 years ago )
#include<iostream>
using namespace std;
struct NGAY
{
int ngay,thang,nam;
};
struct DAILY
{
char ma[5], ten[30], diachi[50], email[50] ;
int dienthoai;
struct NGAY ngay;
};
struct NODE
{
DAILY data;
struct NODE* pNext;
};
struct LIST
{
NODE* pHead, *pTail;
};
void INIT(LIST &l)
{
l.pHead = l.pTail = NULL;
}
NODE *GETNODE (DAILY DATA)
{
NODE *p = new NODE;
if(p == NULL)
{
return NULL;
}
p->data = DATA;
p->pNext = NULL;
return p;
}
void ADDTAIL(LIST &l, NODE*p)
{
if(l.pHead==NULL)
{
l.pHead = l.pTail = p;
}
else
{
l.pTail ->pNext = p;
l.pTail = p;
}
}
void Nhap (DAILY &dl)
{
cout<<"\nNhap ma dai ly ";
fflush(stdin);
gets(dl.ma);
cout<<"\nNhap ten ";
fflush(stdin);
gets(dl.ten);
cout<<"\nNhap dia chi ";
fflush(stdin);
gets(dl.diachi);
cout<<"\nNhap email ";
fflush(stdin);
gets(dl.email);
cout<<" \nNhap so dien thoai ";
cin >> dl.dienthoai;
cout<<"\nNgay tiep nhan ";
cin >> dl.ngay.ngay;
cout<<"\nThang tiep nhan ";
cin >> dl.ngay.thang;
cout<<"\nNam tiep nhan ";
cin >> dl.ngay.nam;
}
void Xuat (DAILY dl)
{
cout<<"\nMa dai ly: " << dl.ma;
cout<<"\nTen dai ly: " << dl.ten;
cout<<"\nDia chi: " << dl.diachi;
cout<<"\nEmail: " << dl.email;
cout<<"\nSo dien thoai" <<"0"<< dl.dienthoai;
cout<<"\nngay tiep nhan: " << dl.ngay.ngay <<"/" << dl.ngay.thang << "/" << dl.ngay.nam;
}
void input(LIST &l)
{
INIT(l);
int n;
cout<<"\nNhap so luong dai ly: ";
cin >> n;
for(int i = 1; i<=n; i++)
{
DAILY data;
cout<<"\nNhap thong tin dai ly thu " << i ;
Nhap(data);
NODE *p;
p = GETNODE(data);
ADDTAIL(l,p);
}
}
void output(LIST l)
{
int dem = 1;
for(NODE *p = l.pHead; p!=NULL; p = p->pNext)
{
cout<<"\nThong tin dai ly thu " << dem <<" la " ;
dem ++ ;
Xuat(p->data);
}
}
NODE* LinearSearch(LIST &l, char x[30])
{
for(NODE *i = l.pHead; i!=NULL; i = i->pNext)
{
if(strcmp(i->data.ten,x)==0)
{
return i;
}
}
return NULL;
}
NODE* Timdailyduoctiepcangannhat(LIST &l)
{
NODE *index_dailymax = l.pHead;
NGAY MAX = l.pHead->data.ngay;
for(NODE *i = l.pHead; i!=NULL; i = i->pNext)
{
if(MAX.nam < i->data.ngay.nam ||
MAX.nam == i->data.ngay.nam && MAX.thang < i->data.ngay.thang ||
MAX.nam == i->data.ngay.nam && MAX.thang == i->data.ngay.thang && MAX.ngay < i->data.ngay.ngay )
MAX = i->data.ngay;
index_dailymax = i;
}
return index_dailymax;
}
void GiaiPhong(LIST &l)
{
NODE *p;
while(l.pHead!=NULL)
{
p=l.pHead;
l.pHead = l.pHead ->pNext;
delete p;
}
}
int main()
{
LIST l;
input(l);
output(l);
char x[10];
cout<<" \nNhap ten dai ly can tim: ";
fflush(stdin);
gets(x);
NODE* kq = LinearSearch(l,x);
if(kq == NULL)
{
cout<<"\nKhong co trong danh sach ";
}
else
{
cout<<"\nCo trong danh sach.Thong tin chi tiet la: ";
Xuat(kq->data);
}
cout << "\nDai ly co ngay tiep nhan gan day nhat la:\n";
NODE*index_dailycantim = Timdailyduoctiepcangannhat(l);
Xuat(index_dailycantim->data);
GiaiPhong(l);
system ("pause");
return 0;
}
Revise this Paste