Arkadaşlar ben basit 4 işlem yapabilen bir hesap makinesi yaptım konsoldan. Ama sorun şu ki;
programın işlem yapacağı esnada kullanıcının integer yerine string bir ifade girmesi programa hata verdirtiyor. Yani misal çarpma işlemi sırasında kullanıcıya bir değer girmesini söyleyince eğer kullanıcı integer(sayısal) veri girerse program düzgün çalışıyor ancak sözel bir ifade girmesi(mesela"K" harfi) programı çökertiyor.
ben bu kullanıcının sözel ifade girmesini nasıl engelleyebilirim? Hangi komutla? Örnek vererek açıklayacak biri olursa çok memnun olurum.
PROGRAMIM BU - EĞER BUNU O İSTEDİĞİM ŞEKLE GETİREBİLİRSENİZ ÇOK MEMNUN OLURUM;
Console.WriteLine("Merhaba"); Console.WriteLine("Bu program 4 işlem yapabilen bir hesap makinesidir"); Console.ReadKey(); Console.Clear(); Console.WriteLine("İşlem tipinizi seçin"); Console.WriteLine("1 - TOPLAMA"); Console.WriteLine("2 - ÇIKARMA"); Console.WriteLine("3 - ÇARPMA"); Console.WriteLine("4 - BÖLME"); Console.WriteLine(" "); string islemTipi = Console.ReadLine(); int islemSecimi = Convert.ToInt32(islemTipi); Console.Clear(); if (islemSecimi == 1) { Console.WriteLine("birinci sayıyı girin"); string toplamaIslemi = Console.ReadLine(); int toplamaBirinciSayi = Convert.ToInt32(toplamaIslemi); Console.Clear(); Console.WriteLine("ikinci sayıyı girin"); string toplamaIslemiIkinci = Console.ReadLine(); int toplamaIkinciSayi = Convert.ToInt32(toplamaIslemiIkinci); Console.Clear(); int toplam = toplamaBirinciSayi + toplamaIkinciSayi; Console.WriteLine("Sonuç=" + toplam); Console.ReadKey(); } else if (islemSecimi == 2) { Console.WriteLine("birinci sayıyı girin"); string cikarmaIslemi = Console.ReadLine(); int cikarmaBirinci = Convert.ToInt32(cikarmaIslemi); Console.Clear(); Console.WriteLine("ikinci sayıyı girin"); string cikarmaIslemiIkinci = Console.ReadLine(); int cikarmaIkinci = Convert.ToInt32(cikarmaIslemiIkinci); Console.Clear(); int cikarmaSonuc = cikarmaBirinci - cikarmaIkinci; Console.WriteLine("Sonuç=" + cikarmaSonuc); Console.ReadKey(); } else if (islemSecimi == 3) { Console.WriteLine("birinci sayıyı girin"); string capmaIslemi = Console.ReadLine(); int capmaBirinci = Convert.ToInt32(capmaIslemi); Console.Clear(); Console.WriteLine("ikinci sayıyı girin"); string carpmaislem = Console.ReadLine(); int carpmaIkinci = Convert.ToInt32(carpmaislem); Console.Clear(); int carpim = capmaBirinci * carpmaIkinci; Console.WriteLine("Sonuç=" + carpim); Console.ReadKey(); } else if (islemSecimi == 4) { Console.WriteLine("birinci sayıyı girin"); string x = Console.ReadLine(); double y = Convert.ToInt32(x); Console.Clear(); Console.WriteLine("ikinci sayıyı girin"); string w = Console.ReadLine(); double z = Convert.ToInt32(w); Console.Clear(); if (z != 0) { double bolum = y / z; Console.WriteLine("Sonuç=" + bolum); Console.ReadKey(); } else { Console.WriteLine("SIFIRA BÖLÜNMEZ. BÖLEN SAYIYI 0 DIŞINDA BİR DEĞER OLARAK GİRMELİYDİN"); Console.ReadKey(); } } else { Console.WriteLine("Farklı bir değer girdin.1-4 arası değer girmeliydin"); Console.ReadKey(); } }
programın işlem yapacağı esnada kullanıcının integer yerine string bir ifade girmesi programa hata verdirtiyor. Yani misal çarpma işlemi sırasında kullanıcıya bir değer girmesini söyleyince eğer kullanıcı integer(sayısal) veri girerse program düzgün çalışıyor ancak sözel bir ifade girmesi(mesela"K" harfi) programı çökertiyor.
ben bu kullanıcının sözel ifade girmesini nasıl engelleyebilirim? Hangi komutla? Örnek vererek açıklayacak biri olursa çok memnun olurum.
PROGRAMIM BU - EĞER BUNU O İSTEDİĞİM ŞEKLE GETİREBİLİRSENİZ ÇOK MEMNUN OLURUM;
Console.WriteLine("Merhaba");
Console.WriteLine("Bu program 4 işlem yapabilen bir hesap makinesidir");
Console.ReadKey();
Console.Clear();
Console.WriteLine("İşlem tipinizi seçin");
Console.WriteLine("1 - TOPLAMA");
Console.WriteLine("2 - ÇIKARMA");
Console.WriteLine("3 - ÇARPMA");
Console.WriteLine("4 - BÖLME");
Console.WriteLine(" ");
string islemTipi = Console.ReadLine();
int islemSecimi = Convert.ToInt32(islemTipi);
Console.Clear();
if (islemSecimi == 1)
{
Console.WriteLine("birinci sayıyı girin");
string toplamaIslemi = Console.ReadLine();
int toplamaBirinciSayi = Convert.ToInt32(toplamaIslemi);
Console.Clear();
Console.WriteLine("ikinci sayıyı girin");
string toplamaIslemiIkinci = Console.ReadLine();
int toplamaIkinciSayi = Convert.ToInt32(toplamaIslemiIkinci);
Console.Clear();
int toplam = toplamaBirinciSayi + toplamaIkinciSayi;
Console.WriteLine("Sonuç=" + toplam);
Console.ReadKey();
}
else if (islemSecimi == 2)
{
Console.WriteLine("birinci sayıyı girin");
string cikarmaIslemi = Console.ReadLine();
int cikarmaBirinci = Convert.ToInt32(cikarmaIslemi);
Console.Clear();
Console.WriteLine("ikinci sayıyı girin");
string cikarmaIslemiIkinci = Console.ReadLine();
int cikarmaIkinci = Convert.ToInt32(cikarmaIslemiIkinci);
Console.Clear();
int cikarmaSonuc = cikarmaBirinci - cikarmaIkinci;
Console.WriteLine("Sonuç=" + cikarmaSonuc);
Console.ReadKey();
}
else if (islemSecimi == 3)
{
Console.WriteLine("birinci sayıyı girin");
string capmaIslemi = Console.ReadLine();
int capmaBirinci = Convert.ToInt32(capmaIslemi);
Console.Clear();
Console.WriteLine("ikinci sayıyı girin");
string carpmaislem = Console.ReadLine();
int carpmaIkinci = Convert.ToInt32(carpmaislem);
Console.Clear();
int carpim = capmaBirinci * carpmaIkinci;
Console.WriteLine("Sonuç=" + carpim);
Console.ReadKey();
}
else if (islemSecimi == 4)
{
Console.WriteLine("birinci sayıyı girin");
string x = Console.ReadLine();
double y = Convert.ToInt32(x);
Console.Clear();
Console.WriteLine("ikinci sayıyı girin");
string w = Console.ReadLine();
double z = Convert.ToInt32(w);
Console.Clear();
if (z != 0)
{
double bolum = y / z;
Console.WriteLine("Sonuç=" + bolum);
Console.ReadKey();
}
else
{
Console.WriteLine("SIFIRA BÖLÜNMEZ. BÖLEN SAYIYI 0 DIŞINDA BİR DEĞER OLARAK GİRMELİYDİN");
Console.ReadKey();
}
}
else
{
Console.WriteLine("Farklı bir değer girdin.1-4 arası değer girmeliydin");
Console.ReadKey();
}
}