Hoşgeldin Misafir

C İle Telefon Rehberi

MiRaT

13 Kas 2017
2,077 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
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);
}