14 : Konsol Giriş Kısıtlama - Karakter harici girişleri engelleme

Kod yazarken en önemli konulardan biri yazılan kodun hataya açık olmamasıdır. Hata çözme ilk olarak kodu yazarken yapılır. Kodu yazan kişi bütün açık kapıları düşünmelidir. Daha sonra çok kez test yapılır ve tekrar gözden geçirilir.

Önceki örneklerimizde bir işlem yaparken bir limit belirleyip ve bunu son kullanıcıdan istiyoruz. Örneğin aritmetik işlem yaptırırken kullanıcıdan sayı girmesini bekliyoruz. Son kullanıcı bilerek ve ya bilmeyerek sayı girmesi gerekirken her hangi bir karakter girebilir. Bu gibi durumları kontrol etmediğimiz durumlarda kodda problemler oluşacaktır.

Şuan bildiğimiz konulardan bir örnekle göstermek gerekirse, kullanıcının sadece küçük harf girmesini isteyelim.


kucukharf.c
#include<stdio.h>
int main() {

    char islem;
    printf("Kucuk harf giriniz: ");
 
    do{
      scanf("%c", &islem);
    }while (islem < 97 || islem > 122);

   return 0;
}
 

Burada bahsetmek istediğim ikinci bir konu ise do while döngüsü. Do while döngüsü yine bir döngü yapısıdır ancak bu döngü her durumda bir kez kesin çalışır. Diğer döngülerde kontrol yapısı tutarlı değilse çalışmadan geçebilir. Ancak bu döngü önce döngü içindeki kodu çalıştırır ve daha sonra tekrar çalıştırılıp çalıştırılmayacağını kontrol eder.

Yukarıdaki örnekte de önce bir kez kullanıcıdan giriş istedik. Bunun küçük harf olup olmadığını sonra kontrol ettik. Bu tabii for ya da while döngüsü ile de yapılabilirdi ancak bu şekilde daha sadeleşmiş oluyor kod. 

Yorumlar

  1. sayı girmesi gerekirken yanlışlıkla karakter girmesini engellemeyi anlatmamışsın ki :D

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

31 : Fonksiyonda Struct Kullanımı

Structure - 29 : Yapılar ile Öğrenci Bilgileri Tutma

23 : İki Karakter Dizisini Birleştirme