Şimdi Ara

C dili integer kontrolü

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
654
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • C dilinde klavyeden girilen verinin integer mı yoksa string mi olduğunu kontrol nasıl ediyoruz. Misal int girilmesi gereken yerde herhangi bir karakter girince program patlıyor sonsuz döngüye giriyor. Karakter girişini nasıl yakalayıp ekrana hata verdirebiliriz? Teşekkürler..



  • scanf ve if kullanarak yapabilirsin. scanf ile tanımladığım değişken türünde içerik scan edilmezse false return eder.



    #include <stdio.h>
    #include <stdlib.h>

    int main(void) {

    int number;

    printf("Enter a number: ");
    if(scanf("%d", &number) != 1) {
    printf("Hey! It is not a number.");
    return EXIT_FAILURE;
    } else {
    printf("You have entered %d", number);
    }

    }


  • quote:

    Orijinalden alıntı: Start Again

    scanf ve if kullanarak yapabilirsin. scanf ile tanımladığım değişken türünde içerik scan edilmezse false return eder.



    #include <stdio.h>
    #include <stdlib.h>

    int main(void) {

    int number;

    printf("Enter a number: ");
    if(scanf("%d", &number) != 1) {
    printf("Hey! It is not a number.");
    return EXIT_FAILURE;
    } else {
    printf("You have entered %d", number);
    }

    }


    Teşekkür ederim. Fakat şimdi de şöyle bir problem oluyor. Programımda eğer karakter girilirse goto kullanarak tekrar alınmasını sağlamak istiyorum. İstediğim hatayı veriyor ama yine sonsuz döngüye girip program patlıyor. Kodlar şu şekilde:
    giris:
    system("cls");
    printf("\t\t--->>>ANA MENU<<<---\n");
    printf("1.Sans Oyunlari\n");
    printf("2.Cekilis Istatistikleri\n");
    printf("3.Cikis\n");
    printf("Seciminizi Giriniz:");
    if(scanf("%d", &girisSecim) == 0) {
    printf("\nGecerli giris yapiniz..");
    goto giris;
    }

    Teşekkürler..




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.