Merhaba, C# ile ilk programlarımı yaptım. Öğrendiğim konuların hepsini işlemeye çalışıyorum. Kodlar aşağıda yer alıyor. Programlarla ilgili bir kaç sorum olacak; 1. Program - Ortalama Hesaplama İlk olarak kullanıcının belirlediğimiz parola ve kullanıcı adının doğru bir şekilde girmesi gerekiyor. Daha sonra kullanıcı notları giriyor ve onun ortalamasını alıp ekrana yazdırıyorum. Soru: Kullanıcı Adı kısmına string tipinde bir değer vermem için ne yapmam gerekiyor? Yani kullanıcının girdiği değeri nasıl string tipine çevirebilirim? Soru: Siz olsaydınız metot, namespace ve class isimlerine ne verirdiniz? Benim verdiğim isimler uygun mudur? Büyük projelerde nasıl isimlendirme yapılmasını tavsiye edersiniz? Soru: Bu programı daha basit, kısa bir şekilde yazabilir miyiz? Kod: using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace ortalamaHesaplama { class ortalamahesaplama { static void Main { Console. WriteLine ; bool kontrol = uyeGirisi(1907, 1989); if else } static void ortalamaHesaplama { Console. WriteLine("Ortalamanızın 50'den yüksek olması gerekiyor."); Console. Write ; int not1 = Int32. Parse(Console. ReadLine ; Console. Write ; int not2 = Int32. Parse(Console. ReadLine ; int ortalama = (not1 + not2) / 2; if (ortalama > 50) { Console. WriteLine("Ortalamanız: \nTebrikler. Başarılı oldunuz.", ortalama); } else { Console. WriteLine("Ortalamanız: \nÜzgünüm, başarısız oldunuz.", ortalama); } Console. Write("Yeni işlem yapmak için 2'ye basınız.\nÇıkış yapmak için 3'e basınız."); int yeniHesap = Int32. Parse(Console. ReadLine ; if (yeniHesap 2) else } static bool uyeGirisi { Console. Write ; parola = Int32. Parse(Console. ReadLine ; Console. Write ; kullaniciAdi = Int32. Parse(Console. ReadLine ; if((parola 1907) && (kullaniciAdi 1989)) else } static void yeniHesaplama } } 2. Program - KDV Hesaplama Kullanıcıya iki şeçenek sunuyorum. Birisini seçip ona göre ilerliyor. Birinci seçenek: Kullanıcı fiyatı ve kdv oranını girecek; program ekrana Kdv'li fiyatı gösterecek. İkinci seçenek:Kdv dahil olan fiyatı ve kdv oranını girecek program ekranda kdvsiz fiyatı gösterecek. Soru: Çıkış yapmak için 5 basılmasını istedim. Ancak kullanıcı 1 ve 2 dışında hangi tuşa basarsa bassın program kapanacak. Bunu nasıl ayarlayabilirim? Yani çıkış yapılması için tek 5'e basılmasını istiyorum. 1, 2, 5 dışında bir tuşa basıldığı zaman "hatalı bir tuşa bastınız" gibi bir uyarı çıksın. Soru: Metot, namespace ve class isimleri uygun mudur? Soru: Programı daha basit, kısa şekilde yazabilir miyiz? Kod: using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace KDV { class kdvHesaplama { static void Main { Console. Write("Kdv'li fiyatı görmek için 1'e basın.\n+Kdv dahil olan ürünün Kdvsiz fiyatını öğrenmek için 2'ye basın."); int kdvli = Int32. Parse(Console. ReadLine ; if (kdvli 1) else } static void kdvlifiyat { double fiyat, kdv, kdvliFiyat; Console. Write ; fiyat = double. Parse(Console. ReadLine ; Console. Write ; kdv = double. Parse(Console. ReadLine ; kdvliFiyat = fiyat + fiyat (kdv / 100); Console. WriteLine("Ürünün Kdv'li Fiyatı = ", kdvliFiyat); Console. Write("Kdv'li fiyatı görmek için 1'e basın.\n+Kdv dahil olan ürünün Kdvsiz fiyatını öğrenmek için 2'ye basın.\nÇıkış yapmak için 5'e basın."); int devam = Int32. Parse(Console. ReadLine ; if (devam 1) if (devam 2) else } static void islemedevam static void kdvdahil { Console. Write ; int toplamfiyat = Int32. Parse(Console. ReadLine ; Console. Write ; int kdvorani = Int32. Parse(Console. ReadLine ; double a = kdvorani; double b = 1.0; double islem = b + (a / 100); double kdvsizfiyat = toplamfiyat / islem; Console. WriteLine("Ürünün Kdvsiz fiyatı: ", kdvsizfiyat); Console. Write("Kdv'li fiyatı görmek için 1'e basın.\n+Kdv dahil olan ürünün Kdvsiz fiyatını öğrenmek için 2'ye basın.\nÇıkış yapmak için 5'e basın."); int devam = Int32. Parse(Console. ReadLine ; if (devam 1) if (devam 2) else } static void islemedevam1 } } 3. Program - Maaş Hesaplama Devamsızlık üzerinden maaş hesaplamak için yaptım. Kullanıcı önce personelin normal maaşını giriyor, daha sonra devamsızlık yaptığı günü giriyor. Program ekrana hak edilen maaşı gösteriyor. Genel olarak yukardaki sorular bu program için de geçerli. Kod: using System; using System. Collections. Generic; using System. Linq; using System. Text; namespace Maaş_Hesaplama { class Program { static void Main static void aylikGunSayisi { Console. Write ; int normalMaas = Int32. Parse(Console. ReadLine ; Console. Write ; int devamsizlik = Int32. Parse(Console. ReadLine ; double gunlukMaas = normalMaas / 30.0; double kesinti = devamsizlik gunlukMaas; double hakedisMaas = normalMaas - kesinti; Console. WriteLine("Personelin hakeetiği maaş: ", hakedisMaas); Console. Write("Yeni işlem için 1'e basın. Çıkış yapmak için 2'ye basın."); int yeniislem = Int32. Parse(Console. ReadLine ; if (yeniislem 1) else } } }

Switch-case işime yaradı. Şu an Windows Formları ile çalışıyorum. Yukarıdaki programları form şeklinde de yaptım. SQL ile birlikte gitmek istiyorum. Bununla alakalı bir sorum olacak; Başka bir sitedeki anlatımı takip ederek yapmaya çalışıyorum ama debug ettiğim zaman hata veriyor. Bu hatanın kaynağı ne olabilir?

1. Program Soru1: String tipe çevirmek; string s = Console. ReadLine . toString ; olarak deneyebilirsin. Soru2: genelde değişken isimleri sana öğretildiği gibi verilir. Ancak sana en kolay nasıl geliyorsa istediğin gibi ver. istersen 100 değişkenine sırayla d1 d2 vb. ver sonuçta sen yapacaksın, ancak burada yaptıkların en doğrusu. Soru3: if (uyeGirisi(1907, 1989) true) ortalamaHesaplama ; şeklinde yapabilirsin. eğer koşulun tek bir sonuca çıkacaksa bunun gibi, süslü paranteze ihtiyacın yok. ancak bir sonraki yazdığın işlem if in dışında kalır. 2. Soru Soru1: switch-case ile yapabilirsin. switch diğer sorularda düşüncem aynı ilk soruyla.