C# Kalkulator
1 naročnik
1 naročnik
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;
}
}
}
}