Top.Mail.Ru
Ответы

Калькулятор в с++

задали сделать калькулятор вроде сделал и когда задали что бы он вычеслял тангенс выдает:

"Необработанное исключение типа "System.FormatException" произошло в mscorlib.dll
Дополнительные сведения: Длина строки должна составлять один знак. "
вот мой вариант :
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text="+";
}
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text="-";
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text="/";
}
private: System::Void button4_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text="*";
}
private: System::Void button5_Click(System::Object^ sender, System::EventArgs^ e) {
char sv; double a,b,r;
sv=System::Convert::ToChar(label1->Text);
a=System::Convert::ToDouble(textBox1->Text);
b=System::Convert::ToDouble(textBox2->Text);
switch (sv)
{case '+':r=a+b; break;
case '-':r=a-b; break;
case '/':r=a/b; break;
case '*':r=a*b; break;
case 'Tn':r=tan(a); break;

}
label2->Text=System::Convert::ToString(r);}
private: System::Void button6_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text=System::Convert::ToString("");
label2->Text=System::Convert::ToString("");
textBox1->Text=System::Convert::ToString("");
textBox2->Text=System::Convert::ToString("");}

private: System::Void label3_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox2_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void textBox1_TextChanged(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void label2_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void label1_Click(System::Object^ sender, System::EventArgs^ e) {
}
private: System::Void button7_Click(System::Object^ sender, System::EventArgs^ e) {
label1->Text="Tn";
}
};
}

По дате
По Рейтингу
Аватар пользователя
Мастер
10лет

Переменная sv типа char, а в операторе switch вы указываете вариант когда она равна 'Tn'. Чар должен содержать 1 символ, а не два. Предлагаю использовать для sv тип String вместо Char

Аватар пользователя
10лет

Дааааааа