Untitled

 avatar
unknown
plain_text
4 years ago
1.9 kB
57
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...