1. 26.
    0
    /* bir banka 10000 adet müşterisine ait, müşteri_no, ad_soyad ve kredi_kartı_no bilgilerini “kayıt.txt” isimli bir dosya da tutmaktadır. her bir müşteri 30 gün içerisinde, en az bir alışveriş yapabilmekte olup, müşterinin yaptığı alışveriş
    miktarı ve kredi kartı numarası anında isimli bir başka dosyaya kayıt edilmektedir.
    30 günün sonunda, banka bu iki
    dosyayı kontrol ederek her bir müşterinin müşteri numarasını, ad_soyadını, kredi kartı numarasını ve alışveriş miktarını “ekstre.txt” isimli bir dosyaya kayıt etmektedir. belirtilen bu işlemleri yapan bir program yazınız not: “kayıt.txt” ve “harcama.txt” dosyaları oluşturulacaktır.*/

    örnek 3:
    /*uygulama3_ftell_fseek.cpp */
    14. include <stdio.h>
    15. include <conio.h>
    16. include <stdlib.h>

    int main()
    {file *fp,*fp1,*fp2;
    char cev; int top, kaysay,i;

    struct kayit {int musno;char ad[10];char soy[20];int kartno;
    } mus;
    struct kayit1 {int harcama;int kartno1; } mus1;
    struct kayit2 {int musno;char ad[10];char soy[20];
    int kartno2;int harcama;
    } mus2;

    /* kayit.txt olusturuluyor */
    fp=fopen("kayit.txt","w");
    do
    {printf("n müsteri nosunu giriniz");
    scanf("%d", &mus. musno);
    printf ("nad");scanf("%s", mus.ad);
    printf ("nsoyad");scanf("%s", mus.soy);
    printf ("n kart numarasını giriniz");scanf("%d", &mus. kartno);
    fwrite(&mus, sizeof(mus),1,fp);
    printf("kayıt devam edecekmi");cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp);

    /* harcama.txt olusturuluyor*/
    fp1=fopen("harcama.txt","w");
    do {printf ("n kredi kart numarasini giriniz");
    scanf("%d", &mus1.kartno1);
    printf ("n alisveris miktarini girin");scanf("%d", &mus1.harcama);
    fwrite(&mus1,sizeof(mus1),1,fp1);
    printf("kayıt devam edecekmi");cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp1);

    /*ekstre.txt yi olusturmak */

    fp=fopen("kayit.txt","r");
    fp2=fopen("ekstre.txt","w");
    while(!feof(fp)&&fread(&mus, sizeof(mus),1,fp)==1)
    {top=0;
    fp1=fopen("harcama.txt","r");
    while(!feof(fp1)&&fread(&mus1,sizeof(mus1),1,fp1)

    1)
    {if(mus. kartno

    mus1.kartno1)
    { top=top+mus1.harcama; } if in kapanisi
    mus2.musno=mus. musno;
    strcpy(mus2.ad, mus.ad);
    strcpy(mus2.soy,mus.soy);
    printf("n %d",top); mus2.harcama=top;
    } icteki while in kapanisi
    fwrite(&mus2,sizeof(mus2),1,fp2);
    fclose(fp1);
    }
    fclose(fp);fclose(fp1);

    /* fclose(fp2);*/
    /* extra.txt nin görüntülenmesi*/
    printf("extr görüntüleniyor");
    !!!
    fseek(fp2,0,seek_set);
    kaysay=ftell(fp2)/sizeof(mus2);
    /* fp2=fopen("extre.txt","r");*/

    for (i=1;i<=kaysay;i++)
    {fread(&mus2,sizeof(mus2),1,fp2);
    printf("n %d %s %s %d",
    mus2.kartno2,mus2.ad,mus2.soy,mus2.harcama);
    }
    fclose(fp2);
    }

    filelength ve fileno fonksiyonları

    filelenght ve fileno fonksiyonları kayıt sayısını bulmamıza yardımcı olan fonksiyonlardır ve çoğu c derleyicisinde çalışırlar. bu iki fonksiyonun çalışabilmesi için “io.h” ön işlemcisinin çalıştırılması gereklidir.
    fileno fonksiyonu belirtilen dosyaya long int tipinde bir dosya numarası atanmasını sağlar. filelenght fonksiyonu ise bu dosya numarasını bir parametre olarak alır ve bu dosyanın uzunluğunu byte olarak bulur. bu fonksiyonların kullanımı için örnek 2 yi aşağıdaki gibi düzenleyebiliriz.

    örnek 4:
    /* uygulama4_fileno_filelenght.cpp*/
    17. include <stdio.h>
    18. include <conio.h>
    19. include <stdlib.h>
    20. include <string.h>
    21. include <io.h>

    int main()
    {file *fp,*fp1,*fp2;
    char cev; int top, kaysay,i; long int m;

    struct kayit {int musno;
    char ad[10];
    char soy[20];
    int kartno;
    } mus;

    struct kayit1 {int harcama;
    int kartno1;
    } mus1;

    struct kayit2 {int musno;
    char ad[10];
    char soy[20];
    int kartno2;
    int harcama;
    } mus2;

    /* kayit.txt olusturuluyor */

    fp=fopen("kayit.txt","w");
    do {printf ("nmüsteri nosunu giriniz");
    scanf("%d", &mus. musno);
    printf ("nad");
    scanf("%s", mus.ad);
    printf ("nsoyad");
    scanf("%s", mus.soy);
    printf ("n kart numarasını giriniz");
    scanf("%d", &mus. kartno);
    fwrite(&mus, sizeof(mus),1,fp);

    printf("kayıt devam edecekmi");
    cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp);

    /* harcama.txt olusturuluyor*/

    fp1=fopen("harcama.txt","w");

    do {printf ("n kredi kart numarasini giriniz");
    scanf("%d", &mus1.kartno1);
    printf ("n alisveris miktarini giriniz");
    scanf("%d", &mus1.harcama);
    fwrite(&mus1,sizeof(mus1),1,fp1);
    printf("kayıt devam edecekmi");
    cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp1);

    /*ekstre.txt yi olusturmak */

    fp=fopen("kayit.txt","r");
    fp1=fopen("harcama.txt","r");
    fp2=fopen("ekstre.txt","w");

    while(!feof(fp)&&fread(&mus, sizeof(mus),1,fp)==1)
    {top=0;
    fp1=fopen("harcama.txt","r");
    while(!feof(fp1)&&fread(&mus1,sizeof(mus1),1,fp1)

    1)
    {if(mus. kartno

    mus1.kartno1)
    {top=top+mus1.harcama;}}
    printf("n %d",top); mus2.harcama=top;
    mus2.kartno2=mus. kartno;
    strcpy(mus2.ad,mus.ad); strcpy(mus2.soy,mus.soy);
    fwrite(&mus2,sizeof(mus2),1,fp2);
    fclose(fp1);
    }
    fclose(fp);
    fclose(fp1);

    fclose(fp2);

    /* extra.txt nin görüntülenmesi*/

    fp2=fopen("ekstre.txt","r");

    printf("extre görüntüleniyor");

    m=fileno(fp2);

    printf("n dosya no=%d",m);

    kaysay=filelength(m)/sizeof(mus2);

    printf("n extre.txt dosyasinin kayit uzunlugu=%d",
    filelength(m));

    printf("n *** *kayıt sayisi=%d",kaysay);

    for (i=1;i<=kaysay;i++)
    { fread(&mus2,sizeof(mus2),1,fp2);
    printf("n %d %s %s %d",
    mus2.kartno2,mus2.ad,mus2.soy,mus2.harcama);
    }
    fclose(fp2);
    scanf("%d",&i);
    }

    şimdi, doğrudan erişimli bir dosyada kayıt numarasını kullanarak herhangi bir kayıta ulaşabilmeyi ve bu kayıtta yada tüm kayıtlarda değişiklikler yapabilmeyi ele alalım. örneğin k.cı kayıta ulaşabilmek için, fseek fonksiyonu

    fseek(dosya_değişkeni, (k-1)*sizeof(kayıt_değişkeni_adı) , seek_set)

    şeklinde kullanılmalıdır. örnek olarak, yine örnek 2 yi aşağıdaki gibi düzenleyebiliriz.

    örnek 5:

    /*uygulama5_kayıtno_ile_erişim.cpp*/
    22. include <stdio.h>
    23. include <conio.h>
    24. include <stdlib.h>
    25. include <string.h>
    26. include <io.h>
    int main()
    {file *fp,*fp1,*fp2;
    char cev; int top, kaysay,i; long int m,kayitno;

    struct kayit {int musno;
    char ad[10];
    char soy[20];
    int kartno;
    } mus;

    struct kayit1 {int harcama;
    int kartno1;
    } mus1;

    struct kayit2 {int musno;
    char ad[10];
    char soy[20];
    int kartno2;
    int harcama;
    } mus2;

    /* kayit.txt olusturuluyor */

    fp=fopen("kayit.txt","w");
    do {printf ("nmüsteri nosunu giriniz");
    scanf("%d", &mus. musno);
    printf ("nad");
    scanf("%s", mus.ad);
    printf ("nsoyad");
    scanf("%s", mus.soy);
    printf ("n kart numarasını giriniz");
    scanf("%d", &mus. kartno);
    fwrite(&mus, sizeof(mus),1,fp);

    printf("kayıt devam edecekmi");
    cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp);

    /* harcama.txt olusturuluyor*/

    fp1=fopen("harcama.txt","w");

    do {printf ("n kredi kart numarasini giriniz");
    scanf("%d", &mus1.kartno1);
    printf ("n alisveris miktarini giriniz");
    scanf("%d", &mus1.harcama);
    fwrite(&mus1,sizeof(mus1),1,fp1);
    printf("kayıt devam edecekmi");
    cev=getche();
    } while (cev

    'e'|| cev

    'e');
    fclose(fp1);

    /*ekstre.txt yi olusturmak */

    fp=fopen("kayit.txt","r");
    fp1=fopen("harcama.txt","r");
    fp2=fopen("ekstre.txt","w");

    while(!feof(fp)&&fread(&mus, sizeof(mus),1,fp)==1)
    {top=0;
    fp1=fopen("harcama.txt","r");
    while(!feof(fp1)&&fread(&mus1,sizeof(mus1),1,fp1)

    1)
    {if(mus. kartno

    mus1.kartno1)
    {top=top+mus1.harcama;}}
    printf("n %d",top); mus2.harcama=top;
    mus2.kartno2=mus. kartno;
    strcpy(mus2.ad,mus.ad); strcpy(mus2.soy,mus.soy);
    fwrite(&mus2,sizeof(mus2),1,fp2);
    fclose(fp1);
    }
    fclose(fp);
    fclose(fp1); fclose(fp2);

    /* extra.txt nin görüntülenmesi*/

    fp2=fopen("ekstre.txt","r");
    printf("extre görüntüleniyor");
    m=fileno(fp2);
    printf("n dosya no=%d",m);
    kaysay=filelength(m)/sizeof(mus2);

    printf("n extre.txt dosyasinin kayit uzunlugu=%d",
    filelength(m));

    printf("n *** *kayıt sayisi=%d",kaysay);

    for (i=1;i<=kaysay;i++)
    {fread(&mus2,sizeof(mus2),1,fp2);
    printf("n %d %s %s %d",mus2.kartno2,mus2.ad,mus2.soy,mus2.harcama);
    }

    printf("n ekstre.txt nin herhangi bir kayitina kayit no ile ulasalim");
    printf("kacinci kayita ulaşmak istersiniz");
    scanf("%d",&kayitno);
    fseek(fp2,(kayitno-1)*sizeof(mus2),seek_set);
    {fread(&mus2,sizeof(mus2),1,fp2);
    printf("n %d %s %s %d",mus2.kartno2,mus2.ad,mus2.soy,mus2.harcama);
    }
    fclose(fp2);
    }
    ...

    kriptoloji: haberleşen iki veya daha fazla tarafın bilgi alışverişini emniyetli olarak yapmasını sağlayan, temeli matematiksel zor problemlere dayanan tekniklerin ve uygulamaların bütünüdür.

    kriptografi: bilginin şifrelenmesi ve şifrenin çözülmesi için kullanılan yöntemlere verilen addır.
    .
    kriptoanaliz: kriptografi sistemleri tarafından ortaya konan bir şifreleme sistemini inceleyerek zayıf ve kuvvetli yönlerini ortaya koymayı amaçlayan bilim dalıdır.
    ...

    bir kriptosistemin 5 elemanı vardır.

    p=plaintext: şifrelenecek olan düz metinsssssssssssssssssssssss

    not:daha uzununu girerek gibtim seni.
    Tümünü Göster
    ···