| 
				
				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  |  
| 
 | 
 |    |     
		
		 
 |