Şimdi Ara

C dili için yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
5
Cevap
0
Favori
307
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar ben yazılıma yeni başladım da internetten video izleyerek C öğreniyorum. Konu arraylere geldi. Ben de bu arrayleri kullanarak bir kullanıcı giriş paneli yapmak istedim. Fakat nerde yanlışlık yaptım anlayamadım. Bir türlü doğru şekilde çalışmıyor. Ne yazarsam yazıyım kullanıcı adı hatalı diyor. Nerde yanlış yaptığımı söyler misiniz?

    Kod:

    #include<stdio.h>



    int main(){

    char a[5];

    int sifre;

    printf("Kullanici adinizi giriniz:");

    scanf("%s",a);

    if(a != "ahmet"){

    printf("Kullanici adi hatali.");

    return 0;

    }

    printf("Sifrenizi giriniz:");

    scanf("%d",&sifre);

    if(sifre != 123456){

    printf("Sifre hatali.");

    return 0;

    }

    printf("Hosgeldiniz efendim.");

    return 0;

    }




  • Array'leri yanlış anlamışsın dostum.Diyelim ki bir adet elman var. [5] demek 5 öğeli array demek. Yani 5 adet elma bir sepette demek. ama sen 5 elmanın yan yana duruşunu soruyorsun. Array sana bunu vermez.Array sana elmalarla dolu bir sepet verir, sepetin içinde ki elmaları yorumlamaz.
    Senin düşüncene göre 'ahmet' olan bir şifreyi array olarak tutup eşleştirmen için

    a[0]="A";
    a[1]="h";
    a[2]="m";
    a[3]="e";
    a[4]="t";

    şeklide her bir öğeyi kontrol etmen gerek.Zaten hiç kimse kullanıcı adı vs bu şekilde tutmaz. Kullanıcı adı "Ahmet" char array da aynı değeri taşımaz.
  • #include <stdio.h>
    #include <string.h>

    int main(){
    char a[5];
    int sifre;

    printf("Kullanici adinizi giriniz:");
    scanf("%s",a);

    if(strcmp(a, "ahmet") == 1){
    printf("Kullanici adi hatali.");
    return 0;
    }

    printf("Sifrenizi giriniz:");
    scanf("%d",&sifre);

    if(sifre != 123456){
    printf("Sifre hatali.");
    return 0;
    }

    printf("Hosgeldiniz efendim.");


    return 0;
    }


    Merhaba. Char arraylerini '!=' operatörünü kullanarak kontrol edemezsiniz. Char arraylerini kontrol edebilmek içim 'string.h' header dosyası içerisindeki 'strcmp' fonksiyonunu kullanmanız gerekli. 'strcmp' fonksiyonu eğer arrayler aynıysa 0, aynı değilse 1 değerini döndürür.
  • Teşekkür ederim çok yardımcı oldunuz.
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.