PDA

View Full Version : check it



tanmeo
23-05-2009, 02:23
xem giúp mình phần lưu FILE nó ko in ra dc
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct hoso{
char hoten[30];
char gt[10];
int namsinh,tuoi;
float hsl;
float pc;
float thunhap;
};
void nhap(hoso dscb[],int soluong)
{
int i;
float tg;
printf("\n Nhap vao danh sach can bo");
for(i=0;i<soluong;i++)
{
fflush(stdin);
printf("\n Nhap vao ho ten: ");gets(dscb[i].hoten);
printf("\n Nam sinh: ");scanf("%d",&dscb[i].namsinh);
fflush(stdin);
printf("\n Gioi tinh: ");gets(dscb[i].gt);
printf("\n Phu cap: ");scanf("%f",&dscb[i].pc);
printf("\n Nhap He so luong: "); scanf("%f",&tg);dscb[i].hsl=tg;
dscb[i].thunhap=((540000*dscb[i].hsl)+dscb[i].pc);
dscb[i].tuoi=(2009-dscb[i].namsinh);
}


}
void hien(hoso dscb[],int soluong)
{
int i,tt=0;
printf("\n --------DANH SACH CAN BO NHU SAU--------");
printf("\n TT HO TEN GIOI TINH THU NHAP");
for(i=0;i<soluong;i++)
printf("\n%d%30s%10s %6.0f",tt,dscb[i].hoten,dscb[i].gt,dscb[i].thunhap);
tt=tt+1;
}
void tile(hoso dscb[],int soluong)
{
int i,d=0;
float tiso;
for(i=0;i<soluong;i++)
{
if(dscb[i].namsinh>1980)
d=d+1;
tiso=((float)d/soluong)*100;
}

printf("\n So can bo tre la:%d",d);
printf("\n Ti le can bo tre la:%6.0f %",tiso);
}
void luufile(hoso dscb[],int soluong)
{
int i;
FILE *f;
f=fopen("HUU.DAT","wb");
for(i=0;i<soluong;i++)

if((strcmpi(dscb[i].gt,"nam")==0)&&(dscb[i].namsinh<1960))
fwrite(&dscb[i],sizeof(dscb[i]),1,f);
fclose(f);
f=fopen("HUU.DAT","wb");
while(fread(&dscb[i],sizeof(dscb[i]),1,f)>0);
printf("\n Danh sach can bo ve Huu la:");
printf("\n %30s %3d %10s",dscb[i].hoten,dscb[i].namsinh,dscb[i].gt);
fclose(f);
}void dem(hoso dscb[],int soluong)
{
int i,dem=0;
for(i=0;i<soluong;i++)
if(dscb[i].thunhap<10000000)
dem=dem+1;
printf("\n Co %d so can bo co luong < 1000000",dem);
}
void sapxep(hoso dscb[],int soluong)
{
int i,j;
hoso tg;
for(i=0;i<soluong-1;i++)
for(j=i+1;j<soluong;j++)
if(dscb[i].namsinh<dscb[j].namsinh)
{
tg=dscb[i];
dscb[i]=dscb[j];
dscb[j]=tg;
}
printf("\n DANH SACH SAU KHI SAP XEP LA:");
for(i=0;i<soluong;i++)
printf("\n%30s%10s%6d",dscb[i].hoten,dscb[i].gt,dscb[i].namsinh);
}
main()
{
hoso dscb[100];
int n;
clrscr();
printf("\n Nhap so luong can bo");scanf("%d",&n);
nhap(dscb,n);
hien(dscb,n);
tile(dscb,n);
luufile(dscb,n);
dem(dscb,n);
sapxep(dscb,n);
getch();
}