19 Eylül 2009 Cumartesi

Türkçe / İngilizce Sözlük (Konsol Uygulama Örneği)

Aşağıdaki örnek kod, konsol uygulaması üzerinde çalışan bir Türkçe/İngilizce sözlüktür. Kullanıcı yeni kelime girişi yapabilir, mevcut kelimeler içinde arama yapabilir.
-------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Collections;
using System.IO;

namespace SuperSozluk1
{
class Program
{
/*****************************************************************
* Aşağıdaki program bir Türkçe-İngilizce sözlük uygulamasıdır.
* ****************************************************************/

const string dosyaAdi = "c:\\sozluk.txt";

static void Main(string[] args)
{
Hashtable sozluk = new Hashtable();

// dosya yoksa oluşturuluyor...
if (!File.Exists(dosyaAdi))
{
File.CreateText(dosyaAdi);
}

// dosya okunmak üzere açılıyor
StreamReader okuyucu = new StreamReader(dosyaAdi, Encoding.Default);

string satir;

// dosyanın ilk satırı okunur
satir = okuyucu.ReadLine();

// dosya bitene kadar okunur.
while (satir != null)
{
// eğer satır boş değilse
if (satir.Trim() != "")
{
// okunan kelime çiftleri parse edilerek sozluk isimli
// koleksiyona yüklenir.
string[] kelimeler = satir.Split('=');
sozluk.Add(kelimeler[0], kelimeler[1]);
}

// sonraki satır okunuyor
satir = okuyucu.ReadLine();
}

// Dosya kapanıyor
okuyucu.Close();


Console.WriteLine("İngilizcesini öğrenmek istediğiniz Türkçe kelimeyi giriniz");
string aranan = Console.ReadLine();

if (sozluk.ContainsKey(aranan))
{
Console.WriteLine(sozluk[aranan]);
}
else
{
Console.WriteLine("Üzgünüm, aradığınız kelime bulunamadı");
Console.WriteLine("Kelimenin İngilizce karşılığını girmek ister misiniz (E/H)");
string cevap = Console.ReadLine();
if (cevap == "E" || cevap == "e")
{
Console.Write(aranan + " = ");
string ingilizcesi = Console.ReadLine();

sozluk.Add(aranan, ingilizcesi);

// eklenen kelimeyi dosyaya yazdırıyoruz
FileStream fs = new FileStream(dosyaAdi,
FileMode.Append, FileAccess.Write);

StreamWriter yazici = new StreamWriter(fs, Encoding.Default);
yazici.Write("\r\n" + aranan + "=" + ingilizcesi);
yazici.Close();
fs.Close();
}
}

}
}

}

Hiç yorum yok:

Yorum Gönder