C#’ta Hesap Makinesi

İki-üç hafta önce, bitirmiş olmam gereken hesap makinem
Bazı eksik tarafları var ama kısmen çalışıyor
Nasıl yapıldığını kaynak dosyasına bakarak inceleyebilirsiniz. Arayüz elbetteki photoshop sayesinde oldu
İşte hesap makinemin VS dosyası.
KAYNAK KODLARI İNDİRMEK İÇİN AŞAĞIDAKİ LİNKE TIKLAYIN (göremeyen arkadaşlar için kocaman yazdım artık)
Download: CSharp Hesap Makinesi



hesap makinen güsel gözüküyo hoca da bize ödev olarak hesap makinesi verdi ama c sharp dilinde nasıl yapcağımı bilmiyorum eğr yardımcı olursan sevinirim
aysun orada “download” linki vermişim
oradaki kaynak dosyayı indirip örnek kodları inceleyebilirsin. şimdilik o linki incele vizelerden sonra daha detaylı bilgi verebilirim…
ya burak oraya koymuşsun hesap makinesi allah razı olsun biraz içim açıldı ama bizim hoca daha farklı istiyordu nese yine dee sağol
ok sağol burak onu ben zaten indirmiştim ilk önce açılmamıştı o yüzden
siz sağolun… ben de yeni yeni öğreniyorum sorunlarınızı yazarsanız fırsat bulduğumda bakabilirim…
Lisede c# görmeye başladığımızda yaptığımız ilk örnek.Basit hesaplamaları yaptığımızda hocaya gösterirdik hocada tamam şimdide sayının kareköknü bulan blümü yapın derdi onuda yaptıktan sonra sayının sin cos tan cot değerlerini bulan bölümü hazırlayın derdi.Bir gün hoca internetten bulduğu bir component seti gösterdi çok fazla özelliği olan ve işleri çok kolaylaştıran bir set.Arada bakarken sanırım calx diye bir nesne vardı forma taşıdığımızda sadecce bir textBox gözüküyordu çalıştırdığımızda inanamadık o textBoxa tıklandığında alta doğru açıldı botonlarla hesap makinesi çıkmıştı.
altıüstü bi hesap makinası yapmışsın hava atıyosun biraz paylaşımcı ol kodlarını da aç bırak bilmeyen download etsin eksiği varsa görsün varsa fazlasını eklesin. son olarak da “bilgi paylaştıkça çoğalır”:)
ADMIN:lan download linki aylardır orada… saçma saçma konuşmayın…
programda hatayı soylım barı

herhangi bir virgüllü sayıyı bir işleme sokamıyorsun
Aslında çalışıyor… Örneğin 1,2 yazdığında bunu devirli olarak yazıyor… O kısma bakamadım, virgülden sonra 5 geldiğinde sorun yok da diğerlerinde var
cok güzel program olmus tebrikler
ya sizden rica ediyorum lütfen allah rızası için şu kodu bana gönderin yoksa 0 alacam ne olursunuz bu programı yapan çopk zeki olmalııııııııııı
hoca 2 hafta verdi
yapmam için ama olmuyor bir çok internet sayfasında aradım
ya sağolun Download görmedim tşk
iyide bu rar dosyası indiremiyorum
burak bişey isteyebilirmiyim yüzde butonunuda yaparmısın onu yapmamaışsın lütfen arıyorum ama bulamıyorum yardımcı ol
- rar dosyasını kontrol ettim çalışıyor…
- yüzdeyi diğer matematiksel işlemlere bakarak yapmayı denersen sevinirim hatta buraya da bildir… şu an deneyemiyorum…
bütün sınıf aynı programı yaptık sana çok tşk ediyorum
Hocam güzel hoş hesap makinesi kolay iş fakat ConsoleApplication da Ms-Dos ortamında nasıl yapacaz onu bilmiyorum x ) biraz ondan bahsetsen olmamı ?
oyyyy DOS mu dedin
niye kasıyorsunuz kendinizi ya… dos mu var artık ya…
arkadaşım kodlar çalışmıyorrrrrrrrrrrrr:@
Kodlar benim ve yukarıda teşekkür eden arkadaşların bilgisayarlarında çalışıyor. VSde verilen hata kodlarını okuyarak çözüm geliştirmeyi deneyebilirsiniz.
Programda çalışmayan 1-2 özellik var onlar da yazı ve yorumlarda belirtildi…
Yorum için teşekkürler mehmet…
Burak abi bi hesap makinesi de ben yaptım. Biri C# ta biri de Visual Basic 6.0′da. İki si de aynı işlevde ama C# ta olanı tam değil biraz eğlencesine başlamıştım
ama Basic’deki tam ve sorunsuz çalıştığı kanaatindeyim
Buyrun arkadaşlar burdan indirebilirsiniz
Bu C#
http://rapidshare.com/files/188299982/C_HesapMak2.rar.html
bu da basicteki
http://rapidshare.com/files/188301949/BasicHesapMakinesi.rar.html
Zafer C#’a baktım. güzel çalışma eline sağlık. Senin de dediğin gibi C#’taki birazcık eksik. En basitinden float değerler yok..
burak eline sağlık güzel olmuş ama sadece rakam girsek daha mantıklı olmaz mı senin alanına harfleri yazabiliosun bu kodu eklersen daha güzel olcak bence
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) == false)
{
e.Handled = true;
}
}
Teşekkürler Ayça, yorumun diğer arkadaşlara faydalı olacaktır.
Eksik elbet olur gözden kaçar yeterince uğraşılmaz falan.. Bu arada ben de C# a yeni geçenlerdenim ve şu key özelliğini araştırıyorum bi süredir..Böyle bi hesap makinesi bende yaptım ama mesela butunla 1 girilebildiği gibi aynı zamanda klavyeyi kullanarak ta girebilmeyi çözemedim..
teşekkürler
emeğine sağlık
saol yha walla nasıl yapcam die düşünüp duruyodum hep hocadan darbe yiyen biz mi olcaz birazda biz darbe atalım dimi
hocaya kakalıcam bunu sen saol burak…. 
yha bana bu program çok yaradı ama bunun daha delişmişi yokmu yane daha çok bilgi olan bi hesap makinası
Teşekkürler kodlarınıza sağlık
private void textbox1_KeyPress(object sender, KeyPressEventArgs e)
{
switch (e.KeyChar)
{
case ‘0′:
case ‘1′:
case ‘2′:
case ‘3′:
case ‘4′:
case ‘5′:
case ‘6′:
case ‘7′:
case ‘8′:
case ‘9′:
case ‘\b’: // backSpace tuşunu aktif hale getirir
break;
default:
e.Handled = true;
break;
}
}
Bu şekildede yaparak sadece Rakam ve BackSpace tuşunu aktif hale getirmenin bir diğer yoludur.
Konu için Teşekkürler Burak.
Eda allah senide hoca yapsın anlarsın o zman
usta ellerine sağlık şu anda ne gibi eksiklikler var bu programda bilgilendirirsen sevinirim
işlemleri de klavyedebn girebilme imkanımız var mı?
Bunda yok ama kodları ona göre yazarsan olabilir..
c #de kullanılan bütün kodlar ; açıklamaları ve kullanım şekilleriyle bi yerde toplanmış halde varmı ?bilen varsa bi link işimi görür yeni başladım o yüzden çok eksiğim vr. msdn ingilizce veriyo bazı şeyleri anlamıyorm.teşekkürler yardımınız olursa.
eyvallah dostum işime yarayacak
programda hata var ilk baktigim şet 2 3 kez ‘,’ e basmak oldu
deneyin virgül 1 tane olmali basıldıgı kadar degil…
yinede eline saglik
ARKADAŞLAR PROGRAMI BU ŞEKİLDE YAPARSANIZ KLAVYEDEN DE KULLANABİLİRSİNİZ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Calc
{
public partial class MainForm : Form
{
double sonuc = 0;
bool sifirla = true;
string islem = “yok”;
int kontrol=0;
public MainForm()
{
InitializeComponent();
}
private void dortislem()
{
if (!sifirla)
{
switch (islem)
{
case “esittir”:
sonuc = Convert.ToDouble(txtAlan.Text);
break;
case “carpma”:
sonuc *= Convert.ToDouble(txtAlan.Text);
break;
case “toplama”:
sonuc += Convert.ToDouble(txtAlan.Text);
break;
case “cikarma”:
sonuc -= Convert.ToDouble(txtAlan.Text);
islem = “yok”;
break;
case “bolme”:
sonuc /= Convert.ToDouble(txtAlan.Text);
break;
case “yok”:
sonuc = Convert.ToDouble(txtAlan.Text);
break;
}
txtAlan.Text = Convert.ToString(sonuc);
sifirla = true;
}
}
private void tekislem()
{
if (!sifirla)
{
switch (islem)
{
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btn_sifir_Click(object sender, EventArgs e)
{
if (!sifirla)
{
if (txtAlan.Text != “0″)
{
txtAlan.Text += “0″;
sifirla = false;
}
else
{
txtAlan.Text = “0″;
sifirla = true;
}
}
else { txtAlan.Text = “0″; }
}
private void btn_bir_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “1″;
}
else
{
txtAlan.Text = “1″;
}
sifirla = false;
}
private void btn_iki_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “2″;
}
else
{
txtAlan.Text = “2″;
}
sifirla = false;
}
private void btn_uc_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “3″;
}
else
{
txtAlan.Text = “3″;
}
sifirla = false;
}
private void btn_dort_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “4″;
}
else
{
txtAlan.Text = “4″;
}
sifirla = false;
}
private void button5_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “5″;
}
else
{
txtAlan.Text = “5″;
}
sifirla = false;
}
private void btn_alti_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “6″;
}
else
{
txtAlan.Text = “6″;
}
sifirla = false;
}
private void btn_yedi_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “7″;
}
else
{
txtAlan.Text = “7″;
}
sifirla = false;
}
private void btn_sekiz_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “8″;
}
else
{
txtAlan.Text = “8″;
}
sifirla = false;
}
private void button9_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “9″;
}
else
{
txtAlan.Text = “9″;
}
sifirla = false;
}
private void btn_top_Click(object sender, EventArgs e)
{
topl();
}
void topl()
{
dortislem();
islem = “toplama”;
}
private void btn_cikar_Click(object sender, EventArgs e)
{
cık();
}
void cık()
{
dortislem();
islem = “cikarma”;
}
private void btn_carp_Click(object sender, EventArgs e)
{
carp();
}
void carp()
{
dortislem();
islem = “carpma”;
}
private void btn_bol_Click(object sender, EventArgs e)
{
bol();
}
void bol()
{
dortislem();
islem = “bolme”;
}
private void btn_temiz_Click(object sender, EventArgs e)
{
txtAlan.Clear();
txtAlan.Text = “0″;
sonuc = 0;
islem = “yok”;
sifirla = true;
}
private void btn_esit_Click(object sender, EventArgs e)
{
esit();
}
void esit()
{
dortislem();
islem = “esittir”;
txtAlan.Focus();
}
private void btn_kk_Click(object sender, EventArgs e)
{
double a;
dortislem();
a = Math.Sqrt(sonuc);
txtAlan.Text = Convert.ToString(a);
}
private void btn_bolu_Click(object sender, EventArgs e)
{
dortislem();
sonuc = 1 / sonuc;
txtAlan.Text = Convert.ToString(sonuc);
islem = “1bolux”;
}
private void btn_trs_Click(object sender, EventArgs e)
{
dortislem();
sonuc = -1 * sonuc;
txtAlan.Text = Convert.ToString(sonuc);
islem = “artieksi”;
}
private void btn_vrgl_Click(object sender, EventArgs e)
{
if (!sifirla)
{
txtAlan.Text += “,”;
}
else
{
txtAlan.Text = “,”;
}
sifirla = false;
}
private void btn_yzd_Click(object sender, EventArgs e)
{
double c;
dortislem();
c = (sonuc) / 100;
txtAlan.Text = Convert.ToString(c);
}
private void txtAlan_KeyPress(object sender, KeyPressEventArgs e)
{
if (char.IsDigit(e.KeyChar) == false)
{
switch(e.KeyChar.ToString())
{
case “-”: sifirla = false; cık() ; e.Handled = true; break;
case “+”: sifirla = false; topl(); e.Handled = true; break;
case “*”: sifirla = false; carp(); e.Handled = true; break;
case “/”: sifirla = false; bol() ; e.Handled = true; break;
case “=”: sifirla = false; esit(); e.Handled = true; kontrol++; break;
case “\b”:
default:
e.Handled = true; break;
}
if (islem != “0″ && kontrol == 0)
{
txtAlan.Text = “”;
}
else
{
kontrol = 0;
}
if (sifirla)
{
sifirla = false;
}
}
}
}
}