Bu yazımızda C programlama ile kullanıcıdan veri alma konusunu işleyeceğiz. Neticede programlarımızı kendimiz için değil, kullanıcılar için yazıyoruz. Dolayısıyla programlarımızın çoğunda kullanıcıdan veri alıyoruz. Basit ama ileride sürekli kullanacağımız bir fonksiyon.
C dilinde kullanıcıdan veri alma ‘scanf’ komutu ile yapılır. Komutu kullanırken, değişkenleri ekrana yazdırırken olduğu gibi biçim ifadeleri kullanırız. Biçim ifadelerinden C dilinde değişkenleri ekrana yazdırma yazımızda da bahsetmiştik. Hemen biçim ifadelerini hatırlayalım.
Değişken | Biçim ifadesi |
---|---|
int | %d |
char | %c, %s |
float | %f |
double | %lf |
Şimdi gelelim scanf fonksiyonunu nasıl kullanacağımıza.
scanf(“biçim ifadesi”, &değişkenler);
Scanf fonksiyonunu kullanırken, değişkenleri yazarken başına ‘&’ işareti koymalıyız. Aksi taktirde kullanıcıdan aldığı veriyi değişkene atamayacaktır.
Şimdide daha iyi anlayabilmeniz için, tüm değişkenleri görebileceğimiz bir kullanıcıdan veri alma örneği görelim;
#include <stdio.h>
int main(){
int sayi;
char karakter;
char kelime[10];
float vSayi;
double vSayi2;
printf("Sayi giriniz : "); scanf("%d",&sayi);
printf("Karakter giriniz : "); scanf(" %c", &karakter);
printf("Kelime giriniz : "); scanf("%s",kelime);
printf("Virgullu sayi giriniz : "); scanf("%f",&vSayi);
printf("Daha hassas virgullu sayi giriniz : "); scanf("%lf",&vSayi2);
printf("%d \n", sayi);
printf("%s \n", kelime);
printf("%f \n", vSayi);
printf("%lf \n", vSayi2);
}
Çıktısı :
Dikkat etmemiz bir diğer konu , char ile bir karakter alırken %c, bir kelime alırken %s kullanılır. Ayrıca bilmeniz geren diğer konu ise scanf komutu ile kullanıcıdan bir cümle alamıyoruz. Yani sadece bir kelime yazılması gerekiyor. Cümle almak istersek, bir diğer veri alma komutu olan getchar komutunu kullanmamız gerekiyor.
Bu yazımızda C programlama ile scanf kullanarak, kullanıcıdan veri alma konusunu işledik. Umarım faydalı olmuştur. Sorularınız olursa aşağıdaki yorum kısmında belirtebilirsiniz. Ayrıca diğer C programlama dersleri yazılarımızı okumak isterseniz buraya tıklayarak ulaşabilirsiniz.
[…] yazacağız. Sorumuzun zorluk düzeyi başlangıç seviyesi. Fakat yeni başlayanlar için, kullanıcıdan veri alma ve değişkenleri ekrana yazdırma konusunu anlamak için çözülmesi gereken iyi bir […]