Untitled
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...