Kod:
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
typedef struct
{
char isim[100];
long int kod;
long int numara;
} telephone;
**** KayitEkle();
**** TelefonListele();
**** KayitGuncelle();
**** NumaraKayitBul();
**** IsimKayitBul();
**** KayitSil();
int main(int argc, char *argv[])
{
setlocale(LC_ALL, "Turkish");
FILE *prehber;
prehber=fopen("telefonrehber.txt","rb+");
if(prehber==NULL)
prehber=fopen("telefonrehber","w");
int secim,sayi=0;
while(sayi==0)
{
Menu();
scanf("%d",&secim);
switch(secim)
{
case 1:
KayitEkle();
break;
case 2:
TelefonListele();
break;
case 3:
KayitGuncelle();
break;
case 4:
NumaraKayitBul();
break;
case 5:
IsimKayitBul();
break;
case 6:
KayitSil();
break;
case 7:
sayi=1;
printf("Çıkmak için bir tuşa basınız.");
break;
default:
system("CLS");
printf("\n \n Yanlış seçim yaptınız. Tekrar seciniz.\n");
}
}
return 0;
}
**** Menu()
{
printf("*****************************************************\n");
printf("\tTELEFON REHBERİ V1.0\n");
printf("*****************************************************\n");
printf("İŞLEMLER\n\n");
printf("-----------------------------------------------------\n");
printf("1.Kayıt Ekle\n");
printf("2.Telefonları Listele\n");
printf("3.Kaydı Düzenle\n");
printf("4.Numara İle Kayıt Bul\n");
printf("5.İsim ile Kayıt Bul\n");
printf("6.Kayıt Sil\n");
printf("7.Çıkış\n");
printf("Seçim:");
}
**** KayitEkle(****)
{
system("CLS");
FILE *prehber;
telephone rehber= { "", 0, 0 };
prehber=fopen("telefonrehber.txt","ab");
if(prehber==NULL)
{
printf("Dosya Açılmadı.\n");
exit(1);
}
else
{
printf("\n\n\t\t *****KAYIT EKLE*****\n\n\n");
printf("İsmi Giriniz:");
scanf("%s",rehber.isim);
long long randomsayi;
srand(time(NULL));
randomsayi=100000+rand()%899999;
printf("Numarayı giriniz:");
scanf("%ld",&rehber.numara);
rehber.kod=randomsayi;
if(fwrite(&rehber,sizeof(telephone),1,prehber)!=1)
{
printf("Yazma hatası");
exit(1);
}
printf("Ozel rehber kodunuz: %lld \n",randomsayi);
printf("Bu kodu kullanarak silme islemi yapabilirsiniz. \n");
printf("------------------------------- \n");
printf("Kişi başarıyla eklendi\n\n");
printf("------------------------------- \n");
printf("\n");
rewind(prehber);
}
}
**** TelefonListele(****)
{
system("CLS");
FILE *prehber;
telephone rehber;
prehber=fopen("Telefonrehber.txt","rb");
if(prehber==NULL)
{
printf("TelefonRehber.txt dosyasi acilmadi!\n");
exit(1);
}
printf("\n\n******Rehber Listele*****\n");
printf("İsim \t\t| Kod \t\t| Numara\n");
printf("-----------------------------------------------------\n");
fread(&rehber,sizeof(telephone),1,prehber);
while(!feof(prehber))
{
if(strcmp(rehber.isim,""))
printf("%10s \t| %10ld \t| %10ld\n",rehber.isim,rehber.kod,rehber.numara);
fread(&rehber,sizeof(telephone),1,prehber);
}
fclose(prehber);
}
**** KayitGuncelle(****)
{
telephone rehber;
char isim[50];
int sayac=0;
FILE *prehber;
if((prehber=fopen("telefonrehber.txt","rb+"))==NULL)
{
printf("Dosya açılmadı");
}
printf("\n\nKayıt Düzenleme\n");
printf("Güncellenecek İsimi Giriniz:");
scanf("%s",isim);
while(!feof(prehber))
{
fread(&rehber,sizeof(rehber),1,prehber);
sayac++;
if(!strcmp(rehber.isim,isim))
{
system("CLS");
printf("\n\nDuzenlenecek Konum: %d",sayac);
printf("\n Isim : %s",rehber.isim);
printf("\n Kod : %ld",rehber.kod);
printf("\n Numara : %ld",rehber.numara);
printf("\n#####################################\n");
printf("Yeni İsmi giriniz:");
scanf("%s",rehber.isim);
printf("Yeni Kodu giriniz:");
scanf("%ld",&rehber.kod);
printf("Yeni Numarayi giriniz:");
scanf("%ld",&rehber.numara);
fseek(prehber,(sayac-1)*sizeof(rehber),SEEK_SET);
fwrite(&rehber,sizeof(rehber),1,prehber);
system("CLS");
printf("----------------------------\n");
printf("---------------------------\n\n");
printf("Duzenleme islemi basarili. \n\n");
printf("---------------------------\n");
printf("----------------------------\n");
break;
}
if(feof(prehber))
{
{
system("CLS");
printf("Kisi Bulunamadı..!\n");
printf("Tekrar Arama Yapmak İster misiniz? (E/H)-(e/h)\n");
char ch=getch();
if(ch=='E' || ch=='e')
{
KayitGuncelle();
}
else
{
printf("Arama Yapılmadı Menuye yonlendiriliyorsunuz..!\n\n");
}
}
break;
}
}
fclose(prehber);
}
NumaraKayitBul()
{
system("CLS");
FILE *prehber;
telephone rehber;
int no;
int sayac=0;
prehber=fopen("Telefonrehber.txt","rb");
printf("\n*****Numara Arama*****\n");
printf("Numara Giriniz:");
scanf("%d",&no);
fread(&rehber,sizeof(telephone),1,prehber);
while(!feof(prehber))
{
if(rehber.numara==no)
{
printf("\nIsim : %s",rehber.isim);
printf("\nKod : %ld",rehber.kod);
printf("\nNumara : %ld",rehber.numara);
printf("\n##########################################\n");
sayac++;
}
fread(&rehber,sizeof(telephone),1,prehber);
}
if(sayac==0)
{
printf("Numara Bulunamadı.\n");
}
else
{
printf("%d Adet Numara Bulundu.\n\n",sayac);
}
fclose(prehber);
}
IsimKayitBul()
{
system("CLS");
FILE *prehber;
telephone rehber;
char ad[50];
int sayac=0;
prehber=fopen("Telefonrehber.txt","rb");
printf("\n*****İsim Arama*****\n");
printf("İsim Giriniz:");
scanf("%s",ad);
fread(&rehber,sizeof(telephone),1,prehber);
while(!feof(prehber))
{
if(!strcmp(rehber.isim,ad))
{
printf("\nIsim : %s",rehber.isim);
printf("\nKod : %ld",rehber.kod);
printf("\nNumara : %ld",rehber.numara);
printf("\n#####################################\n");
sayac++;
}
fread(&rehber,sizeof(telephone),1,prehber);
}
if(sayac==0)
{
printf("İsim Bulunamadı.\n");
}
else
{
printf("%d Kişi Bulundu.\n\n",sayac);
}
fclose(prehber);
}
**** KayitSil(****)
{
system("CLS");
telephone rehber,boskayit= {"",0,0};
long int kod;
int sayac=0;
FILE *prehber;
if((prehber=fopen("telefonrehber.txt","rb+"))==NULL)
{
printf("Dosya açılmadı");
}
printf("\n\n\n");
printf("Kayit Sil\n");
printf("Silinecek kisinin Kodunu Giriniz: \n");
printf("NOT: Kayit olurken verilmis random kod kayitlari goruntuleden kodunuzu ogrenin \n ");
scanf("%ld",&kod);
printf("\n");
while(fread(&rehber,sizeof(rehber),1,prehber))
{
sayac++;
if(rehber.kod==kod)
{
printf("Konum1:%d",sayac);
printf("\nIsim : %s",rehber.isim);
printf("\nKod : %ld",rehber.kod);
printf("\nNumara : %ld",rehber.numara);
printf("\n###################################\n");
fseek(prehber,(sayac-1)*sizeof(rehber),SEEK_SET);
fwrite(&boskayit,sizeof(rehber),1,prehber);
printf("\nKayıt Silindi..!\n");
break;
}
}
if(rehber.kod!=kod)
{
printf("Kayıt Bulunamadı..!\n");
printf("Tekrar Arama Yapmak İster misiniz? (E/H)-(e/h)\n");
char ch=getch();
if(ch=='E' || ch=='e')
{
KayitSil();
}
else
{
printf("Arama Yapılmadı..!\n\n");
}
}
fclose(prehber);
}
Son düzenleme: