Giriş Yap Kayıt ol Online Üyeler Aktif Konular Arama Üyeler Forum Kuralları
Tahribat.Com | C‘de Login Programı(yardım)
Tahribat.Com Forumları
C - C++
      C‘de Login Programı(yardım)
Bu Bölümde yeni konu açmak için tıklayın Konuyu cevaplamak için tık...
Konu 6 Aralik 2011 (Sali) 15:55 tarihinde açıldı. Kısayol | Alıntı yap | Özel Mesaj
Esconda


Kayıt : 28 Eylül 2007
Çizim Masasından
Top Üye
 

#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. 

 

Madem bu dünyanın hem başı hem sonu hiç,Bu iki hiç arasında varlık olur mu hiç 
6 Aralik 2011 (Sali) 16:10 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Esconda


Kayıt : 28 Eylül 2007
Çizim Masasından
Top Üye
 

pardon :)

 


Madem bu dünyanın hem başı hem sonu hiç,Bu iki hiç arasında varlık olur mu hiç 
6 Aralik 2011 (Sali) 16:26 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
JPriest


Kayıt : 9 Mart 2007
İstanbul--Çanakkale
Erkek Üye
 

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ı? 
6 Aralik 2011 (Sali) 16:31 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Sscheme


Kayıt : 4 Mart 2007
NULL
Erkek Üye
 

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. 
6 Aralik 2011 (Sali) 16:48 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
manyaki


Kayıt : 27 Temmuz 2005
Erkek Üye
 

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


kalem kılıçtan keskin sirke küpüne zararın neresinden dönerse senindir dönmezse hiç senin olmak yada olmamak işte bütün mesele bu. 
6 Aralik 2011 (Sali) 17:21 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Esconda


Kayıt : 28 Eylül 2007
Çizim Masasından
Top Üye
 

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.


Madem bu dünyanın hem başı hem sonu hiç,Bu iki hiç arasında varlık olur mu hiç 
6 Aralik 2011 (Sali) 17:23 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Esconda


Kayıt : 28 Eylül 2007
Çizim Masasından
Top Üye
 

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


Madem bu dünyanın hem başı hem sonu hiç,Bu iki hiç arasında varlık olur mu hiç 
6 Aralik 2011 (Sali) 17:26 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Esconda


Kayıt : 28 Eylül 2007
Çizim Masasından
Top Üye
 

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.


Madem bu dünyanın hem başı hem sonu hiç,Bu iki hiç arasında varlık olur mu hiç 
6 Aralik 2011 (Sali) 17:36 tarihinde yazıldı. Kısayol | Alıntı yap | Özel Mesaj
Sscheme


Kayıt : 4 Mart 2007
NULL
Erkek Üye
 

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. 

[1]


Bu Bölümde yeni konu açmak için dıklayın Konuyu cevaplamak için tık...
Allah'a Havale Et Google Bookmark'a Ekle Yahoo'ya Ekle Stumbleupon'a Ekle Facebook'a Ekle Twitter'a Ekle   Google'da Ara : C‘de Login Programı(yardım) Favorilerime Ekle Yukarı Çık
Konuda 9 Mesaj Var.
Konu 294 Sefer Gösterilmiş.
2001-2012 © Tahribat Group - Her Hakkı Saklıdır. - ● Gizlilik İlkeleri ● Kullanım Koşulları ● İletişim