#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#define max 100
typedef struct{
int manv, phu_thuoc;
char ten[max];
}nhanvien;
void input(nhanvien *a,int n);
void output(nhanvien *a,int n);
void sortAZ(nhanvien *a,int n);
void sortChildren(nhanvien *a,int n);
int main()
{
int n;
nhanvien *nv;
printf("Nhap tong so nhan vien: ");
scanf("%d", &n);
nv=calloc(n,sizeof(nhanvien));
input(nv,n);
output(nv,n);
getch();
return 0;
}
void input(nhanvien *nv, int n)
{
int i;
for(i=0;i<n;i++)
{
printf("Nhap nhan vien thu %d\n",i+1);
printf("Ma nv: ");
scanf("%d",&nv[i].manv);
printf("Ten: ");
fflush(stdin);
gets(nv[i].ten);
printf("So nguoi phu thuoc: ");
scanf("%d",&nv[i].phu_thuoc);
}
}
void output(nhanvien *nv,int n)
{
int i;
sortChildren(nv,n);
printf("\n\nDANH SACH SAP XEP NGUOI PHU THUOC Giam dan\n");
printf("MaNV\tTEN\t\t\tPHU THUOC\n");
for(i=0;i<n;i++)
printf("%d\t%s\t\t\t%d\n",nv[i].manv,nv[i].ten,nv[i].phu_thuoc);
sortAZ(nv,n);
printf("\nDANH SACH SAP XEP THEO TEN A-->Z\n");
printf("MaNV\tTEN\t\tPHU THUOC\n");
for(i=0;i<n;i++)
printf("%d\t%s\t\t%d\n",nv[i].manv, nv[i].ten, nv[i].phu_thuoc);
}
void sortAZ(nhanvien *nv,int n)
{
int i;
nhanvien temp[max];
for(i=0;i<n;i++)
{
if(strcmp(nv[i].ten,nv[i+1].ten)>0){
temp[0]=nv[i];
nv[i]=nv[i+1];
nv[i+1]=temp[0];
}
}
}
void sortChildren(nhanvien *nv,int n)
{
int i;
nhanvien temp[max];
for(i=0;i<n;i++)
{
if(nv[i].phu_thuoc < nv[i+1].phu_thuoc){
temp[0]=nv[i];
nv[i]=nv[i+1];
nv[i+1]=temp[0];
}
}
}