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

reopla reopla    1   25.09.2019 20:40    65

Ответы
backust backust  08.10.2020 19:16
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();        }
    }}Упрощено для надежной работы
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика