Лучшие помощники
- Megamozg 2190 б
- Matalya1 1800 б
- DevAdmin 1695 б
- arkasha_bortnikov 860 б
- Dwayne_Johnson 845 б
3 апреля 2023 13:54
797
Ребят 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;
}
}
}
1
ответ
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(); }
}}Упрощено для надежной работы
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(); }
}}Упрощено для надежной работы
0
·
Хороший ответ
5 апреля 2023 13:54
Остались вопросы?
Еще вопросы по категории Информатика
Сумма 10000 рублей положена в сберегательный банк, при этом прирост составляет 5% годовых. Составьте алгоритм, определяющий, через какой промежуток вр...
2. Укажите правильное описание массива а. Var a:array[1..1000] of integer; б. Var А, В, С: ARRAY [1..50] OF REAL or INTEGER; в. Var А: ARRAY [1..50 OF...
Помогите,пожалуйста с подробным решением 1. В процессе преобразования растрового графического изображения количество цветов уменьшилось с 65536 до 16....
k = 1; for (i = 1; i <= 5; i++) k = k + 3 * i;...
ниже в табличной форме представлен фрагмент базы данных о результатах тестирования учащихся (используется 100 бальная шкала) (смотри вложение) сколько...
Все предметы