Welcome, guest! Login / Register - Why register?
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

Your Name: Code Language: