• Ребят C#, помогите решить ошибку: System.FormatException: "Входная строка имела неверный формат." Программа сначала работает нормально: пользователь пишет первое число, выбирает оперцию( +, -, *, /), затем вводит следующее число, и при нажатии кнопки =, программа екстренно завершает работу с ошибкой.


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;

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

    }


    float a, b;
    int count;
    bool znak = true;
    private void Form1_Load(object sender, EventArgs e)
    {

    }
    private void textBox1_TextChanged(object sender, EventArgs e)
    {

    }
    private void button1_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 1;
    }

    private void button2_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 2;
    }


    private void button3_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 3;
    }

    private void button4_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 4;
    }

    private void button5_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 5;
    }

    private void button6_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 6;
    }

    private void button7_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 7;
    }


    private void button8_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 8;
    }



    private void button9_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 9;
    }

    private void button10_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + 0;
    }

    private void button11_Click(object sender, EventArgs e)
    {
    textBox1.Text = textBox1.Text + ",";
    }
    private void button12_Click(object sender, EventArgs e)
    {



    a = float.Parse(textBox1.Text);
    textBox1.Clear();
    count = 1;
    textBox1.Text = a.ToString() + "+";
    znak = true;

    }

    private void button13_Click(object sender, EventArgs e)
    {
    a = float.Parse(textBox1.Text);
    textBox1.Clear();
    count = 2;
    textBox1.Text = a.ToString() + "-";
    znak = true;
    }

    private void button14_Click(object sender, EventArgs e)
    {
    a = float.Parse(textBox1.Text);
    textBox1.Clear();
    count = 3;
    textBox1.Text = a.ToString() + "*";
    znak = true;
    }

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {


    char number = e.KeyChar;

    if (!Char.IsDigit(number))
    {
    e.Handled = true;
    }


    }
    private void culsy()
    {
    switch (count)
    {
    case 1:
    b = a + float.Parse(textBox1.Text);
    textBox1.Text = b.ToString();
    break;
    case 2:
    b = a - float.Parse(textBox1.Text);
    textBox1.Text = b.ToString();
    break;
    case 3:
    b = a * float.Parse(textBox1.Text);
    textBox1.Text = b.ToString();
    break;
    case 4:


    b = a / float.Parse(textBox1.Text);
    textBox1.Text = b.ToString();



    break;
    default:
    break;
    }
    }
    private void button16_Click(object sender, EventArgs e)
    {
    culsy();
    textBox1.Text = "";

    }

    private void label1_Click(object sender, EventArgs e)
    {

    }

    private void button15_Click(object sender, EventArgs e)
    {
    a = float.Parse(textBox1.Text);
    textBox1.Clear();
    count = 4;
    textBox1.Text = a.ToString() + "/";
    znak = true;
    }




    }
    }





Ответы 2

  • private void button16_Click( это кнопка "="
    • Автор:

      bernice
    • 5 лет назад
    • 0
  • using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace Culsy{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();        }        float a, b,z;        int count;        string znak = ""; int slo, vich, umn, del;        private void Form1_Load(object sender, EventArgs e)        {        }        private void button1_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 1;        }        private void button2_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 2;        }        private void button3_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 3;        }        private void button4_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 4;        }        private void button5_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 5;        }        private void button6_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 6;        }        private void button7_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 7;        }        private void button8_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 8;        }        private void button9_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 9;        }        private void button10_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + 0;        }        private void button11_Click(object sender, EventArgs e)        {            textBox1.Text = textBox1.Text + ",";        }        private void button12_Click(object sender, EventArgs e)        {            a = float.Parse(textBox1.Text);            textBox1.Clear();            slo = 1; znak = " + ";        }        private void button13_Click(object sender, EventArgs e)        {            a = float.Parse(textBox1.Text);            textBox1.Clear();            vich = 1; znak = " - ";        }        private void button14_Click(object sender, EventArgs e)        {            a = float.Parse(textBox1.Text);            textBox1.Clear();            umn = 1; znak = " * ";        }        private void button15_Click(object sender, EventArgs e)        {            a = float.Parse(textBox1.Text);            textBox1.Clear();            del = 1; znak = " / ";        }        private void button16_Click(object sender, EventArgs e)        {            b = float.Parse(textBox1.Text);            if (slo == 1) { z = a + b; }            if (vich == 1) { z = a - b; }            if (umn == 1) { z = a * b; }            if (del == 1)            {                if (b == 0)                {                    z = a / b;                }                else { textBox1.Text = "Деление на 0"; }            }            textBox1.Text = a.ToString() + znak + b.ToString() + " = " + z.ToString();        }    }}Упрощено для надежной работы
    • Автор:

      snoopy77
    • 5 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years