Миша Барарнов
Ученик
(107),
на голосовании
7 месяцев назад
сказали сделать калькулятор и тут вылетают ошибки, не могу исправить хелпаните плиз вылезает токая ошибка если нажимать на кнопки калькулятора Хотя если смотреть по этим ссылка то они сделаны правильно ВОТ КОД 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 КАЛЬКУЛЯТОРРРРР { public partial class CalcF : Form { public String strOperator = ""; public Double value = 0; public bool operatorPressed = false; public Double result = 0; TextBox CountTextBox; Label CurrentOp;
CountTextBox = null Если ты копируешь код ChatGPT и не понимаешь его, то будь готов к ошибках и к тому, что ChatGPT написал какую-то лажу. Либо же он предполагает, что у тебя должно быть текстовое поле с соответствующим именем.
> не могу исправить хелпаните плиз > TextBox CountTextBox; и Label CurrentOp; мне добавил GPT
То есть ИИ тебе испоганил код, а мы теперь должны во всем этом копаться и исправлять? Ну уж увольте-с. Хотите жить в своем дивном новом мире - хлебайте его полной ложкой. Впиндюрили вам ссылку на объект, который нигде не создается - разбирайтесь с ней сами.
У тебя должен быть отдельный класс - собссно калькулятор. Он должен иметь единственный метод - "нажата такая-то кнопка". И единственное публичное свойство - содержимое регистра Х. Можно еще привинтить состояние ошибки, но необязательно. А твоя форма должна тупо посылать этому классу кнопочки и показывать на себе состояние регистра. Тогда это будет работать.
вылезает токая ошибка если нажимать на кнопки калькулятора
Хотя если смотреть по этим ссылка то они сделаны правильно
ВОТ КОД
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 КАЛЬКУЛЯТОРРРРР
{
public partial class CalcF : Form
{
public String strOperator = "";
public Double value = 0;
public bool operatorPressed = false;
public Double result = 0;
TextBox CountTextBox;
Label CurrentOp;
public CalcF()
{
InitializeComponent();
}
private void CalcF_Load(object sender, EventArgs e)
{
}
private void button4_Click(object sender, EventArgs e)
{
}
private void multitttttt(object sender, EventArgs e)
{
Button Btn = (Button)sender;
if (CountTextBox.Text == "0" || operatorPressed)
{
CountTextBox.Text = "";
CountTextBox.Text = CountTextBox.Text + Btn.Text;
operatorPressed = false;
}
else
{
CountTextBox.Text = CountTextBox.Text + Btn.Text;
}
}
private void multy(object sender, EventArgs e)
{
Button Btn = (Button)sender;
strOperator = Btn.Text;
value = Double.Parse(CountTextBox.Text);
operatorPressed = true;
CurrentOp.Text = value + "" + strOperator;
}
private void Rovn(object sender, EventArgs e)
{
CurrentOp.Text = "Одижание доп.Ввода...";
operatorPressed = false;
switch (strOperator)
{
case "+":
result = value + Double.Parse(CountTextBox.Text);
CountTextBox.Text = result.ToString();
break;
}
}
}
}
К сведенью: TextBox CountTextBox; и Label CurrentOp; мне добавил GPT т.к ИМЯ ИХ не было видно кодом. Пожалуйста помогит!