C# Калькулятор
| |
trem200 | Дата: Четверг, 18 Июня 2015, 12:59 | Сообщение # 1 |
участник
Сейчас нет на сайте
| Помогите, я в c# создал калькулятор. Уже все создано, но столкнулся с одной проблемой. Когда считаю числа, ну например 7+3=10, после обнуляю, и 10/2=0,833333... Ошибка где-то в обнулении, ну я ее найти не могу. Помогите найти ошибку, а то я в C# новичок.
Сам код Код 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 Калькулятор { public partial class Form1 : Form { bool plus = false; bool minus = false; bool ymnogit = false; bool delenie = false;
public Form1() { InitializeComponent(); }
private void button1_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "7"; }
private void button2_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "8"; }
private void button3_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "9"; }
private void button5_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "4"; }
private void button6_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "5"; }
private void button7_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "6"; }
private void button9_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "1"; }
private void button10_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "2"; }
private void button11_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "3"; }
private void button13_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "0"; }
private void button14_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + "00"; }
private void button15_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + ","; }
private void button21_Click(object sender, EventArgs e) { textBox1.Text = ""; textBox1.Tag = ""; }
private void button19_Click(object sender, EventArgs e) { double x; x = Convert.ToDouble(textBox1.Text) * Convert.ToDouble(textBox1.Text); textBox1.Text = Convert.ToString(x); }
private void button20_Click(object sender, EventArgs e) { double k; k = Convert.ToDouble(textBox1.Text); textBox1.Text = Convert.ToString(Math.Sqrt(k)); }
private void button16_Click(object sender, EventArgs e) { plus = true; textBox1.Tag = textBox1.Text; textBox1.Text = ""; }
private void button12_Click(object sender, EventArgs e) { minus = true; textBox1.Tag = textBox1.Text; textBox1.Text = ""; }
private void button18_Click(object sender, EventArgs e) { ymnogit = true; textBox1.Tag = textBox1.Text; textBox1.Text = ""; }
private void button8_Click(object sender, EventArgs e) { delenie = true; textBox1.Tag = textBox1.Text; textBox1.Text = ""; }
private void button17_Click(object sender, EventArgs e) { if (plus) { decimal del = Convert.ToDecimal(textBox1.Tag) + Convert.ToDecimal(textBox1.Text); textBox1.Text = del.ToString(); } if (minus) { decimal del = Convert.ToDecimal(textBox1.Tag) - Convert.ToDecimal(textBox1.Text); textBox1.Text = del.ToString(); } if (ymnogit) { decimal del = Convert.ToDecimal(textBox1.Tag) * Convert.ToDecimal(textBox1.Text); textBox1.Text = del.ToString(); } if (delenie) { decimal del = Convert.ToDecimal(textBox1.Tag) / Convert.ToDecimal(textBox1.Text); textBox1.Text = del.ToString(); } } } }
Сообщение отредактировал trem200 - Четверг, 18 Июня 2015, 13:16 |
|
| |
harmoxyne | Дата: Четверг, 18 Июня 2015, 13:32 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| Код private void button16_Click(object sender, EventArgs e) { plus = true; textBox1.Tag = textBox1.Text; textBox1.Text = ""; } Тут, как бы, помимо того, что plus = true, нужно дабы [minus, ymnogit, delenie] = false. И так везде в остальных местах.
|
|
| |
trem200 | Дата: Четверг, 18 Июня 2015, 14:06 | Сообщение # 3 |
участник
Сейчас нет на сайте
| harmoxyne, Спасибо большое за помощь, не могли бы Вы подсказать, как в этом коде прописать кнопку по переводу валют.
|
|
| |
harmoxyne | Дата: Четверг, 18 Июня 2015, 14:14 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| Цитата trem200 ( ) как в этом коде прописать кнопку по переводу валют. А остальные кнопки как прописывал? Пишешь функцию перевода валют, по событию Click для нужной тебе кнопки вызываешь функцию, делов-то
|
|
| |
Gudleifr | Дата: Четверг, 18 Июня 2015, 16:16 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| trem200, научитесь правильно ставить вопросы: 1. "Где я ошибся?" Вопрос не имеет отношения ни к языку программирования, ни к ОС, только к задаче, как таковой. "Что я хочу получить, нажав на кнопку, независимо от того, на чем и где я ее рисую и отслеживаю?" 2. "Как прописать кнопку?" Вопрос не имеет отношения ни к языку, ни к решению задачи. Только к ОС. "Как здесь, вообще, рисуют кнопки? Кто отслеживает их? Как спереть и прицепить подходящую библиотеку?"
Подходящие шаблоны решения: "калькулятор с наворотами" есть в D.F.Scott "Разработка прикладных систем на Visual Basic for Windows" (решение и ОС, язык, понятно, не тот), "красивый и быстрый перевод чисел" Джеф Раскин "Интерфейс: новые направления в проектировании компьютерных систем" (только решение, без языка и ОС). методы "переопределения кнопок калькулятора" (для крутых МастДайщиков) есть во втором томе Гладкова и Фролова "Программирование в Microsoft Windows" и в ISZELION'S WIN32 ASM TUTORIAL.
Добавлено (18 июня 2015, 16:16) --------------------------------------------- P.S. Нудизм от того, что "просто решая задачи" программистом не станете, нужно понимать, нафига вас ими мучают, к чему хотят подвести.
Быдлокодеры любят повторять: "логика, убивающая мозг",- когда их пытаются заставить программировать.
Сообщение отредактировал Gudleifr - Четверг, 18 Июня 2015, 16:16 |
|
| |
|