C# 'da ekrana girilen yanyana karakterlerin herbirini tek tek ele almak mümkün mü?
Amacım girilen karakterleri şifrelemek, ya da şifrelenmiş karakterleri eski haline çevirecek bir program hazırlamak.
Örneğin:
System.Console.WriteLine("Lütfen şifrelenecek karakterlerinizi girin:");
//ekrana aynen şunu giriyoruz misal "K~\"
program her karakteri ayrı ayrı algılayacak. Ve ben her karakteri rahatlıkla başka bir karaktere dönüştürebileceğim böylelikle...
K G'ye dönüşecek misal
~ ='e dönüşecek misal
\ &'ye dönüşecek misal
Ekran çıktısı.
"G=&" olacak. Tabi bunları çevirmeyi ben yapacağım, benim istediğim ekrana girilmiş olan yanyana karakterleri tek tek ele alabilmek.
C# 'da karakterleri tek tek ele alabilmek?
3
●1.913
- 01-05-2008, 05:39:33Üyeliği durdurulduvalla benim aklıma söyle birşey geldi ilk karekterleri alırsın sifrelencek veriden mesela tek tek karekteleri asciiye cevirirsin örneğin onuda mesela 5 ile toplarsın 10'a bölersin 20 ile toplarsın felan filan sonra cözerkende tam tersi yolunu izleyerek cözersin

mesela örnek bi uygulama vereyim
char a = 'A'; int ascii = (int)a; int sifrele = ascii + 5;
- 01-05-2008, 11:26:45hocam önce gets() ile yazıyı çek, sonra strlen() ile yazının uzunluğunu bul, sonra da o uzunlukla da bi for döngüsüne sok, sırayla karakterleri okut. biz bu yöntemi kulanıyoruz, yazı yerine rakam girildiğinde falan uyarı mesajı vermek için, tek tek okutuyoruz karakterleri. seninde işine yarayacaktır.
- 03-05-2008, 00:58:50C# ta bu iş için hazırlanmış bi metod var kullanmak istersen;
ToCharArray() metodu..bu metod bir string değişkeninde bulunan karakterleri tek tek bir karakter dizisine atar..bunu ve arkadaşımızın da dediği gibi ascii kodlarıyla şifrelemeyi aşağıdaki kodla yapabilirsin..umarım işine yarar...
Console.WriteLine("Lütfen şifreyi giriniz:");
string sifre;
sifre = Console.ReadLine();
char[] karakterler;
karakterler = sifre.ToCharArray();
string sifrelenmis="";
for (int i = 0; i < karakterler.Length; i++)
{
int ascii = (int)karakterler[i];
ascii = ascii + 5;
sifrelenmis = sifrelenmis + (char)ascii;
}
Console.WriteLine("Şifrenizin şifrelenmiş şekli: " + sifrelenmis);
