c# kalkulator

Witam! Chciałbym napisać prosty kalkulator w c# kod mainform.cs wyglada tak: using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; namespace kalkulator { /// /// Description of MainForm. /// public partial class MainForm : Form { double a=0; double wynik=0; public MainForm() { // // The InitializeComponent() call is required for Windows Forms designer support. // InitializeComponent(); // // TODO: Add constructor code after the InitializeComponent() call. // } void Btn1Click(object sender, EventArgs e) { textBox1.Text=textBox1.Text+btn1.Text; } void Btn2Click(object sender, EventArgs e) { textBox1.Text=textBox1.Text+btn2.Text; } void BtnplusClick(object sender, EventArgs e) { a=double.Parse(textBox1.Text); wynik=wynik+(a); textBox1.Text=""; } void BtnrownyClick(object sender, EventArgs e) { textBox1.Text=System.Convert.ToString(wynik); } } } moze wiecie dlaczego nie liczy dobrze?

Odpowiedzi: 2

Panowie mam mały problem z moim kalkulatorem. Otóż kiedy mnożę jakąś liczbę z przecinkiem z jakąś inną to wyskakuje mi błąd. Odnosi się on do tego fragmentu związanego z = : private void button17_Click(object sender, EventArgs e) { equal = true; if (plus) { decimal dec = Convert.ToDecimal(textBox1.Tag) + Convert.ToDecimal(textBox1.Text); textBox1.Text = dec.ToString(); } if (multiply) { decimal dec = Convert.ToDecimal(textBox1.Tag) * Convert.ToDecimal(textBox1.Text); textBox1.Text = dec.ToString(); } if (minus) { decimal dec = Convert.ToDecimal(textBox1.Tag) - Convert.ToDecimal(textBox1.Text); textBox1.Text = dec.ToString(); } if (divide) { decimal dec = Convert.ToDecimal(textBox1.Tag) / Convert.ToDecimal(textBox1.Text); textBox1.Text = dec.ToString(); } } Co mogę mieć tutaj źle ?
sledzikmaster
Dodano
31.01.2010 16:27:07
  • Ad@$ 04.02.2010 21:07:42

    [quote=sledzikmaster]Otóż kiedy mnożę jakąś liczbę z przecinkiem z jakąś inną to wyskakuje mi błąd.[/quote] W notacji amerykańskiej musisz wprowadzać liczbę (kropka, nie przecinek). BTW, dlaczego dec, a nie double?

Tak na oko to nie wiem gdzie jest błąd. Jakbyś mógł to dodaj cały projekt to poszukam błędu. [quote] void BtnplusClick(object sender, EventArgs e) { a=double.Parse(textBox1.Text); wynik=wynik+(a); textBox1.Text=""; } [/quote] Spróbuj tak: [quote] try { a=double.Parse(textBox1.Text); wynik+=a; } catch(Exception) { MessageBox.Show("Nie poprawna wartość"); } [/quote]
newuser
Dodano
08.11.2009 20:06:34
fingo1311
Dodano:
26.10.2009 20:37:51
Komentarzy:
2
Strona 1 / 1