C# Console Hesap Makinesi Yapımı

Konuyu Okuyanlar (0 kayıtlı üye )

sdkbyrm

olwα.ɴeт
Üyelik Tarihi
23 Aralık 2020
Mesajlar
813
Beğeniler
1
Puanı
3
Ticaret: 0 / 0 / 0
Bu Visual Studio programında switch case bildirimini kullanarak basit bir console hesap makinesi yapacağız. HesapMakinesi adında bir sınıf oluşturup kullanıcıdan sayı değerleri ve operatör değeri alarak hesaplanan sonucu ana programa gönderen işlevi yapıp, bu işlevi ana programda kullanacağız. Programdan çıkmak içinde yine Console.Key ifadelerinden ESC ifadesini kullanacağız.


İşte size aşağıdaki iki farklı program birinci programda Sınıf kullanılmıştır. İkinci programda ise sadece ana program içinde yapılmıştır.

C# Console Program Kodu:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99

class HesapMakinesi
{
public static double islemYap(double sayi1, double sayi2, string op)
{
// operatör değerine göre case işlemlerinden biri gerçekleştirilir.
switch (op)
{
case "+": return sayi1 + sayi2;
case "-": return sayi1 - sayi2;
case "*": return sayi1 * sayi2;
case "/":
// 2. sayı 0 değilse işlemi yapar.
if (sayi2 != 0)
{
return sayi1 / sayi2;
}
else
{
return double.NaN;
}
default: return double.NaN;
}
}
}
class Program
{
static void Main(string[] args)
{
bool cikis = false;
Console.WriteLine("Hesap Makinası \r");
Console.WriteLine("------------------------\n");

while (!cikis)
{
// Değişkenleri tanımlıyoruz ve boş olarak atıyoruz.
string sayi1 = "";
string sayi2 = "";
double sonuc = 0;

// Kullanııcıdan birinci sayıyı girmesini istiyoruz
Console.Write("Birinci Sayıyı Giriniz: ");
sayi1 = Console.ReadLine();

double dogruSayi1 = 0;
while (!double.TryParse(sayi1, out dogruSayi1))
{
Console.Write("Bu geçerli bir sayı değil. Lütfen bir tamsayı giriniz.: ");
sayi1 = Console.ReadLine();
}

// Kullanııcıdan ikinci sayıyı girmesini istiyoruz
Console.Write("İkinci Sayıyı Giriniz: ");
sayi2 = Console.ReadLine();

double dogruSayi2 = 0;
while (!double.TryParse(sayi2, out dogruSayi2))
{
Console.Write("Bu geçerli bir sayı değil. Lütfen bir tamsayı giriniz. ");
sayi2 = Console.ReadLine();
}

// İşlem Seçim Bölümü
Console.WriteLine("Lütfen Listeden bir işlem seçiniz:");
Console.WriteLine("\t+ - Toplama");
Console.WriteLine("\t- - Çıkarma");
Console.WriteLine("\t* - Çarpma");
Console.WriteLine("\t/ - Bölme");
Console.Write("Seçiminiz? ");

string op = Console.ReadLine();

try
{
sonuc = HesapMakinesi.islemYap(dogruSayi2, dogruSayi1, op);
if (double.IsNaN(sonuc))
{
Console.WriteLine("Bu işlem matematiksel bir hataya neden oldu.\n");
}
else Console.WriteLine("Sonucunuz: {0:0.##}\n", sonuc);
}
catch (Exception e)
{
Console.WriteLine("Sonucu hesaplarken bir istisna oluştu \n: " + e.Message);
}

Console.WriteLine("------------------------\n");

// Kapatmadan önce kullanıcının yanıt vermesini bekleyin.
Console.Write("Uygulamadan Çıkmak İçin ESC tuşuna basınız. ");
if (Console.ReadKey().Key == ConsoleKey.Escape) cikis = true;

Console.WriteLine("\n");
}
Console.WriteLine("Program Bitti Bir tuşa basınız\n");
Console.ReadKey();
}
}
Çıktı:

Csharp Console Basit Hesap Makinesi

Csharp Console Basit Hesap Makinesi


Yöntem 2: Sınıf kullanmadan yapmak isterseniz bu yöntem de ilginizi çekebilir.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

class Program
{
static void Main(string[] args)
{
char cikis;
//Çıkış yapana kadar işlemi yap
do
{
Console.Clear();
int sonuc = 0;

//İşlem Menüsü
Console.WriteLine("Toplama İşlemi İçin +");
Console.WriteLine("Çıkarma İşlemi İçin -");
Console.WriteLine("Çarpma İşlemi İçin *");
Console.WriteLine("Bölme İşlemi İçin /");
Console.Write("Yapmak İstediğiniz işlemi Seçin : ");

// Sayıları Al
Console.Write("1.değeri girin : ");
int sayi1 = Convert.ToInt16(Console.ReadLine());
Console.Write("2.değeri girin : ");
int sayi2 = Convert.ToInt16(Console.ReadLine());


char secim = Convert.ToChar(Console.ReadLine());
//Karşılaştırma yapısını oluşturduk. Kullanıcının seçimine göre işlemi gerçekleştirdik
switch (secim)
{
case '+':
sonuc = sayi1 + sayi2;
Console.WriteLine("Toplama işlemini sonucu : {0}", sonuc);
break;
case '-':
sonuc = sayi1 - sayi2;
Console.WriteLine("Çıkarma işleminin sonucu : {0}", sonuc);
break;
case '*':
sonuc = sayi1 * sayi2;
Console.WriteLine("Çıkarma işleminin sonucu : {0}", sonuc);
break;
case '/':
sonuc = sayi1 / sayi2;
Console.WriteLine("Çıkarma işleminin sonucu : {0}", sonuc);
break;
default:
Console.WriteLine("Hatalı Seçim Yaptınız");
break;
}// Kullanıcı h tuşuna basmadığı sürece yeni işlem yaptırdık
Console.WriteLine("Başka işlem yapacak mısınız?(e/h)");
cikis = Convert.ToChar(Console.ReadLine());
} while (cikis != 'h');
}
}
 
Üst Alt