Форум программистов, компьютерный форум CyberForum.ru

Программа калькулятор - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 01:16     Программа калькулятор #1
Помогите с кодом, для калькулятора
Оболочку сделал, но чтоб все работало не знаю как код .
Примерно такой два текст бокса под числа, 4 radio box с действиями(+-*/) окно свыводом суммы и еще три кнопки( посчитать, очистить, выход из программы).
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2010, 01:16     Программа калькулятор
Посмотрите здесь:

C++ Калькулятор
C++ Простая программа на C++ (Калькулятор)
C++ Калькулятор
C++ Программа калькулятор
C++ нужна программа калькулятор
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 09:09     Программа калькулятор #2
Я тоже делаю калькуляторы... Есть готовый простой, и есть не полностью готовый инженерный...
Какой нужен? И нужет ли вообще? Я не спец... Зачем нужен radio box, текс бокс? Не проще один Эдит и обычные кнопки и описания их?
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 12:37  [ТС]     Программа калькулятор #3
Вонх
нужен вот такой вернее код для него чтоб работал.
Программа калькулятор
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 13:25     Программа калькулятор #4
radio button, у меня есть,( если вы это имеете ввиду) а вот текст бокс? Может я чего не понил?
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 13:27  [ТС]     Программа калькулятор #5
Ну хоть радио radio button.
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 14:09     Программа калькулятор #6
Edit1->Text=""; // сброс
Edit2->Text="";
Form1->Close (); // кнопка закрытия
Пока две кнопки, в арифметикой сейчас подумаю...
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 14:26  [ТС]     Программа калькулятор #7
С этим разобрался спасибо.
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 14:49     Программа калькулятор #8
Вообщем, я дам вам, описания кнопок как я делал... Но там с одним окном Эдит
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
void __fastcall TForm1::Button19Click(TObject *Sender)
{
  x1=StrToFloat(Edit1->Text);
     z=2;                       //  вычитание
     Edit1->Text="";
}
void __fastcall TForm1::Button20Click(TObject *Sender)
{
     x1=StrToFloat(Edit1->Text);
     z=4;
     Edit1->Text=""; //деление
}
void __fastcall TForm1::Button5Click(TObject *Sender)
{
   x1=StrToFloat(Edit1->Text);
     z=3;                      //умножение
     Edit1->Text="";
}
void __fastcall TForm1::Button3Click(TObject *Sender)
{
     x1=StrToFloat(Edit1->Text);
     z=1;
     Edit1->Text=""; // сложение
 
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
  x2=StrToFloat(Edit1->Text);
     switch (z)   {
    case 1: x1+=x2; break;
    case 2: x1-=x2; break;
    case 3: x1*=x2; break;
    case 4: x1/=x2; break;
        }
     Edit1->Text = FloatToStr(x1); // равно
 
}
 
   int a, b, c;
   a = StrToInt( Edit1->Text );
   b = StrToInt( Edit2->Text );
   c=a*b;
   Label1->Caption=StrToInt(c); // щелчок на кнопке Вычислить, с двумя Эдитами
Из этого, можно получить нужный вам вариант
Я делал, но у меня ответ всегда 7 почему то... Сейчас, мне просто на работу нодо, поэтому если чего не получится... Если смогу то помогу.
Конечно, лучше поменять, форму, тогда я бы готовый код написал бы и все.
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
18.12.2013, 00:16     Программа калькулятор #9
ого
ranebull
 Аватар для ranebull
512 / 345 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
18.12.2013, 12:50     Программа калькулятор #10
Цитата Сообщение от Вонх Посмотреть сообщение
Вообщем, я дам вам, описания кнопок как я делал... Но там с одним окном Эдит
Сделал по форме, как у ТС. Интересно было сделать калькулятор, вот что в итоге получилось.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
void __fastcall TForm1::Button3Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float o1,o2, ans;
o1=StrToFloat(Edit1->Text);
o2=StrToFloat(Edit2->Text);
if (Edit1->Text=="" || Edit2->Text=="")
 {
 ShowMessage("Заполните все поля");
 return;
 }
 try
  {
ans=o1/o2;
  }
catch (EZeroDivide &e)
   {
    ShowMessage("Величина не должна быть равна нулю");
    Edit2->SetFocus();
    return;
   }
if (RadioGroup1->ItemIndex==0)
ans=o1+o2;
if (RadioGroup1->ItemIndex==1)
ans=o1-o2;
if (RadioGroup1->ItemIndex==2)
ans=o1*o2;
if (RadioGroup1->ItemIndex==3)
ans=o1/o2;
Label2->Caption=FloatToStr(ans);
 
 
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::RadioGroup1Click(TObject *Sender)
{
if (RadioGroup1->ItemIndex==0)
Label3->Caption="+";
if (RadioGroup1->ItemIndex==1)
Label3->Caption="-";
if (RadioGroup1->ItemIndex==2)
Label3->Caption="*";
if (RadioGroup1->ItemIndex==3)
Label3->Caption="/";
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Edit1->Clear();
Edit2->Clear();
}
//---------------------------------------------------------------------------
 
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, System::WideChar &Key)
{
if (Key=='.')
{
Key=',';
}
if ((Key>='0' && Key<='9')||(Key==',')||(Key==(char)8)) {}
else
 {
Key=0;
ShowMessage("Введите число от 0 до 9");
 }
}
В калькуляторе проверяется заполненность полей ввода (Edit1 и Edit2). Есть поля пустые выдается сообщение с просьбой заполнить их, проверка деления на ноль, и выдача сообщения, преобразование точку в запятую, при выборе операции между Edit1 и Edit2 появляется символ этой операции.
Миниатюры
Программа калькулятор  
vitecd
18.12.2013, 13:03
  #11

Не по теме:

на дату то смотрели? )))

тема нынче актуальная, претендуете минимум на 4 лайка ))

ranebull
 Аватар для ranebull
512 / 345 / 54
Регистрация: 23.06.2013
Сообщений: 1,182
Записей в блоге: 6
18.12.2013, 13:24     Программа калькулятор #12
Цитата Сообщение от vitecd Посмотреть сообщение

Не по теме:

на дату то смотрели? )))

тема нынче актуальная, претендуете минимум на 4 лайка ))

Не по теме:

Оу, даже не посмотрел на дату темы. Просто посмотрел на реализацию калькулятора от Вонх и решил написать свой. И написал минут за 30.

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 13:43     Программа калькулятор
Еще ссылки по теме:

Программа - калькулятор бинарных функций C++
Неправильно работает небольшая программа-калькулятор C++
Программа "калькулятор" через процедурное программирование C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ZaMaZaN4iK
Мой лучший друг-отладчик!
 Аватар для ZaMaZaN4iK
163 / 163 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
18.12.2013, 13:43     Программа калькулятор #13
если такой калькулятор сделали, то наверное стоит двигаться дальше и смотреть в сторону более крутого калькулятора - который будет сам анализировать выражение и выдавать ответ.
Копайте в сторону Обратной польской нотации:
http://e-maxx.ru/algo/expressions_parsing
Yandex
Объявления
18.12.2013, 13:43     Программа калькулятор
Ответ Создать тему
Опции темы

Текущее время: 17:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru