Hej, jag har gjort en egen liten kalkylator i C# windows form application, det mesta funkar som det ska men det är ett litet problem och en sak jag skulle vilja lägga till i den som inte fungerar.
Problemet är att jag vill kunna räkna restdivision på den också.. alltså % Men när jag testar så funkar det inte (ska visa i koden längre ner) Andra problemet är om jag ska ta t.ex 5 * 2 + 3 så blir svaret 10? Vet inte varför därför om jag tar 10 + 10 + 10 så blir svaret 30. Vill att den ska räkna 5 * 2 (10) + 3 som är 13. Heller inte att den tar 2 + 3 och sen 5 * 5 för det blir fel. Ska visa koden och så får någon hjälpa mig med vad jag har gjort för fel
här är en bild på min kalkylator: http://www.webforum.nu/attachment.ph...1&d=1359645532
här nere är koden:
Felet är när jag trycker t.ex 10 och sedan på % knappen så händer ingenting. Trycker jag på = tecknet så får jag bara något problem som uppstår så jag måste stänga av kalkylatorn. jag har även testat att trycka först på % och sedan 10 men inget händer. Vad är felet ?
har tagit bort koden till siffrorna så det inte ska blir ALLT för mycket för att läsa. Tacksam för hjälp!
Problemet är att jag vill kunna räkna restdivision på den också.. alltså % Men när jag testar så funkar det inte (ska visa i koden längre ner) Andra problemet är om jag ska ta t.ex 5 * 2 + 3 så blir svaret 10? Vet inte varför därför om jag tar 10 + 10 + 10 så blir svaret 30. Vill att den ska räkna 5 * 2 (10) + 3 som är 13. Heller inte att den tar 2 + 3 och sen 5 * 5 för det blir fel. Ska visa koden och så får någon hjälpa mig med vad jag har gjort för fel

här är en bild på min kalkylator: http://www.webforum.nu/attachment.ph...1&d=1359645532
här nere är koden:
Kod:
namespace Calculator { public partial class Form1 : Form { public Form1() { InitializeComponent(); } bool plusButton = false; // detta är för plus (funkar) bool minusButton = false; // detta är för minus (funkar) bool gangerButton = false; //detta är för gånger (funkar) bool divideButton = false; //detta för division (funkar) bool restDivision = false; //detta är för restdivisionen (FUNKAR INTE!) private void btnOne_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnOne.Text; } private void btnTwo_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnTwo.Text; } private void btnThree_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnThree.Text; } private void btnFour_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnFour.Text; } private void btnFive_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnFive.Text; } private void btnSix_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnSix.Text; } private void btnSeven_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnSeven.Text; } private void btnEight_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnEight.Text; } private void btnNine_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnNine.Text; } private void btnZero_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnZero.Text; } private void btnClear_Click(object sender, EventArgs e) { txtDisplay.Clear(); } double total1 = 0; double total2 = 0; private void btnPlus_Click(object sender, EventArgs e) { total1 = total1 + double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = true; minusButton = false; gangerButton = false; divideButton = false; restDivision = false; } private void btnEquals_Click(object sender, EventArgs e) { if (plusButton == true) { total2 = total1 + double.Parse(txtDisplay.Text); } else if (minusButton == true) { total2 = total1 - double.Parse(txtDisplay.Text); } else if (divideButton == true) { total2 = total1 / double.Parse(txtDisplay.Text); } else if (gangerButton == true) { total2 = total1 * double.Parse(txtDisplay.Text); } else if (restDivision == true) { total2 = total1 % double.Parse(txtDisplay.Text); //här ska den ta % istället för t.ex + eller * osv så att det blir restdivision. Resten funkar } txtDisplay.Text = total2.ToString(); total1 = 0; } private void btnComma_Click(object sender, EventArgs e) { txtDisplay.Text = txtDisplay.Text + btnComma.Text; } private void btnMinus_Click(object sender, EventArgs e) { total1 = total1 + double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = false; minusButton = true; gangerButton = false; divideButton = false; restDivision = false; } private void btnDivision_Click(object sender, EventArgs e) { total1 = total1 + double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = false; minusButton = false; gangerButton = false; divideButton = true; restDivision = false; } private void btnGanger_Click(object sender, EventArgs e) { total1 = total1 + double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = false; minusButton = false; gangerButton = true; divideButton = false; restDivision = false; } private void btnRdivision_Click(object sender, EventArgs e) { total1 = total1 + double.Parse(txtDisplay.Text); txtDisplay.Clear(); plusButton = false; minusButton = false; gangerButton = false; divideButton = false; restDivision = true; //det är här restDivision är sant och ska fungera för den knappen. } } }
har tagit bort koden till siffrorna så det inte ska blir ALLT för mycket för att läsa. Tacksam för hjälp!

Kommentera