» »

C# Kalkulator

C# Kalkulator

Goran's Blog ::

Pozdravljeni.

Delam članek za na moj blog, vednar ker nisem toliko vest v C# bi rabil pomoč.
Program mi ne deluje saj če hočem deliti, množiti mi vse 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();
             btnplus = false;
             btnMinus = true;
             btnmnozenje = false;
             btnDeljenje = false;
        }

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

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

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

             btnplus = false;
             btnMinus = false;
             btnmnozenje = false;
             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 )
           
            // 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;

            }


        }
    }
}

urbecar ::

Ali vedno kličeš btnPlus_Click?

Tole je precej zmedeno napisano. Predvidevam, da hočeš na onclick eventu klicati btnDeljeno_Click, ta pa potem pokliče btnPlus_Click.

Goran's Blog ::

Da, ubistvu ne vem zakaj pokliče plus ;)
Ja vem, da je zmedeno na hitro napsiano in bi lahko malo drugačna imena tudi dal za razvidnost.

urbecar ::

Najbrž imaš gumb za vsako računsko operacijo. Preveri, kateri event handler (ne vem kako se temu reče po slovensko) se kliče ob kliku na gumb za deljenje. Moral bi se btnDeljeno_Click najbrž pa se btnPlus_Click.

roba87 ::

Uporabi debugger, sledi kodi in boš točno videl kaj se dela narobe.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# težava

Oddelek: Programiranje
233712 (2558) mladec
»

[C#] Delo z okni - urejanje osebe

Oddelek: Programiranje
8984 (856) darkolord
»

ASPX preusmeritvena zanka

Oddelek: Programiranje
52116 (2021) Senzacionale
»

Pomoč pri programu!

Oddelek: Programiranje
81424 (1282) Mitja Bonča
»

C#, Dodajanje podatkov v Arraylist z Gumbom

Oddelek: Programiranje
82282 (2121) Beezgetz

Več podobnih tem