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 NguyenVietNamSon ( 6 years ago )
#include<iostream>
using namespace std;
#define MAX 100
struct NGAY
{
int ngay,thang,nam;
};
struct DAILY
{
char ma[5], ten[30], diachi[50], email[50] ;
int dienthoai;
struct NGAY ngay;
};
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 NHAPDS(DAILY dl[], int n)
{
for(int i = 0; i<n; i++)
{
cout<<"\nNhap thong tin dai ly thu " << i+1 ;
Nhap(dl[i]);
}
}
void XUATDS (DAILY dl[], int n)
{
for(int i = 0; i<n; i++)
{
cout<<"\nThong tin dai ly thu " << i+1 ;
Xuat(dl[i]);
}
}
int LinearSearch(DAILY dl[], int n, char x[30])
{
for(int i = 0; i<n; i++)
{
if(strcmp(dl[i].ten,x)==0)
{
return i;
}
}
return -1;
}
//int Ngaygannhat(DAILY dl[], int n)
//{
// int max = dl[0].ngay.nam;
// for(int i = 0; i<n; i++)
// {
// if(max < dl[i].ngay.nam)
// {
// max = dl[i].ngay.nam;
// }
// else if(dl[i].ngay.nam == dl[i].ngay.nam)
// {
// int max = dl[0].ngay.thang;
// if(max < dl[i].ngay.thang)
// {
// max = dl[i].ngay.thang;
// }
// if(dl[i].ngay.thang == dl[i].ngay.thang)
// {
// int max = dl[0].ngay.ngay;
// if(max < dl[i].ngay.ngay)
// {
// max = dl[i].ngay.ngay;
// }
// }
// }
// }
// return max;
//}
DAILY TimDaiLyDuocTiepNhanGanDayNhat(DAILY dl[], int n)
{
// Nghĩa là tìm đại lý có ngày tiếp nhận lớn nhất
int index_DaiLyMax = 0;
NGAY Max = dl[0].ngay;
for(int i = 1; i < n; i++)
{
if(dl[i].ngay.nam > Max.nam
|| (dl[i].ngay.nam == Max.nam && dl[i].ngay.thang > Max.thang)
|| (dl[i].ngay.nam == Max.nam && dl[i].ngay.thang == Max.thang && dl[i].ngay.ngay > Max.ngay))
{
Max = dl[i].ngay;
index_DaiLyMax = i;
}
}
return dl[index_DaiLyMax];
}
int main()
{
DAILY dl[100];
int n;
do{
cout<<"\nNhap so luong dai ly ";
cin >> n;
if(n<0)
{
cout<<"\nNhap lai vi so luong ko hop le";
}
}while(n<0);
NHAPDS(dl,n);
XUATDS(dl,n);
char x[10];
cout<<" \nNhap ten dai ly can tim: ";
fflush(stdin);
gets(x);
int kq = LinearSearch(dl,n,x);
if(kq == -1)
{
cout<<"\nKhong co trong danh sach ";
}
else
{
cout<<"\nCo trong danh sach.Thong tin chi tiet la: ";
Xuat(dl[kq]);
}
cout << "\nDai ly co ngay tiep nhan gan day nhat la:\n";
DAILY daiLyCanTim = TimDaiLyDuocTiepNhanGanDayNhat(dl, n);
Xuat(daiLyCanTim);
system ("pause");
return 0;
}
Revise this Paste