Не могу получить кнопку, чтобы сделать простые вычисления и написать ответ в текстовом поле

Я только начал писать на C# несколько дней назад и мне нужна помощь с программой, которую я пишу.

Это не настоящий код, просто то, что я написал, чтобы показать вам, как создается оригинальный код.

public partial class form1 : form
{
int container;
int resource;
int capacity;
int price;
int total;

int basket = 10; //container that holds 10 slots
int apples = 2; //resource that takes 2 slots per resource
}

public form1()
{
private void checkbox1_checkedchanged(object sender, eventargs e) //basket checkbox
{

if (((CheckBox)checkbox1).Checked == true)
{
basket = container;
}

}

private void checkbox2_checkedchanged(object sender, eventargs e) //apples checkbox
{

if (((CheckBox)checkbox2.Checked == true)
{

apples = resource;

}

}
private void button1_Click(object sender, EventArgs e) //calculate button
{
container / resource = capacity; //to see how many resources the basket can hold
/* textbox 1 is where they write the price for what 1 apple cost */
price = int.Parse(textbox1.text); 
capacity * price = total;
textbox2.AppendText(total); //textbox2 is where they will se how much the apples cost
}



}

Проблема в том, что я получаю ошибки из кода в "button1", который говорит все от

  • Левая часть присваивания должна быть переменной, свойством или индексатором.
  • Невозможно получить адрес, получить размер или объявить указатель на управляемый тип ("емкость")
  • "WindowsFormApplication1.Form1.Capacity" является "полем", но используется как "тип"
  • Указатели буфера фиксированного размера могут использоваться только в небезопасном контексте.
  • не может неявно преобразовать тип 'int' в 'Capacity *'. Существует явное преобразование (вам не хватает приведения?)
  • Наилучшее перегруженное соответствие метода для 'System.Window.Forms.TextBoxBase.AppendText(String)' имеет недопустимые аргументы
  • Аргумент 1: невозможно преобразовать из int в string

Поэтому мне интересно, что я делаю не так, чтобы добиться такого приложения, которое я хочу. Приложение выглядит примерно так:

Изменить: Исходный код был удален

Edit2: Вот так выглядит button1 сейчас, и нет никаких ошибок, кроме той, которая возникает, когда я пытаюсь разделить транспортное средство с солью (не пробовал ни один другой ресурс, кроме того, который указан в списке). Код выглядит так же, как и раньше, но я изменил это благодаря Дэвиду Пилкингтону.

private void button1_Click(object sender, EventArgs e) /* calculate-button */
    {
        capacity = vehicle / resource;
        total = capacity * price;
        textBox4.AppendText(total.ToString());
    }

2 ответа

Решение
private void button1_Click(object sender, EventArgs e) //calculate button
{
    capacity = container / resource; //to see how many resources the basket can hold
    price = int.Parse(textbox1.text); 
    total= capacity * price;
    textbox2.AppendText(total.ToString()); //textbox2 is where they will se how much the     apples cost
}

Ваши задания неверны, и вам нужно преобразовать int к string перед добавлением

Вы также можете использовать TryParse обрабатывать грязный ввод

private void button1_Click(object sender, EventArgs e) //calculate button
{
    capacity = container / resource; //to see how many resources the basket can hold
    if(int.TryParse(textbox1.text, out price)) 
    {
       total= capacity * price;
       textbox2.AppendText(total.ToString()); //textbox2 is where they will se how much the apples cost
    }
}

БОЛЬШОЕ РЕДАКТИРОВАНИЕ:

Кажется, все твои задания неверны. Это означает, что ресурс никогда не устанавливается и будет создавать ошибку в этой строке capacity = container / resource;

Ваш код все неправильно в button2_click()

container / resource = capacity; //to see how many resources the basket can hold
/* textbox 1 is where they write the price for what 1 apple cost */
price = int.Parse(textbox1.text); 
capacity * price = total;
textbox2.AppendText(total); 

Должен (возможно?) Быть

capacity = container / resource; //to see how many resources the basket can hold
/* textbox 1 is where they write the price for what 1 apple cost */
price = int.Parse(textbox1.text); 
total = capacity * price;
textbox2.AppendText(total.ToString());

Это должно удалить большинство ваших ошибок в коде.

Надеюсь, поможет! //KH.

Другие вопросы по тегам