|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - помогите доделать последнее действие |
|
C/C++ - помогите доделать последнее действие
|
Новый участник Сообщения: 1 |
Профиль | Отправить PM | Цитировать
Здравствуйте делаю для лабы калькулятор я его почти закончил, но препод попросил сделать ввод с клавы. Мысленно я знаю как это сделать, но физически у меня не выходит, может кто подскажет? Моя прога полностью здесь http://zalil.ru/30971503, но я думаю проще часть кода здесь разместить: у меня есть быдло код вводе цифр поэтому полностью не буду писать, итак мне нужно реализовать, вот что:
нужно реализовать +,-,*,/,= то есть ввёл с клавы число нажал +, ввёл второе число, нажал = и выводится ответ я так понимаю можно использовать action, но как-то я не понимаю как их можно у меня в проге использовать сам код, здесь я его максимально минимизировал, в проге он больше, и сделано больше кнопок float f=0; // если f==0 то удаляем нуль в строке // и пишем нужное число с кнопки int arifmetic, backspace; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { ClientHeight = 257; ClientWidth = 499; TStringList *List = new TStringList; f=0; //Ждем первую цифру arifmetic=0; StaticText1->Text = 0; } //--------------------------------------------------------------------------- // кнопка С void __fastcall TForm1::Button1Click(TObject *Sender) { StaticText1->Text = "0"; arifmetic= 0; f = 0; } //Цифра 1--------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { if( f == 0) { StaticText1->Text = "1"; f = 1; } else StaticText1->Text = StaticText1->Text + "1"; //ОСТАЛЬНЫЕ ЦИФРЫ СДЕЛАНЫ ТАК ЖЕ, КРОМЕ 0 ЕСТЕСТВЕННО //Кнопка +------------------------------------------------------ void __fastcall TForm1::Button25Click(TObject *Sender) { x=StrToFloat(StaticText1->Text); arifmetic = 1; f = 0; } //Кнопка - ----------------------------------------------------------- void __fastcall TForm1::Button24Click(TObject *Sender) { x=StrToFloat(StaticText1->Text); arifmetic = 2; f = 0; } //Кнопка * ------------------------------------------------------------ void __fastcall TForm1::Button23Click(TObject *Sender) { x=StrToFloat(StaticText1->Text); arifmetic = 3; f = 0; } //Кнопка / ---------------------------------------------------------------- void __fastcall TForm1::Button26Click(TObject *Sender) { x=StrToFloat(StaticText1->Text); arifmetic = 4; f = 0; } //Кнопка =---------------------------------------------------------------- void __fastcall TForm1::Button22Click(TObject *Sender) { switch (arifmetic) { case 1: x += StrToFloat(StaticText1->Text); StaticText1->Text=FloatToStrF(x,ffGeneral,7,7); f=0; break; case 2: x -= StrToFloat(StaticText1->Text); StaticText1->Text=FloatToStrF(x,ffGeneral,7,7); f=0; break; case 3: x *= StrToFloat(StaticText1->Text); StaticText1->Text=FloatToStrF(x,ffGeneral,7,7); f=0; break; case 4: x /= StrToFloat(StaticText1->Text); StaticText1->Text=FloatToStrF(x,ffGeneral,7,7); f=0; break; } // ввод цифр с клавы void __fastcall TForm1::StaticText1KeyPress(TObject *Sender, char &Key) { f=0; if (Key<'0' || Key>'9') Key=0; // фильтр ввода switch (Key) {case 1: Button2Click(Sender); break; case 2: Button3Click(Sender); break; case 3: Button4Click(Sender); break; case 4: Button5Click(Sender); break; case 5: Button6Click(Sender); break; case 6: Button7Click(Sender); break; case 7: Button8Click(Sender); break; case 8: Button9Click(Sender); break; case 9: Button10Click(Sender); break; case 10: Button11Click(Sender); break; } } |
|
Отправлено: 22:09, 05-05-2011 |
Старожил Сообщения: 435
|
Профиль | Отправить PM | Цитировать Вводите число с клавы в TEDit.
При нажатии кнопки с действием забирайте число с экрана в переменную. |
------- Отправлено: 23:13, 05-05-2011 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Установка - Windows XP PRO доделать до Tablet PC | Dis74 | Microsoft Windows 2000/XP | 2 | 28-03-2010 13:56 | |
Помогите доделать диск. Обьясните пошагово, если кому-нибудь не трудно | Alex Fly | Автоматическая установка Windows 2000/XP/2003 | 4 | 26-02-2009 01:19 | |
Звук - Колонки - последнее решение | Analog | Прочее железо | 6 | 03-01-2009 08:03 | |
Помогите доделать сайт | DaRiYs | Вебмастеру | 1 | 02-03-2008 18:33 | |
последнее сообщение | Dimas_83 | О сайте и форуме | 2 | 04-07-2006 10:57 |
|