void dolulugaGoreYazdir(FILE *fPtr)
{
    UCUS ucus;
    int i,j=0;
    DOLULUK doluluk[MAX_DIZI_BOYUT];

    rewind(fPtr);

    for(i=0;i<MAX_UCUS_SAY;i++)
    {
        fread(&ucus,sizeof(UCUS),1,fPtr);
        if(ucus.ucusNo!=0 && ((float)100*(ucus.kapasite-ucus.bosKoltuk)/ucus.kapasite)<50)
        {
            doluluk[j].ucusNo=ucus.ucusNo;
            doluluk[j].bosKoltuk=ucus.bosKoltuk;
            doluluk[j].BKO=(float)100*(ucus.kapasite-ucus.bosKoltuk)/ucus.kapasite;
            j++;
        }
    }

    sirala(doluluk,j);
    baslikYazdir();
    for(i=0;i<j;i++)
    {
        fseek(fPtr,sizeof(UCUS)*(doluluk[i].ucusNo-1),SEEK_SET);
        fread(&ucus,sizeof(UCUS),1,fPtr);

        yazdir(fPtr,ucus.ucusNo);
    }
}
Esempio n. 2
0
int main()
{
    int i,tercih,acilisSaati,kapanisSaati,calisanSayisi;
    char subeAd[30];
    char dosyaAd[30];
	FILE *dosya;
	CALISAN *clsn;
	printf("Subenin adi: ");
	scanf("%s",subeAd);
	printf("Subenin acilis saati(ssdd): ");
	scanf("%d",&acilisSaati);
	printf("Subenin kapanis saati(ssdd): ");
	scanf("%d",&kapanisSaati);
	printf("Birinci dosyanin adi: ");
	scanf("%s",dosyaAd);
	dosya=fopen(dosyaAd,"r");
	if(dosya==NULL)
	{
	    printf("%s acilamadi!",dosyaAd);
	    getch();
	    exit(1);
	}
	calisanSayisi=calisanSayisiBul(dosya);
	clsn=(CALISAN *)calloc(calisanSayisi,sizeof(CALISAN));
	if(clsn==NULL)
	{
	    printf("Yer ayrilamadi!");
	    getch();
	    exit(1);
	}
	//1. dosya icin yapilan islemler
	dosyadanVeriAl(dosya,clsn);
	kacSaatCalisti(clsn,calisanSayisi);
	kacKezActiBul(clsn,acilisSaati,calisanSayisi);
	kacKezKapattiBul(clsn,kapanisSaati,calisanSayisi);
	toplamKacSaatCalisti(clsn,calisanSayisi);
	kacKezKapattiActiBul(clsn,acilisSaati,kapanisSaati,calisanSayisi);
	kacKezHaftasonuCalismadi(clsn,calisanSayisi);
	ayniSaatteCalisanBul(clsn,calisanSayisi);
	kacKezActiCalismadiKapatti(clsn,calisanSayisi,acilisSaati,kapanisSaati);
	fclose(dosya);
	printf("Ikinci dosyanin adi: ");
	scanf("%s",dosyaAd);
	dosya=fopen(dosyaAd,"r");
	if(dosya==NULL)
	{
	    printf("%s acilamadi!",dosyaAd);
	    getch();
	    exit(1);
	}
	//2.dosya icin yapilan islemler
	dosyadanVeriAl(dosya,clsn);
	kacSaatCalisti(clsn,calisanSayisi);
	kacKezActiBul(clsn,acilisSaati,calisanSayisi);
	kacKezKapattiBul(clsn,kapanisSaati,calisanSayisi);
	toplamKacSaatCalisti(clsn,calisanSayisi);
	kacKezKapattiActiBul(clsn,acilisSaati,kapanisSaati,calisanSayisi);
	kacKezHaftasonuCalismadi(clsn,calisanSayisi);
	ayniSaatteCalisanBul(clsn,calisanSayisi);
	kacKezActiCalismadiKapatti(clsn,calisanSayisi,acilisSaati,kapanisSaati);
	fclose(dosya);
	printf("Ucuncu dosyanin adi: ");
	scanf("%s",dosyaAd);
	dosya=fopen(dosyaAd,"r");
	if(dosya==NULL)
	{
	    printf("%s acilamadi!",dosyaAd);
	    getch();
	    exit(1);
	}
	//3.dosya icin yapilan islemler
	dosyadanVeriAl(dosya,clsn);
	kacSaatCalisti(clsn,calisanSayisi);
	kacKezActiBul(clsn,acilisSaati,calisanSayisi);
	kacKezKapattiBul(clsn,kapanisSaati,calisanSayisi);
	toplamKacSaatCalisti(clsn,calisanSayisi);
	kacKezKapattiActiBul(clsn,acilisSaati,kapanisSaati,calisanSayisi);
	kacKezHaftasonuCalismadi(clsn,calisanSayisi);
	ayniSaatteCalisanBul(clsn,calisanSayisi);
	kacKezActiCalismadiKapatti(clsn,calisanSayisi,acilisSaati,kapanisSaati);
	fclose(dosya);
	printf("Dorduncu dosyanin adi: ");
	scanf("%s",dosyaAd);
	dosya=fopen(dosyaAd,"r");
	if(dosya==NULL)
	{
	    printf("%s acilamadi!",dosyaAd);
	    getch();
	    exit(1);
	}
	//4. dosya icin yapilan islemler
	dosyadanVeriAl(dosya,clsn);
	kacSaatCalisti(clsn,calisanSayisi);
	kacKezActiBul(clsn,acilisSaati,calisanSayisi);
	kacKezKapattiBul(clsn,kapanisSaati,calisanSayisi);
	toplamKacSaatCalisti(clsn,calisanSayisi);
	kacKezKapattiActiBul(clsn,acilisSaati,kapanisSaati,calisanSayisi);
	kacKezHaftasonuCalismadi(clsn,calisanSayisi);
	ayniSaatteCalisanBul(clsn,calisanSayisi);
	kacKezActiCalismadiKapatti(clsn,calisanSayisi,acilisSaati,kapanisSaati);
	fclose(dosya);
	for(i=0;i<calisanSayisi;i++)                                //Calisilan saat, dakika olarak hesaplanmisti
	{                                                           //ssdd sekline cevrildi
	    clsn[i].kacSaatCalistiSaat=clsn[i].toplamKacSaatCalisti/60;
	    clsn[i].kacSaatCalistiDk=clsn[i].toplamKacSaatCalisti%60;
	}
	printf("Dosyayi Siralamak Istediginiz Kriter: \n");
	printf("1. Calisan No'ya gore sirala\n");
	printf("2. Isme gore sirala\n");
	printf("3. Calisilan saate gore sirala\n");
	printf("4. Subeyi acma sayisina gore sirala\n");
	printf("5. Subeyi kapatma sayisina gore sirala\n");
	printf("6. Subeyi kapattiktan sonra acma sayisina gore sirala\n");
	printf("7. Haftasonu calismama sayisina gore sirala\n");
	printf("8. Subeyi ard arda acip,calismayip,kapatma sayisina gore sirala\n");
	scanf("%d",&tercih);
	dosya=fopen("Degerlendirme.csv","w");
	if(tercih==1)
	{
        dosyayaYaz(dosya,subeAd,acilisSaati,kapanisSaati,calisanSayisi,clsn);
	}
	else
	{
        sirala(clsn,tercih,calisanSayisi);
        dosyayaYaz(dosya,subeAd,acilisSaati,kapanisSaati,calisanSayisi,clsn);
	}
	printf("Degerlendirme.csv adli dosyaya veriler yazildi.\n");
	fclose(dosya);
	getch();
}