C# Kalkulator

Pozdravljeni.

Delam kalkulator v C# za na moj blog, enega sem že naredil, sedaj delam enega malo boljšega vendar mi stvar ne deluje.
Ko pritisnem gumbe minus, plus, deljeno mi pač zmiraj sešteva.

Koda:

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 Kalkulator_v2._0
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        // Vse gumbe je potrebno nastaviti tako, da se bodo dejansko izpisovali v text formi.
        private void btn0_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn0.Text;
        }

        private void btn1_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn1.Text;
        }

        private void btn2_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn2.Text;
        }

        private void btn3_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn3.Text;
        }

        private void btn4_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn4.Text;
        }

        private void btn5_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn5.Text;
        }

        private void btn6_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn6.Text;
        }

        private void btn7_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn7.Text;
        }

        private void btn8_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn8.Text;
        }

        private void btn9_Click(object sender, EventArgs e)
        {
            txtRezultat.Text = txtRezultat.Text + btn9.Text;
        }

        private void btnClear_Click(object sender, EventArgs e)
        {
            txtRezultat.Clear(); //Gumb počisti, nastavimo za izbris.
        }
        // Zakaj double? Zato ker ima prednosti kot so ta do omogoča velika števila ter decimalno vejico.
        double total1 = 0;
        double total2 = 0;

        private void btnRezultat_Click(object sender, EventArgs e)
        {
            total2 = total1 + double.Parse(txtRezultat.Text);
            txtRezultat.Text = total2.ToString();
            total1 = 0;

        }
        // Naredimo nekaj sprejemljivk z določenimi "pravili", katere jih potem uporabimo v if stavkih kateri so navhu
        bool btnplus = false;
        bool btnMinus = false;
        bool btnmnozenje = false;
        bool btnDeljenje = false;

        private void BtnMinus_Click(object sender, EventArgs e)
        {
            total1 = total1 + double.Parse(txtRezultat.Text);
            txtRezultat.Clear();
            bool btnplus = false;
            bool btnMinus = true;
            bool btnmnozenje = false;
            bool btnDeljenje = false;
        }

        private void btnMnozenje_Click(object sender, EventArgs e)
        {
            total1 += total1 + double.Parse(txtRezultat.Text);
            txtRezultat.Clear();

            bool btnplus = false;
            bool btnMinus = false;
            bool btnmnozenje = true;
            bool btnDeljenje = false;
        }

        private void btnDeljeno_Click(object sender, EventArgs e)
        {
            total1 += total1 + double.Parse(txtRezultat.Text);
            txtRezultat.Clear();

            bool btnplus = false;
            bool btnMinus = false;
            bool btnmnozenje = false;
            bool btnDeljenje = true;
        }

        private void btnPlus_Click(object sender, EventArgs e)
        {
            total1 += total1 + double.Parse(txtRezultat.Text);
            txtRezultat.Clear();
            //Preden gremo delati if-e, moramo določiti pogoje z bool (spodaj)

            // Ko je pač btnplus "true" seštevi.
            if (btnplus == true)
            {
                total2 = total1 + double.Parse(txtRezultat.Text);
                txtRezultat.Text = total2.ToString();
                total1 = 0;
            }
            // Ko je pač btnminus "true" odštevi.
            else if (btnMinus == true)
            {
                total2 = total1 * double.Parse(txtRezultat.Text);
                txtRezultat.Text = total2.ToString();
                total1 = 0;

            }
            // Ko je pač btnmnozenje "true" množi.
            else if (btnmnozenje == true)
            {
                total2 = total1 - double.Parse(txtRezultat.Text);
                txtRezultat.Text = total2.ToString();
                total1 = 0;

            }
            // Ko je pač btnDeljenje"true" deli.
            else if (btnDeljenje == true)
            {
                total2 = total1 / double.Parse(txtRezultat.Text);
                txtRezultat.Text = total2.ToString();
                total1 = 0;

            }

        }
    }
}

1 odgovor

Ok prva napaka je pr tistih bool-ih, to sem porpavil ker so pač samo na začetku ko določimo sprejemljivke vendar še vedno samo sešteva kalkulator.