folder Tahribat.com Forumları
linefolder C - C++
linefolder C'de Login Programı(Yardım)



C'de Login Programı(Yardım)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Banlanmış Üye
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    #include <conio.h>

    #include <stdlib.h>

    #include <stdio.h>

    void main()

    {

        char  userid[8],password[8],id[8],pss[8],p[15],u[15];

        int n=1,a,b,i=0,temp=0;

    FILE *fp;{

    printf("Please Register to system\n");

       printf("Please enter your user id:");

       scanf("%s",&userid);

       printf("please enter your password:");

       scanf("%s",&password);

       fp = fopen("database.txt","a+");

       fprintf(fp,"User id: %s, password: %s\n",userid,password);

       fclose(fp);

    }

     

     

    printf("\nEnter USER ID and PASSWORD below (You have only three chances to enter)");

    getch();

    while(n<=3)

    {

     

    printf("\nUSER ID: ");

    scanf("%s",u);

    printf("\nPASSWORD: ");

    scanf("%s",p);

    a=strcmp(u,userid);

    b=strcmp(p,password);

    if(a==0&&b==0)

    {

    printf("\nYou have logged in successfully.");

    getch();

    }

    else

    {

    printf("\nWrong PASSWORD and/or USER ID. Now you have %d more chance/s.",3-n);

     

    getch();

    n++;

    }

    if(n==4)

    printf("you can not login");

    };

    getch();

    return 0;

    }

     

    Arkadaşlar, şöyle bir kod yazdım.Şimdi yazdığım programda ilk başta kullanıcıdan bilgiler alınarak masaüstünde "database.txt" adlı bir klasör oluşturuyor

    bu klasörün içinde önceden kullanıcıdan alınan "user ve password" bilgileri var.

    Programım bilgiler alınıp ve masaüstüne kaydedildikten sonra daha sona ermiyor,

    bilgiler alındıktan sonra kullanıcıdan user id'si ve parolası isteniyor, eğer doğruysa başarıyla girdiniz yazıyor,

    doğru değilse 3 kere daha denemenizi söylüyor ve  eğer yanlış girerseniz, sisteme giriş yapamazsınız diyor

    Not: password kısmını daha yapmadım, çünkü girdiğiniz parola normal karakter olarak gözüküyor ama ****** diye gözükmesi lazım, o sorun değil.


    Şimdi

    Kısaca programı geliştirmek istiyorum, şöyleki;

    sistem sizden bilgileri alıp kaydettikten sonra direk giriş yapmayacak.Önceden kaydedilen tüm kullanıcıları kontrol edip daha sonra başarıyla giriş yaptınız veya yapmadınız diyecek.

    Sizden isteğim sadece bu kontrol işlemini hangi kod sistemiyle yapılıyor bunu bilmiyorum ve sizden vidolu olur veya sadece makale olur, yardım istiyorum link olarak. 

     

    https://t.me/pump_upp
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Banlanmış Üye
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    pardon :)

     


    https://t.me/pump_upp
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    Sakin ol hacı. Sen de iyi biliyorsun ki insanların işi gücü var. İlgili arkadaşlar konuyu gördüklerinde yazarlar zaten.

    Sorunun cevabına gelirsek;

    Database olmadan, dosya üzerinde bu işleri yapmak biraz daha uğraştırıcı sanki. Ama madem elimizde bunlar var sadece, eldekileri kullanarak bi şeyler yapmaya çalışalım.

    username password

    username password

    .... ....

    ... ...

    şeklinde kayıtlar tutabilirsin dosyada. Daha sonra her bir satır bir kayıt ve boşluk karakterinin öncesi username, sonrası da password olacak şekilde bir yapı kurup, her kayıt için bir nesne yaratabilrisin. (Nesne dediğim C için struct kullanabilirsin). Bütün bu kayıtları bir diziye atıp, kontrol yapmak istediğinde dizi elemanlarında arama yapabilirsin. Girilen değer ikililerini, elinde tuttuğun dizideki her bir eleman ile karşılaştırırsın falan. Yani ben olsam böyle bir şeyler yapmaya çalışırdım.


    Sen hiç kaval çaldın mı?
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    15 dakika içinde yanıt verilmediği için sinirlenen arkadaşım ne istediğin bulanık önce bunu bir netleştir. Soruyu net sor ki yanıtı da net al

     

    sistem sizden bilgileri alıp kaydettikten sonra direk giriş yapmayacak.Önceden kaydedilen tüm kullanıcıları kontrol edip daha sonra başarıyla giriş yaptınız veya yapmadınız diyecek.

     

    bilgileri alıp kaydetmek dediğin şey register kısmı ve istediğin şey de yeni eklenen kullanıcının bilgilerinin daha önce var olup olmadığı mı

    veya

    giriş kısmında giriş yapan kullanıcının dosya içerisinde var olup olmadığı mı

    veya

    başka bir şey mi??

    Önce bunu netleştir.

     

     


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    manyaki
    manyaki's avatar
    Kayıt Tarihi: 27/Temmuz/2005
    Erkek

    Hocam fazla vaktim olmadığı için kodu direk yazamıyorum kusura bakma. Umarım istediğin şeyi doğru anlamışımdır, anladığım şekilde bir algoritma yazıcam. Bu gece ya da yarın öğlene doğru kodu da direk olarak yazabilirim hala gerekiyor olursa.

     

    1- Kullanıcı Adı iste, değişkene ata

    2- Şifre iste, değişkene ata

    3- FILE pointer, 'w' komutu kullanarak database.txt adlı text dosyasını oluşturup içine bu bilgileri yazdır. (fprintf)

    4- Kullanıcı Adı iste, değişkene ata

    5- Şifre iste, değişkene ata

    6- FILE pointer, 'r' komutu ile username e ait kısmı string olarak bir değişkene ata

    7- FILE pointer, 'r' komutu ile password e ait kısmı string olarak bir değişkene ata

    8- Kullanıcıdan aldığın username,password ile database.txt den çektiğin username,password u karşılaştır.

    9- Doğru ise printf("giriş yapıldı."); , yanlış ise printf("Yanlış k.adı veya şifre"); return 0;

    10- BİTİR


    since 2005 // tbt
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Banlanmış Üye
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    JPriest bunu yazdı:
    -----------------------------

    Sakin ol hacı. Sen de iyi biliyorsun ki insanların işi gücü var. İlgili arkadaşlar konuyu gördüklerinde yazarlar zaten.

    Sorunun cevabına gelirsek;

    Database olmadan, dosya üzerinde bu işleri yapmak biraz daha uğraştırıcı sanki. Ama madem elimizde bunlar var sadece, eldekileri kullanarak bi şeyler yapmaya çalışalım.

    username password

    username password

    .... ....

    ... ...

    şeklinde kayıtlar tutabilirsin dosyada. Daha sonra her bir satır bir kayıt ve boşluk karakterinin öncesi username, sonrası da password olacak şekilde bir yapı kurup, her kayıt için bir nesne yaratabilrisin. (Nesne dediğim C için struct kullanabilirsin). Bütün bu kayıtları bir diziye atıp, kontrol yapmak istediğinde dizi elemanlarında arama yapabilirsin. Girilen değer ikililerini, elinde tuttuğun dizideki her bir eleman ile karşılaştırırsın falan. Yani ben olsam böyle bir şeyler yapmaya çalışırdım.


    -----------------------------

    Evet istediğim tam böyle birşeydi, programı baştan editleyip önce algoritmasını tutmam gerekiyor.Struct kısmını iyiki hatırlattın gayet mantıklı, Teşekkürler.


    https://t.me/pump_upp
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Banlanmış Üye
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    Sscheme bunu yazdı:
    -----------------------------

    15 dakika içinde yanıt verilmediği için sinirlenen arkadaşım ne istediğin bulanık önce bunu bir netleştir. Soruyu net sor ki yanıtı da net al

     

    sistem sizden bilgileri alıp kaydettikten sonra direk giriş yapmayacak.Önceden kaydedilen tüm kullanıcıları kontrol edip daha sonra başarıyla giriş yaptınız veya yapmadınız diyecek.

     

    bilgileri alıp kaydetmek dediğin şey register kısmı ve istediğin şey de yeni eklenen kullanıcının bilgilerinin daha önce var olup olmadığı mı

    veya

    giriş kısmında giriş yapan kullanıcının dosya içerisinde var olup olmadığı mı

    veya

    başka bir şey mi??

    Önce bunu netleştir.

     

     


    -----------------------------

    Evet tam olarak iriş yapan kullanıcının dosya içerisinde var olup olmadığını check edip sonra yanıt vermesi


    https://t.me/pump_upp
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Esconda
    Esconda's avatar
    Banlanmış Üye
    Kayıt Tarihi: 28/Eylül/2007
    Erkek

    Hocam fazla vaktim olmadığı için kodu direk yazamıyorum kusura bakma. Umarım istediğin şeyi doğru anlamışımdır, anladığım şekilde bir algoritma yazıcam. Bu gece ya da yarın öğlene doğru kodu da direk olarak yazabilirim hala gerekiyor olursa.

     

    1- Kullanıcı Adı iste, değişkene ata

    2- Şifre iste, değişkene ata

    3- FILE pointer, 'w' komutu kullanarak database.txt adlı text dosyasını oluşturup içine bu bilgileri yazdır. (fprintf)

    4- Kullanıcı Adı iste, değişkene ata

    5- Şifre iste, değişkene ata

    6- FILE pointer, 'r' komutu ile username e ait kısmı string olarak bir değişkene ata

    7- FILE pointer, 'r' komutu ile password e ait kısmı string olarak bir değişkene ata

    8- Kullanıcıdan aldığın username,password ile database.txt den çektiğin username,password u karşılaştır.

    9- Doğru ise printf("giriş yapıldı."); , yanlış ise printf("Yanlış k.adı veya şifre"); return 0;

    10- BİTİR

     

    Teşekkürler hocam, Konunun irdelenmesi ve anlaşılması için gayet hoş olur.


    https://t.me/pump_upp
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Sscheme
    Sscheme's avatar
    Kayıt Tarihi: 04/Mart/2007
    Erkek

    Dosyayı struct yapısıyla tutmak en mantıklısı o şekilde yaparsan dosyanın sonuna kadar okur elindeki username password ile karşılaştırırsın kod da

     

    login = 0; // giriş yapılmış mı yapılmamış mı başta yapılmadığı için 0 olacak

    while login 1 olmadıkça veya dosya sonuna gelinmedikçe

    {

    dosyadan struct ı oku

    okunanla girilenin kullanıcı adı ve şifresi aynı mı kontrol et

    eğer aynıysa login i 1 yap

    değilse tekrar oku

    }

    döngüden çıktığında login 1 se adam girmiştir değilse kapının önüne koy

     

    gibi olabilir.


    Bütün mesajlarım ve konularım BSD Lisansı"yla lisanslanmıştır.
Toplam Hit: 1296 Toplam Mesaj: 9