Untitled
unknown
plain_text
4 years ago
1.9 kB
58
Indexable
#include<bits/stdc++.h>
using namespace std;
struct NhanVien
{
string ma;
string ten;
string gt;
string ngaysinh;
string diachi;
string msthue;
string ngaykihopdong;
long long ngay;
};
void nhap(struct NhanVien &a)
{
scanf("\n");
getline(cin,a.ten);
getline(cin,a.gt);
getline(cin,a.ngaysinh);
getline(cin,a.diachi);
getline(cin,a.msthue);
getline(cin,a.ngaykihopdong);
long long nam = 0;
long long thang = 0;
long long ngay = 0;
nam = ((a.ngaysinh[6] - '0')* 1000 + (a.ngaysinh[7] - '0') * 100 + (a.ngaysinh[8] - '0') * 10 + (a.ngaysinh[9] - '0'))*365;
thang = ((a.ngaysinh[3]-'0')*10 + (a.ngaysinh[4]-'0'))*30;
ngay = ((a.ngaysinh[0]-'0')*10+(a.ngaysinh[1]-'0'));
a.ngay = nam + thang +ngay;
}
void sapxep(struct NhanVien ds[50], int n)
{
for(int i = 0;i<n;i++)
{
if(0 <= i && i <= 8)
{
ds[i].ma = "0000";
ds[i].ma+=to_string(i+1);
}
else
{
ds[i].ma = "000";
ds[i].ma+=to_string(i+1);
}
}
for(int i = 0;i<n-1;i++)
{
for(int j = i+1;j<n;j++)
if(ds[i].ngay > ds[j].ngay)
{
NhanVien b = ds[i];
ds[i] = ds[j];
ds[j] = b;
}
}
}
void inds(struct NhanVien ds[50], int n)
{
int i;
for(i = 0;i<n;i++)
{
cout<<ds[i].ma<<" ";
cout<<ds[i].ten<<" ";
cout<<ds[i].gt<<" ";
cout<<ds[i].ngaysinh<<" ";
cout<<ds[i].diachi<<" ";
cout<<ds[i].msthue<<" ";
cout<<ds[i].ngaykihopdong<<endl;
}
}
int main(){
struct NhanVien ds[50];
int N,i;
cin >> N;
for(i = 0; i < N; i++) nhap(ds[i]);
sapxep(ds, N);
inds(ds, N);
return 0;
}Editor is loading...