lostyazilim
tr.link

C# İşleci Hatası

23 Mesajlar 3.110 Okunma
lstbozum
tr.link

CODEXTRAIN CODEXTRAIN Acı çekmeden öğrenemeyiz. Kullanıcı
  • Üyelik 03.01.2019
  • Yaş/Cinsiyet 25 / E
  • Meslek Back-end Developer
  • Konum İstanbul Avrupa
  • Ad Soyad A** E**
  • Mesajlar 180
  • Beğeniler 32 / 33
  • Ticaret 14, (%100)
Şuan kodlarınız çalışıyor. Denediğim de sorun vermeden sonuç veriyor.
Farklı bir hata yapmadığınızdan emin olup tekrar deneyin.
 

 

wmaraci
reklam

CODEXTRAIN CODEXTRAIN Acı çekmeden öğrenemeyiz. Kullanıcı
  • Üyelik 03.01.2019
  • Yaş/Cinsiyet 25 / E
  • Meslek Back-end Developer
  • Konum İstanbul Avrupa
  • Ad Soyad A** E**
  • Mesajlar 180
  • Beğeniler 32 / 33
  • Ticaret 14, (%100)
Ek olarak MessageBox.Show(); içerisine sadece rakamsal bir değer yazılacaksa ToString() kullanın.
Bir metin içerisinde birleştirme operatörünü (+) kullanarak rakamsal değeri yazıyorsanız bunu ToString() ile metne çevirmenize gerek yok.
 

 

gvnysf gvnysf WM Aracı Kullanıcı
  • Üyelik 27.12.2018
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgi İşlem
  • Konum Bingöl
  • Ad Soyad Y** G**
  • Mesajlar 61
  • Beğeniler 12 / 9
  • Ticaret 0, (%0)

extrasmm adlı üyeden alıntı

Ek olarak MessageBox.Show(); içerisine sadece rakamsal bir değer yazılacaksa ToString() kullanın.
Bir metin içerisinde birleştirme operatörünü (+) kullanarak rakamsal değeri yazıyorsanız bunu ToString() ile metne çevirmenize gerek yok.


Kodlarda herhangi bir problem yok programda sorunsuz çalışıyor ama hesapla butonuna bastığımda otomatik olarak

double c = Convert.ToDouble(sayi3.Text);

için giriş dizesi doğru biçimde değil uyarısı veriyor anlamıyorum birtürlü


Kodun şuan ki hali bu

double a = Convert.ToDouble(sayi1.Text);
double b = Convert.ToDouble(sayi2.Text);
double c = Convert.ToDouble(sayi3.Text);

double carpma = a * b;
double carpma2 =c/a;

MessageBox.Show("Litre Fiyatına göre Tutar" + carpma + "TL ödenmesi gerekmektedir" + Environment.NewLine + "Verilen Ücrete Göre toplam" + carpma2 + " litre alıyorsunuz" + Environment.NewLine + "Bizi tercih ettiğiniz için teşekkürler");
 

 

CODEXTRAIN CODEXTRAIN Acı çekmeden öğrenemeyiz. Kullanıcı
  • Üyelik 03.01.2019
  • Yaş/Cinsiyet 25 / E
  • Meslek Back-end Developer
  • Konum İstanbul Avrupa
  • Ad Soyad A** E**
  • Mesajlar 180
  • Beğeniler 32 / 33
  • Ticaret 14, (%100)


Kodunuzun şuan ki hali ile çalıştırıldığında çalışıyor.
 

 

wmaraci
wmaraci

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Telefondayım ama şöyle açıklayayım kodlara bakamıyorum.
Aritmetik işlemler Çalışma Mantığı :
————————————
1- texboxlara girdiler girilir
2- o girdiler bir sayısal değişkenlere atanır ve cast edilir sen bir double sayısın diye 2 halinide verdim
double sonuc, sayi1, sayı2;
sayi1=(double )textbox.1.text;
sayi2=ConvertToDouble(textbox.2.text);
sonuc=sayi1*sayi2;

3- sonra sonuc double yada int neyse olacağından ekranda göstermek için yine stringe çevrilerek gösterilir.

MessageBox.Show(sonuc.ToString());

Bu kadar.... telden yazıyorum yazım yanlışı varsa takılmayın hata aramak için.

İyi forumlar
 

 

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)

gvnysf adlı üyeden alıntı

Kodlarda herhangi bir problem yok programda sorunsuz çalışıyor ama hesapla butonuna bastığımda otomatik olarak

double c = Convert.ToDouble(sayi3.Text);

için giriş dizesi doğru biçimde değil uyarısı veriyor anlamıyorum birtürlü


Kodun şuan ki hali bu

double a = Convert.ToDouble(sayi1.Text);
double b = Convert.ToDouble(sayi2.Text);
double c = Convert.ToDouble(sayi3.Text);

double carpma = a * b;
double carpma2 =c/a;

MessageBox.Show("Litre Fiyatına göre Tutar" + carpma + "TL ödenmesi gerekmektedir" + Environment.NewLine + "Verilen Ücrete Göre toplam" + carpma2 + " litre alıyorsunuz" + Environment.NewLine + "Bizi tercih ettiğiniz için teşekkürler");


Sayi3 textbox'ında karakter değer olmadığına/boş olmadığına emin misin hocam? , yerine . kullanıyor olabilirsiniz değer içerisinde
 

 

AhmetKarabulut AhmetKarabulut WM Aracı Kullanıcı
  • Üyelik 11.09.2013
  • Yaş/Cinsiyet 30 / E
  • Meslek Bilgisayar Mühendisi
  • Konum İzmir
  • Ad Soyad A** K**
  • Mesajlar 1077
  • Beğeniler 361 / 361
  • Ticaret 33, (%100)
double a,b,c;
if(!double.TryParse(sayi1.Text, out a)) a = 0;
if(!double.TryParse(sayi2.Text, out a)) b = 0;
if(!double.TryParse(sayi3.Text, out a)) c = 0;

double carpma = a * b;
double carpma2 =c/a;

MessageBox.Show("Litre Fiyatına göre Tutar" + carpma + "TL ödenmesi gerekmektedir" + Environment.NewLine + "Verilen Ücrete Göre toplam" + carpma2 + " litre alıyorsunuz" + Environment.NewLine + "Bizi tercih ettiğiniz için teşekkürler");


Üstteki şekilde kullanırsanız daha güvenli bir kullanım yapmış olursunuz, diğer bir yol tryparse false döndürüyorsa kullanıcıya hata verip işlemi kesmek aşağıdaki gibi;


double a,b,c;
if (!double.TryParse(sayi1.Text, out a) || !double.TryParse(sayi2.Text, out a) || (!double.TryParse(sayi3.Text, out a))
{
MessageBox.Show("Girilen değerler sayı değil hata mesajı");
return;
}

double carpma = a * b;
double carpma2 =c/a;

MessageBox.Show("Litre Fiyatına göre Tutar" + carpma + "TL ödenmesi gerekmektedir" + Environment.NewLine + "Verilen Ücrete Göre toplam" + carpma2 + " litre alıyorsunuz" + Environment.NewLine + "Bizi tercih ettiğiniz için teşekkürler");
 

 

gvnysf gvnysf WM Aracı Kullanıcı
  • Üyelik 27.12.2018
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgi İşlem
  • Konum Bingöl
  • Ad Soyad Y** G**
  • Mesajlar 61
  • Beğeniler 12 / 9
  • Ticaret 0, (%0)
İlk kod çalışıyor ama şöyle bir sıkıntı var sayı 3 girilince program kendini kitliyor. Peki if else yapısı eklersem şu şekilde mi değiştirmem gerekiyor.


cs0019 hatası a adı geçiyor. > işleci int ve string türündeki işlenenlere uygulanamaz

if (sayi1.Text>0)
{
double a, b;
a = Convert.ToDouble(sayi1.Text);
b = Convert.ToDouble(sayi2.Text);
double carpma = a * b;
MessageBox.Show("Litre Fiyatına göre Tutar" + carpma);
}


 

 

ozmencelik ozmencelik Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 03.01.2016
  • Yaş/Cinsiyet 39 / E
  • Meslek .Net Developer - İng Öğretmeni
  • Konum İzmir
  • Ad Soyad Ö** Ç**
  • Mesajlar 339
  • Beğeniler 39 / 160
  • Ticaret 0, (%0)
Sana işin mantığını madde madde yazdım ve sen hiç anlamaya bile çalışmamışsın direk ezbere gitmeye çalışıyorsun bu yüzden hem kendi zamanını çalışıyorsun hem burdakilerin.

Bence sen C# Temel ders videoları izlemeye başla. Çünkü işin basit mantığını sana yazdım anlattım bunu bile anlamadıysan demekki senin ders videoları öğrenmen lazım.

Bu yazdığım yorumu yapıcı yada yıkıcı olarak almak senin elinde.

iyi forumlar
68136

kişi bu mesajı beğendi.

gvnysf gvnysf WM Aracı Kullanıcı
  • Üyelik 27.12.2018
  • Yaş/Cinsiyet 32 / E
  • Meslek Bilgi İşlem
  • Konum Bingöl
  • Ad Soyad Y** G**
  • Mesajlar 61
  • Beğeniler 12 / 9
  • Ticaret 0, (%0)

ozmencelik adlı üyeden alıntı

Sana işin mantığını madde madde yazdım ve sen hiç anlamaya bile çalışmamışsın direk ezbere gitmeye çalışıyorsun bu yüzden hem kendi zamanını çalışıyorsun hem burdakilerin.

Bence sen C# Temel ders videoları izlemeye başla. Çünkü işin basit mantığını sana yazdım anlattım bunu bile anlamadıysan demekki senin ders videoları öğrenmen lazım.

Bu yazdığım yorumu yapıcı yada yıkıcı olarak almak senin elinde.

iyi forumlar


Tabi ki de yapıcı olarak alıyorum ama şöyle bir durumda var Özmen hocam anlayamadığımız kısımlar oluyor videolarda temel bilgiler verildiği doğru ama bir soru(n) varsa kalkıp bunu videoda ki şahsa sorma gibi bir şansımız olmadığı için direkt burada bu işten anlayan insanlara sebebini veya neden kaynaklandığını sorup bilgi sahibi oluyoruz.
 

 

wmaraci
wmaraci
Konuyu toplam 3 kişi okuyor. (0 kullanıcı ve 3 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al