C# Konsoldan Veri Girmek



Konsoldan Veri Girmek

KONSOLDAN VERİ GİRMEK

Programlar çoğu zaman
bizim girdiğimiz verilere göre işlemlerini yürütürler. Daha önce,
görsel programlarda fare hareketleri ile, butonlara tıklamalarla
veya yazı kutularına klavyeden bir şeyler yazarak veri girişi
yaptık. Veri girişlerinin klavye veya fare ile yapıldığını bu
nedenle biliyoruz zaten.

C# konsol
uygulamalarında veri girişi daima klavyeden yazı yazma ile
gerçekleşir. Genellikle konsol uygulamalarında program
kullanıcıdan bir şeyler girmesini ister ve kullanıcının verdiği
yanıta göre kullanıcının ne demek istediğini anlamaya çalışır.

İşte bizim konsolda klavyeden
giriş yapmamızı sağlayan Console sınıfının Read ve ReadLine
yöntemleridir. Console.WriteLine ve Console.Write yöntemlerini
kullanırken giriş argümanlarını yazmamız gerekiyordu. Ve bu
yöntemlerden dönen bir argüman yoktu. Console.Read ve Console.ReadLine
yöntemlerinde ise giriş argümanı yok ama bu yöntemlerden dönen
dönüş argümanları mevcut. Biz bu iki yöntemi içeren bir program
yazdığımızda ve bu yöntemleri çağırdığımızda kontrol biz Enter
tuşuna basana kadar programa tekrar geçmeyecektir. Buradan da bu
iki yöntemin ve dolayısı ile programın çalışmaya devam edebilmesi
için bu yöntemlerin çağrıları yapıldıktan sonra Enter tuşuna
basmamız gerektiğini anlıyoruz. Bu arada Console.ReadLine
yönteminin bu iki yöntem içinde kullanımı kolay olan yöntem
olduğunu söyleyebiliriz. Şimdi konsoldan string girişi yapan ilk
programı yazalım.

1

string yazi;

2

yazi = Console.ReadLine();

Yukarıda görüldüğü gibi
1. satırda string tipinde bir değişken tanımlandı ve ikinci
satırda Console.ReadLine() yöntemi çağrılarak yazı adlı stirng
değişkene bu yöntemden dönen ( kullanıcının konsol ekranında
yazdıkları ) değerler atandı. Burada dikkati çeken bir noktada
Console.ReadLine yönteminden dönen değerin string bir değişken
herhangi bir işleme tabi tutulmadan direkt olarak atanabildiğidir.

Burada iki satırda
yaptığımız işlemi tek satırda da gerçekleştirebilmemizin mümkün
olduğunu biliyoruz.

1

string yazi = Console.ReadLine();

Şimdi kullanıcıdan bir
şeyler alan bir program yazalım.

1

using System;

2

class KonsoldanVeriGirisi

3

{

4

static void Main()

5

{

6

Console.Write("Bir şeyler yaz ve
Enter tuşuna bas:");

7

string yazi = Console.ReadLine();

8

Console.WriteLine("Klavyeden
yazdığınız yazı:" + yazi );

9

}

10

}

Yukarıdaki programda
kullanıcıdan bir şeyler yazmasını istedik ve bu yazdıklarını bir
string değişkene Console.ReadLine yöntemi ile atayarak daha sonra
bu değişkeni Console.WriteLine yöntemi ile konsolda görüntüledik.
Burada dikkat edilirse ilk satırda Write yöntemi kullanıldı çünkü
kullanıcının yazdıklarının bizim Console.Write yöntemi ile konsola
yazdırdığımız yazıların yanına yazılmasını istedik. Kullanıcı bir
şeyler yazıp Enter tuşuna bastığında Console.ReadLine yöntemi
imlecin aşağı satıra düşmesini sağlıyor. Tam bu sırada Console.ReadLine
yöntemi değer döndürme işlemini gerçekleştiriyor.

Console.WriteLine ve
Console.Write yöntemleri bir integer değişkeni kapalı bir şekilde
string tipine dönüştürerek konsola yazdırıyordu. Ama Console.ReadLine
yönteminin böyle bir özelliği mevcut değil. Yani biz klavyeden bir
integer okumak istediğimizde bunu Int32.Parse yöntemini kullanarak
integer tipine çevirmemiz gerkiyor.

1

using System;

2

class KonsoldanVeriGirisi

3

{

4

static void Main()

5

{

6

string S;

7

int I;

8

Console.Write("Bir sayı yaz ve Enter
tuşuna bas:");

9

S = Console.ReadLine();

10

I = Int32.Parse( S );

11

Console.WriteLine(“Girdiğin numara:”
+ I );

12

}

13

}

Yukarıdaki programda
iki durumdan söz edebiliriz. Birincisi; Console.ReadLine
yönteminden dönen değerin bir string olması ve string değişkene
doğrudan atanabilmesi. İkincisi ise; bu string değişkenin Int32.Parse
yöntemi ile integer bir değişkene aktarılması.

Ayrıca buradaki S
string değişkenini Console.ReadLine ve Int32.Parse yöntemlerini
birleştirerek ortadan kaldırabiliriz.

1

I
= Int32.Parse(Console.ReadLine());

Bu satırda ilk olarak
Console.ReadLine yöntemi çağrılıyor ve konsoldan girilen yazıları
okuyor. Daha sonra okuduğu değerleri Int32.Parse yöntemine
aktarıyor.

Şimdi kullanıcıdan sayı
almayı bildiğimize göre gerçek hayata yakın bir program
yazabiliriz.

1

using System;

2

class Bilet

3

{

4

static void Main()

5

{

6

int YetiskinUcreti = 10 ,
CocukUcreti =7 ;

7

 

8

Console.Write("Yetişkin bilet
adedini giriniz:");

9

int YetiskinBiletSayisi = Int32.Parse(Console.ReadLine());

10

 

11

Console.Write("Cocuk bilet adedini
giriniz:");

12

int CocukBiletSayisi = Int32.Parse(Console.ReadLine());

13

 

14

int ToplamMaliyet = YetiskinUcreti *
YetiskinBiletSayisi + CocukUcreti*CocukBiletSayisi;

15

 

16

Console.WriteLine("Toplam bilet
ücreti=" + ToplamMaliyet);

17

}

18

}

Program kullanıcıdan
yetişkin ve çocuk bilet adedini alıyor. Daha sonra, önceden
bildiği bilet ücretleri ile adetleri çarpıp toplam ücreti bize
söylüyor.

Konsoldan veri girişi
yapmak konsol çıktısı almaktan daha zordur. Veri girişlerinde
kontrol her zaman zordur. Kullanıcı konsoldan istediğimiz şartlara
uymayan veriler de girebilir.

Mesela program
aşağıdaki konsol çıktısını verir.

1–100 arasında bir sayı
giriniz:

Ve kullanıcı aşağıdaki
ifadeyi girer.

10A

Burada yanlış yazılma
ihtimali var. Ama başka programlarda olduğu gibi yanlış yazıları
düzelten bir durum söz konusu değil. Bazı programlar bu tür
yanlışlar için doğrulama ve kontrol etme işlemleri
gerçekleştirirler. Mesela yanlış yazılan “A” harfini ekrana
yazmamak veya bir beep sesi ile uyarmak gibi. Ama maalesef. Net
konsolu bu tür tekniklere izin vermez. Konsol kullanıcının satır
boyunca yazmasını ve Enter tuşuna basmasını bekler ve kullanıcının
yazdığını işlemeye başlar. Eğer uygun giriş yapılmamışsa sonuç
elde edilemez. Ama kullanıcıdan tekrar giriş yapması istenebilir.

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • Satır ve paragraflar otomatik olarak bölünürler.

Biçimleme seçenekleri hakkında daha fazla bilgi

CAPTCHA
Aşağıdaki resimde yer alan karakterleri kutucuğa doğru olarak yazınız
Image CAPTCHA
Enter the characters shown in the image.

Anket

Web sitesinde hangisi daha önemlidir:

Son Konular

2012-04-10 00:53 - Chrome Pili daha çabuk bitiriyor
2012-03-22 19:47 - Geliştirdiğin kodları satmak ister misin
2012-02-12 23:21 - SMF forumu vbulletin foruma aktarmak
2011-12-14 21:50 - Motorlu araçlar otomobil vergisi sorgulama
2011-12-14 21:47 - Sorgulamalar
2011-12-11 14:33 - Ben az önce ne arayacaktım
2011-09-10 22:51 - DSLR Fotograf Makinası sınıflandırması
2011-09-09 17:33 - ‘Crop Factor’ Nedir, hakkında bilgi
2011-09-09 17:30 - Fotograf Rehberi
2011-08-20 21:30 - Samsung LEDTV'lerde .SRF ve XFS süprizi
2011-08-19 00:45 - 2011 yılının web tasarım trendleri
2011-04-09 20:18 - Alan adları gerçek isim sahiplerine verilecek!
2011-01-13 01:43 - SEO İçin Dikkat Edilmesi Gereken Hususlar
2011-01-13 01:42 - Meta tag SEO Optimization
2011-01-13 01:41 - Google Adsense Hakkında Detaylı Bilgi
2011-01-13 01:40 - Soru Ve Cevaplar ile Google Adsense
2011-01-13 01:39 - Arama motoru Google ve Pagerank
2011-01-13 01:38 - Seo Sözlüğü
2011-01-13 01:37 - Google Arama Özellikleri
2011-01-13 01:36 - Adsense Reklam Yerleşimi
2011-01-13 01:35 - Robots.txt Dosyası Kullanım Robotları Yölendirme Kontrol
2011-01-13 01:34 - Sitenizin Google ve Web deki Yeri
2011-01-13 01:33 - Arama Motoru Bilgi ve İpuçları
2011-01-13 01:31 - Arama Motorları Teknikleri
2011-01-13 01:29 - Google Pagerank Detaylı Anlatım
2011-01-13 01:27 - Sitenize Ziyaretçiler En Çok Hangi Kelimeler İle Gelmiş
2011-01-13 01:25 - Pagerank Nedir?
2011-01-13 01:19 - Fireworks Shadow and Glow
2011-01-13 01:18 - Fireworks Sharpen
2011-01-13 01:16 - Fireworks Other
2011-01-13 01:13 - Fireworks Blur
2011-01-13 01:09 - Fireworks Bevel and Emboss
2011-01-13 01:05 - Fireworks Adjust Color
2011-01-13 01:03 - Fireworks Save as Style
2011-01-13 00:58 - Fireworks Text Menüsü
2011-01-13 00:54 - Fireworks Select Menüsü
2011-01-13 00:54 - Fireworks Modify Menüsü
2011-01-13 00:51 - Fireworks View Menüsü
2011-01-13 00:18 - Fireworks Edit Menüsü
2011-01-13 00:16 - Fireworks File Menüsü
2011-01-13 00:05 - İnternet - Web Tarayıcılar (Browser)
2011-01-13 00:04 - İnternet - Web Server Yazılımları
2011-01-13 00:03 - İnternet ve Web İlişkisi
2011-01-13 00:02 - İnternette Kullanılan Protokoller
2011-01-13 00:01 - İnternet - World Wide Web (WWW) Nedir?
2011-01-13 00:00 - İnternet - URL nedir?
2011-01-12 23:43 - İnternet Backorder Nedir?
2011-01-12 23:34 - İnternet - Virüs Nedir?
2011-01-12 23:32 - İnternet Paypal nedir? Nasıl Kullanılır?
2011-01-12 23:31 - İnternet - DNS Nedir?