Я пытаюсь сделать что-то, что кажется очень простым, но сейчас я хочу выбросить свой монитор на улицу в снег.Я не понимаю, почему мой оператор switch не выполняется при вызове.
Вот оно:
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) // Arithmetic Button Click
{
String^ riS = dc1->Text;
String^ ciS = dc2->Text;
colint = int::Parse(dc2->Text);
std::ostringstream ss;
String^ answer;
op1 = Double::Parse(foValue->Text);
op2 = Double::Parse(soValue->Text);
// Enter switch
switch(op_sym)
{
case '+':
sum = op1 + op2;
DGV->CurrentCell = DGV->Rows[RI]->Cells[CI];
ss << sum;
answer = Convert::ToString(answer);
MessageBox::Show(answer);
DGV->CurrentCell->Value = answer;
sumLabel->Text = "TEST";
break;
case '-':
sum = op1 - op2;
break;
case '*':
sum = op1 * op2;
break;
case '/':
if (op2 == 0)
{
MessageBox::Show("Sorry, you cannot divide by zero \n Please, reselect yoru second cell operand");
secondOpText->Text = "";
}
else
{
sum = op1/op2;
}
break;
default:
MessageBox::Show("I'm sorry. Please select one of these four arithmetic symbols from the drop down list: \n +, -, *, /");
break;
}
}
Я получаю op_sym справа сверху:
private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
{
Object^ selectedItem = comboBox1->SelectedItem;
String^ cb = selectedItem->ToString();
if( cb = "+")
{
op_sym = '+';
}
if(cb = "-")
op_sym = '-';
if(cb = "/")
op_sym = '/';
if(cb = "*")
op_sym = '*';
}
op_sym уже объявлен как символ в верхней части.Если кто-то сообщит мне о моей наиболее вероятной ошибке новичка, я буду очень признателен.Спасибо.
РЕДАКТИРОВАТЬ
...
case '+':
{
sum = op1 + op2;
DGV->CurrentCell = DGV->Rows[RI]->Cells[CI];
ss << sum;
answer = Convert::ToString(sum);
MessageBox::Show( answer);
DGV->CurrentCell->Value = answer;
sumLabel->Text = answer;
break;
}
...
private: System::Void comboBox1_SelectedIndexChanged(System::Object^ sender, System::EventArgs^ e)
{
Object^ selectedItem = comboBox1->SelectedItem;
String^ cb = selectedItem->ToString();
if( cb == "+")
{
op_sym = '+';
}
if(cb == "-")
op_sym = '-';
if(cb == "/")
op_sym = '/';
if(cb == "*")
op_sym = '*';
}