Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.04.2013, 23:41   #1
destrannik
Новичок
Джуниор
 
Регистрация: 27.04.2013
Сообщений: 1
По умолчанию windows forms калькулятор C++

калькулятор неограниченного числа аргументов, т.е. в resultbox можно ввести - "2+3+4-5"!подскажите почему код обработчика кнопки "=" берет первый аргумент (в данном случае "2") и плюсует(умножает делит вычитает) этот же аргумент (то есть этот же "2"). то есть "2+2+3-7 = 4"
Вот код:
private: System::Void button17_Click(System::Object^ sender, System::EventArgs^ e) {

String^ str = ResultBox->Text + " ";
String^ tstr = "";
int result = 0;
int temp = 0;
char op ;


for (int i = 0; i < str->Length; i++)
{


if (isdigit(str[i]))
{
tstr += str[i];
}


else if(str[i]=='+' || str[i]=='-' || str[i]=='*' || str[i]=='/')

{
op=str[i];

temp = Convert::ToDouble(tstr);
tstr = "";


if (result == 0)
result = temp;





switch (op)
{
case '+':
result = result + temp;
break;

case '-':
result -= temp;
break;

case '/':
result /= temp;
break;

case '*':
result *= temp;
break;
}


}
}
ResultBox->Text = "";
ResultBox->Text += Convert::ToString(result);
destrannik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Windows Forms С++ Aleks1994 Помощь студентам 2 04.04.2013 18:40
Рисование на windows forms veter48 Общие вопросы .NET 2 28.10.2011 14:29
Моделирование на Windows forms Mr.GOD Общие вопросы .NET 0 01.03.2011 20:37
Windows Forms masashama Windows Forms 12 14.02.2011 16:14
windows.forms *stRong* Помощь студентам 0 04.06.2010 04:39