Mọi người cho e hỏi sửa cái gì để chương trình này chạy được file.c … E để .cpp thì chạy được .c thì báo lỗi.
#include<conio.h>
#include<stdio.h>
typedef struct
{
char Ten[30];
int Tuoi;
char DiaChi[120];
int Luong;
int TongGioLam;
}
NhanVien;
void nhapDuLieu(NhanVien Nv[] ,int *N)
{
int i;
do{
printf("nhap vao so nhan vien: ");
scanf("%d",&*N);
}while (*N<0||*N>50);
for (i=1;i<=*N;i++)
{
printf("\nnhap thong tin cho nhan vien thu %d:",i);
printf("\nHo ten: ");
fflush(stdin);gets(Nv[i].Ten);
printf("Tuoi: ");
scanf("%d",&Nv[i].Tuoi);
printf("\nDia chi: ");
fflush(stdin);gets(Nv[i].DiaChi);
printf("\nLuong: ");
scanf("%d",&Nv[i].Luong);
printf("\nTong so gio lam: ");
scanf("%d",&Nv[i].TongGioLam);
}
}
void xuatDuLieu(NhanVien Nv[], int N)
{
int i;
int T[50];
for(i=1;i<=N;i++)
{
if(Nv[i].TongGioLam>200)
{
T[i] =((Nv[i].Luong)*20/100);}
else if (Nv[i].TongGioLam>100&&Nv[i].TongGioLam<200)
T[i]=((Nv[i].Luong)*10/100);
else if (Nv[i].TongGioLam<100)
T[i]=0;
}
printf("\nThong tin Nhan Vien vua nhap la: ");
printf("\n| Ten | Tuoi | Dia chi | Luong | SGL | Thuong |");
printf("\n|----------------|---------|------------------------------|------------|-----|----------|");
for(i=1;i<=N;i++)
{
printf("\n|%16s|%9d|%30s|%12d|%5d|%10d|",Nv[i].Ten,Nv[i].Tuoi,Nv[i].DiaChi,Nv[i].Luong,Nv[i].TongGioLam,T[i]);
printf("\n|----------------|---------|------------------------------|------------|-----|----------|");
}
}
void laydulieu(NhanVien Nv[],int a[],int N)
{
int i;
for(i=1;i<=N;i++)
a[i]=Nv[i].Luong;
}
void quicksort(NhanVien Nv[],int a[],int left,int right)
{
int i,j;
NhanVien t;
if (left<right)
{
i=left+1;j=right;
do{
while ((a[i]<=a[left]) and (i<=right)) i++;
while (a[j]>a[left]) j--;
if (i<j)
{
t=Nv[i];Nv[i]=Nv[j];Nv[j]=t;
}
}while (i<j);
t =Nv[left];Nv[left]=Nv[j];Nv[j]=t;
if (left<j-1) quicksort(Nv,a,left,j-1);
if (j+1<right) quicksort(Nv,a,j+1,right);
}
}
void Sapxep(NhanVien Nv[],int a[],int N)
{
int i,j;
printf("\nDanh sach Nhan vien sau khi sap xep la: ");
printf("\n| Ten | Tuoi | Dia chi | Luong | SGL |");
printf("\n|----------------|---------|------------------------------|------------|-----|");
for(i=1;i<=N;i++)
{
printf("\n|%16s|%9d|%30s|%12d|%5d|",Nv[i].Ten,Nv[i].Tuoi,Nv[i].DiaChi,Nv[i].Luong,Nv[i].TongGioLam);
printf("\n|----------------|---------|------------------------------|------------|-----|");
}
}
int main()
{
int i,N;
int a[50];
NhanVien Nv[50];
nhapDuLieu(Nv,&N);
xuatDuLieu(Nv,N);
laydulieu(Nv,a,N);
quicksort(Nv,a,1,N);
Sapxep(Nv,a,N);
getch();
}