» »

Kalkulator-problem

Kalkulator-problem

nokaut240 ::

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApplication1
{

/// Interaction logic for Window1.xaml

public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
int stdva = 0;
int x = 0;

private void button1_Click(object sender, RoutedEventArgs e)
{
if (textBox1.Text != "")
{
textBox1.Text = textBox1.Text + "0";
}
}

private void button2_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "1";
}

private void button3_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "2";
}

private void button4_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "3";
}

private void button5_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "4";
}

private void button6_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "5";
}

private void button7_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "6";
}

private void button8_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "7";
}

private void button9_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "8";
}

private void button10_Click(object sender, RoutedEventArgs e)
{
textBox1.Text = textBox1.Text + "9";
}

private void button11_Click(object sender, RoutedEventArgs e)
{
try
{
if (textBox1.Text != "")
{
if (stdva == 0)
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
if (stdva != Convert.ToInt32(textBox1.Text))
{
stdva = stdva + Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
}
x = 1;
}
}
catch (System.FormatException)
{
}
}

private void button12_Click(object sender, RoutedEventArgs e)
{
try
{
if (textBox1.Text != "")
{
if (stdva == 0)
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
if (stdva != Convert.ToInt32(textBox1.Text))
{
stdva = stdva - Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
}
x = 2;
}
}
catch (System.FormatException)
{
x = 0;
textBox1.Text = Convert.ToString(x);
}
}

private void button13_Click(object sender, RoutedEventArgs e)
{
try
{
if (textBox1.Text != "")
{
if (stdva == 0)
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
if (stdva != Convert.ToInt32(textBox1.Text))
{
stdva = stdva * Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
}
x = 3;
}
}

catch (System.FormatException)
{
x = 0;
textBox1.Text = Convert.ToString(x);
}
}

private void button14_Click(object sender, RoutedEventArgs e)
{
try
{
if (textBox1.Text != "")
{
if (stdva == 0)
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
if (stdva != Convert.ToInt32(textBox1.Text))
{
if (textBox1.Text != "0")
{
stdva = stdva / Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}
else
{
textBox1.Text = "deljitelj je 0";
}
}
else
{
stdva = Convert.ToInt32(textBox1.Text);
x = 0;
textBox1.Text = Convert.ToString(x);
}

}
x = 4;
}
}

catch (System.FormatException)
{
x = 0;
textBox1.Text = Convert.ToString(x);
}
}

private void button15_Click(object sender, RoutedEventArgs e)
{
try
{
if (textBox1.Text != "")
{
switch (x)
{
case 1:
textBox1.Text = Convert.ToString(stdva + Convert.ToInt32(textBox1.Text));
stdva = Convert.ToInt32(textBox1.Text);
break;

case 2:
textBox1.Text = Convert.ToString(stdva - Convert.ToInt32(textBox1.Text));
stdva = Convert.ToInt32(textBox1.Text);
break;
case 3:
textBox1.Text = Convert.ToString(stdva * Convert.ToInt32(textBox1.Text));
stdva = Convert.ToInt32(textBox1.Text);
break;
case 4:
if (textBox1.Text != "0")
{
textBox1.Text = Convert.ToString(stdva / Convert.ToInt32(textBox1.Text));
stdva = Convert.ToInt32(textBox1.Text);
break;
}
else
{
textBox1.Text = "deljitelj je 0";
}
break;

}
}
else
{
x = 0;
textBox1.Text = Convert.ToString(x);
}

}

catch (System.FormatException)
{
x = 0;
textBox1.Text = Convert.ToString(x);
}
}

private void button16_Click(object sender, RoutedEventArgs e)//reset
{
x = 0;
textBox1.Text = Convert.ToString(x);
}

private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{

}
}
}

Naprimer, ko dam 6+5 mi seťteje da je to 11. Potem dam reset, vpiťem 2+3 in mi napiťe 16. to pomeni, da je 2+3=5 priťtel k prejťnjemu ra�unu (6+5), zato pa dobi 16. In to se vedno nadaljuje. ne vem zakaj ta reset ne dela tako kot bi moral.

Tutankhamun ::

jaooo, button14, button12 ... Sam bog ve kaj so te gumbi pa textboxi. Zakaj jih ne poimenuješ buttonReset, buttonPlus ... Zdej lahk sam ugibam kje je reset.

Drgač pa lahk manest
textBox1.Text = textBox1.Text + "4";
pišeš
textBox1.Text += "4";
mal manj pisanja, pa manjša možnost napake. Recimo da nardiš textBox1.Text = textBox2.Text + "4";

Neveš pa kaj morš narest, ker si se vrjetn zgubu v kodi in jo še sam ne zastopš več.
Če sm prov gledu maš za rezultat seštevanja spremenljivko stdva. Vrjetn morš sam to postavt na nič?
Pa lahk bi bla koda mal zamaknjena. Da bo folk, ki bi ti pomagu laži kodo pregledu!
AMD Phenom QUAD 9950 Black Edition, 8GB

nokaut240 ::

pa obstaja kakšen lažji način kot tole ?

Tutankhamun ::

Ja js nevem kakšne so tvoje zahteve.

Ampak gumbe pa display lahko usaj poimenuješ glede na to kaj naj bi delal.
buttone_, button_2 ... button_plus, button_minus, button_reset... textbox_display ...
To je prvo kar nardiš, da pol čez pou ure ne iščeš ker gumb je pa reset...

Js bi vrjetn tko naredu, da bi kr pisov enačbo v display (npr. 36 + 6 - 6 / 2), pol bi pa sparsov pa neki sčarov skp.

Js ti predlagam, da uzameš list pa svinčnik, pa si narediš načrt poteka programa. Pol ko ti na papirju use nekak štima, pa preneseš v c# in to je to :). Tko js delam.
AMD Phenom QUAD 9950 Black Edition, 8GB

nokaut240 ::

Ma jz moram to oddat profesorju do polnoči pa se že dva dni ubadam s tem. nam je pokazal edino le kako se vnaša gumbe pa textbox, zdj moramo pa kar kalkulator narest.

Tutankhamun ::

Aja to je tko mal za šolo. Pol si pa poenostav, nared tri textbox-e, za prvo, drugo cifro pa rezultat. Pa 4 gumbe za 4 operacije (+-/*). To je pa to.

Ko vneseš v prva dva textboxa vrednost, pritisneš na enega od gumbov (+-*/).
Potem preveriš če sta textboxa oba polna. Pogledaš še, če je not številska vresnost, da niso lih črke (čeprov bi lahko naredu tako, da lahko samo številke notr vpisuješ).
Potem pa izvedeš ustrezno računsko operacijo. Js bi 100% tko naredu, če je za šolo, pa da kšnih navodil koliko gumbov koliko textbox-ov... To je najlaži, pa najmnj kode pa najmn napak možn ;)
AMD Phenom QUAD 9950 Black Edition, 8GB


Vredno ogleda ...

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

Visual Basic - matrike z datagridview

Oddelek: Programiranje
8844 (516) blay44
»

[C#] Spreminjanje fahrenheitov v celzije

Oddelek: Programiranje
51119 (974) blackwing
»

[C#] pomoc pri vpisu elementov v listBox

Oddelek: Programiranje
10998 (913) keworkian
»

c# class

Oddelek: Programiranje
341825 (1419) japol
»

Koda kalkulatorja v MS visual C# 2008?

Oddelek: Programiranje
212575 (1912) smukC

Več podobnih tem