Dosyalama Ödevi Hazır
-
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#include<io.h>
#include<locale.h>
char cvb;
int fat;
struct kisi
{
char ad[15];
char soyad[25];
char adres[50];
}KISI;
struct kisi2
{
char ad2[15];
char soyad2[25];
char adres2[50];
}KISI2;
char KRITER(int);
char BILGI_EKLEME(FILE *f);
void main()
{
setlocale(LC_ALL,"turkısh");
system("color 4e");
char KAYIT(void);
char ARAMA(void);
char SIL(void);
char GUNCEL(void);
char DOKUM(void);
int i;
do
{
puts("\n\nWELCOME TO ADDRESS NOTEBOOK...\n\nPLEASE ENTRY ONE TRANSACTION TO DO\n");
printf("\n1.REGİSTER");
printf("\n2.SEARCH");
printf("\n3.CLEAR PERSON");
printf("\n4.ALL OF MEMBER");
printf("\n5.UPDATE");
printf("\n6.OUTPUT");
printf("\nSELECTION...");
fat=getche();
switch(fat)
{
case '1':KAYIT();break;
case '2':ARAMA();break;
case '3':SIL();break;
case '4':DOKUM();break;
case '5':GUNCEL();break;
case '6':exit(1);
default:printf("\n\nWRONG SELECTION!");
}
printf("\n\n\nWILL YOU WANT TO CONTİNUE? Y/N");
cvb=getche();
}
while(cvb=='y'||cvb=='Y');
return ;
}
char KAYIT(void)
{
struct kisi3
{
char isim[15];
char soyisim[25];
char adresi[50];
}KISI3;
FILE *dosya;
dosya=fopen("adresb.dat","ab");
cvb=BILGI_EKLEME(dosya);
if(cvb==0)return 0;
do
{
printf("\nREGISTER ");
printf("\n\nNAME: ");
gets(KISI3.isim);
printf("\nSURNAME: ");
gets(KISI3.soyisim);
printf("\nADDRESS: ");
gets(KISI3.adresi);
fwrite(&KISI3,sizeof(KISI3),1,dosya);
printf("\n\nWILL YOU WANT TO CONTINUE REGISTER? Y/N");
cvb=getche();
}
while(cvb=='Y'||cvb=='y');
fclose(dosya);
return 0;
}
char ARAMA(void)
{
printf("\nSEARCHİNG");
printf("\n\n\nPLEASE CHOOSE TYPE OF SEARCH ");
printf("\n1.PLEASE ENTRY THE NAME");
printf("\n\nSELECTİON...");
fat=getche();
switch(fat)
{
case '1':KRITER(1);break;
default:printf("\nWRONG SELECTİON!");
}
return 0;
}
char KRITER(int x)
{
FILE *dosya;
char a;
int kaysay,i;
dosya=fopen("adresb.dat","rb");
a=BILGI_EKLEME(dosya);
if(a==0)
{
return 1;
}
if(x==1)
{
printf("\n\nPLEASE GİVE YOUR NAME:");
gets(KISI2.ad2);
fat=fileno(dosya);
kaysay=filelength(fat)/sizeof(KISI);
fat=0;
printf("\n*********************\n");
printf(("\nNAME\tSURNAME\tADRESS\n--\t-----\t-----\n"));
for(i=1;i<=kaysay;i++)
{
fread(&KISI,sizeof(KISI),1,dosya);
if(strcmp(KISI2.ad2,KISI.ad)==0)
{
printf("\n%s\t%s\t%s",KISI.ad,KISI.soyad,KISI.adres);
fat++;
}
}
if(fat==0)
{
printf("\n\MEMBER NOT FOUND...");
}
else
{
printf("\n\n*********************\n");
printf("\n\n%d MEMBER FOUND...",fat);
}
}
if(x==2)
{
printf("\n\nPLEASE GIVE SURNAME:");
gets(KISI2.soyad2);
fat=fileno(dosya);
kaysay=filelength(fat)/sizeof(KISI);
fat=0;
printf("\n*********************\n");
printf("\nSURNAME\tNAME\tADDRESS\n-----\t--\t-----\n");
for(i=1;i<=kaysay;i++)
{
fread(&KISI,sizeof(KISI),1,dosya);
if(strcmp(KISI2.soyad2,KISI.soyad)==0)
{
printf("\n%s\t%s\t%s",KISI.soyad,KISI.ad,KISI.adres);
fat++;
}
}
if(fat==0)
{
printf("\nMEMBER NOT FOUND...");
}
else
{
printf("\n\n*********************\n");
printf("\n\n%d MEMBER FOUND...",fat);
}
}
return 0;
}
char SIL(void)
{
FILE *dosya2;
FILE *dosya;
int kaysay,i;
dosya=fopen("adresb.dat","rb");
cvb=BILGI_EKLEME(dosya);
if(cvb==0)
{
return 0;
}
dosya2=fopen("adresb_y.dat","wb");
cvb=BILGI_EKLEME(dosya2);
if(cvb==0)
{
return 0;
}
printf("\n\nPLEASE GIVE SURNAME ");
gets(KISI2.soyad2);
fat=fileno(dosya);
kaysay=filelength(fat)/sizeof(KISI);
fat=0;
for(i=1;i<=kaysay;i++)
{
fread(&KISI,sizeof(KISI),1,dosya);
if(strcmp(KISI2.soyad2,KISI.soyad)==0)
{
fat++;
printf("\nSURNAME\tNAME\tADDRESS\n-----\t--\t-----");
printf("\n\n%s\t%s\t%s",KISI.soyad,KISI.ad,KISI.adres);
printf("\n\nWILL YOU WANT TO DELETE THIS MEMBER ? Y/N");
cvb=getche();
if(cvb=='y'||cvb=='Y')
continue;
else fwrite(&KISI,sizeof(KISI),1,dosya2);
}
else
fwrite(&KISI,sizeof(KISI),1,dosya2);
}
if(fat==0)printf("\n\MEMBER NOT FOUND!");
fclose(dosya);
fclose(dosya2);
remove("adresb.dat");
rename("adresb_y.dat","adresb.dat");
return 0;
}
char GUNCEL(void)
{
FILE *dosya;
int kaysay,i;
printf("\nUPDATE FOR ADDRESS\n------------------------------");
dosya=fopen("adresb.dat","ab+");
cvb=BILGI_EKLEME(dosya);
if(cvb==0)
return 0;
printf("\n\nPLEASE GIVE SURNAME: ");
gets(KISI2.soyad2);
fat=fileno(dosya);
kaysay=filelength(fat)/sizeof(KISI);
fat=0;
for(i=1;i<=kaysay;i++)
{
fread(&KISI,sizeof(KISI),1,dosya);
if(strcmp(KISI.soyad,KISI2.soyad2)==0)
{
fat++;
printf("\n\n%s\t%s\t%s",KISI.soyad,KISI.ad,KISI.adres);
printf("\nNEW ADDRESS:");
gets(KISI.adres);
fseek(dosya,-sizeof(KISI),1);
fwrite(&KISI,sizeof(KISI),1,dosya);
}
else
continue;
}
if(fat==0)
printf("\n\nMEMBER NOT FOUND!");
fclose(dosya);
return 0;
}
char DOKUM(void)
{
FILE *dosya;
int kaysay,i;
dosya=fopen("adresb.dat","rb");
cvb=BILGI_EKLEME(dosya);
if(cvb==0)
return 0;
printf("\n\nALL OF MEMBER\n***********************\n");
printf("\nSURNAME\t\tNAME\tADDRESS\n------\t---\t------");
fat=fileno(dosya);
kaysay=filelength(fat)/sizeof(KISI);
for(i=1;i<=kaysay;i++)
{
fread(&KISI,sizeof(KISI),1,dosya);
printf("\n%s\t%s\t%s",KISI.soyad,KISI.ad,KISI.adres);
}
printf("\n\nWE HAVE %d MEMBER...",kaysay);
fclose(dosya);
return 0;
}
char BILGI_EKLEME(FILE *f)
{
if(f==NULL)
{
printf("\n\nFOLDER CANT OPEN!!!");
return 0;
}
else return 1;
}işi olan alsın gayet güzel çalışıor
