Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > math.sqrt немогу прикрутить


Автор: transkriptsiya 9.2.2013, 17:26
Пишу первую свою прогу на с# ессесно калькулятор. (хело ворлд - невсчет)



суть вопроса немогу реализовать корень квадратный
(если отдельно в консоле сделать то все ок - а в коде не работает)

            
Код

            double r = Convert.ToDouble(textBox1.Text);
            double d = Math.Sqrt(r);
            label3.Text = Convert.ToString(r);




Код


namespace Calc
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = button1.Text;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            label1.Text = button2.Text;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            label1.Text = button3.Text;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            label1.Text = button4.Text;
        }
        private void button5_Click(object sender, EventArgs e)
        {
            
            double r = Convert.ToDouble(textBox1.Text);
            double d = Math.Sqrt(r);
            label3.Text = Convert.ToString(r);
            
        }
       

        private void button7_Click(object sender, EventArgs e)
        {
            double i1, i2; 
            double ansver;
            string txtBox1 = textBox1.Text, txtBox2 = textBox2.Text;
            
            switch (label1.Text)
            { 
                case "+":
                    i1 = Convert.ToDouble(txtBox1);
                    i2 = Convert.ToDouble(txtBox2);                    
                    ansver = i1 + i2;
                    label3.Text = ansver.ToString();  
                    break;
                case "-":
                    i1 = Convert.ToDouble(txtBox1);
                    i2 = Convert.ToDouble(txtBox2);
                    ansver = i1 - i2;
                    label3.Text = ansver.ToString();
                    break;
                case "/":
                    i1 = Convert.ToDouble(txtBox1);
                    i2 = Convert.ToDouble(txtBox2);
                    ansver = i1 / i2;
                    label3.Text = ansver.ToString();
                    break;
                case "*":
                    i1 = Convert.ToDouble(txtBox1);
                    i2 = Convert.ToDouble(txtBox2);
                    ansver = i1 * i2;
                    label3.Text = ansver.ToString();
                    break;
                
            }
        }

        private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            // Если это не цифра.
            if (!Char.IsDigit(e.KeyChar))
            {
               
                // Запрет на ввод более одной десятичной точки.
                if (e.KeyChar != ',' || textBox1.Text.IndexOf(",") != -1)
                // Запрет на ввод более одного минуса.
                if (e.KeyChar != '-' || textBox1.Text.IndexOf("-") != -1)
                // Розрешение на backspace.
                if (e.KeyChar != (char)Keys.Back)
                {
                    e.Handled = true;
                }
            }
        }

        private void textBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
           
    // тоже самое только для textBox2
        if (!Char.IsDigit(e.KeyChar))
            {
                   
                if (e.KeyChar != ',' || textBox1.Text.IndexOf(",") != -1)
                    if (e.KeyChar != '-' || textBox1.Text.IndexOf("-") != -1)
                    if (e.KeyChar != (char)Keys.Back)
                        {
                            e.Handled = true;
                        }
            }
        }

        private void button8_Click(object sender, EventArgs e)
        {
            textBox1.Clear();
            textBox2.Clear();
            label1.Text = "";
            label3.Text = "";
        }
  

       
    }
}


Автор: wester 9.2.2013, 20:09
перед namespace напишите

Код

using System;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)