Лучшие помощники
- Megamozg 2205 б
- Matalya1 1800 б
- DevAdmin 1720 б
- arkasha_bortnikov 900 б
- Dwayne_Johnson 870 б
1 апреля 2023 23:13
599
Ребят 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
·
Хороший ответ
3 апреля 2023 23:13
Остались вопросы?
Еще вопросы по категории Информатика
Лабораторная работа № 12 Создание запросов 1. Закладка Запросы/Создать/Конструктор. 2. В окне Добавление таблиц добавить обе таблицы, о...
Задача 6: Странное устройство По приезде Василий с Петром обнаружили в своем номере в гостинице странный прибор. Он был оснащен дисплеем, на котором п...
год,в котором французский инженер Валтат выдвинул идею использования двоичной системы счисления при создании механических счётных устройств....
Загадана случайная последовательность из пяти букв. Каждая буква с равной вероятностью является одной из 32-х букв русского алфавита (не используется...
Какая формула соответствует поиску документа, содержащего цитату , включая пропущенное слово? Игра| Инженер | Задача Игра Инженер Задача "Игра *Инже...