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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
#1

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

08.04.2010, 01:16. Просмотров 1782. Ответов 12
Метки нет (Все метки)

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

Программа калькулятор - C++
Решил сделать задание по созданию калькулятора, который выполняет 5 операций(умножение,деление,прибавление,отнимание и возведение в...

нужна программа калькулятор - C++
доступ к ПК временно не доступен, а сессия уже через пару дней, задали написать программу калькулятор, можно даже и элементарную, если есть...

Простая программа на C++ (Калькулятор) - C++
Начал писать простой калькулятор, хочу узнать что не так в общем. #include "stdafx.h" #include <iostream> #include <stdio.h> ...

Программа - калькулятор бинарных функций - C++
Нужно написать калькулятор бинарных Бинарные функции функций по вводимой к примеру строке A NOT B XOR C NAND D строил таблицу различных...

Программа калькулятор запускается и отключается - C++
хочу создать калькулятор по видео уроку, все сделал как на уроке показывает учитель, но, его прога работает а моя - нет (запускается и...

Неправильно работает небольшая программа-калькулятор - C++
это калькулятор фунтов, шиллингов и пенсов по старой системе. он должен уметь складывать, вычитать суммы, а также, умножать на число....

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 09:09 #2
Я тоже делаю калькуляторы... Есть готовый простой, и есть не полностью готовый инженерный...
Какой нужен? И нужет ли вообще? Я не спец... Зачем нужен radio box, текс бокс? Не проще один Эдит и обычные кнопки и описания их?
0
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 12:37  [ТС] #3
Вонх
нужен вот такой вернее код для него чтоб работал.
Программа калькулятор
0
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 13:25 #4
radio button, у меня есть,( если вы это имеете ввиду) а вот текст бокс? Может я чего не понил?
0
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 13:27  [ТС] #5
Ну хоть радио radio button.
0
Вонх
0 / 0 / 0
Регистрация: 03.03.2010
Сообщений: 124
08.04.2010, 14:09 #6
Edit1->Text=""; // сброс
Edit2->Text="";
Form1->Close (); // кнопка закрытия
Пока две кнопки, в арифметикой сейчас подумаю...
0
mazdmozg
0 / 0 / 0
Регистрация: 11.02.2010
Сообщений: 52
08.04.2010, 14:26  [ТС] #7
С этим разобрался спасибо.
0
Вонх
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 почему то... Сейчас, мне просто на работу нодо, поэтому если чего не получится... Если смогу то помогу.
Конечно, лучше поменять, форму, тогда я бы готовый код написал бы и все.
0
hacker13a
5 / 5 / 0
Регистрация: 17.04.2012
Сообщений: 263
18.12.2013, 00:16 #9
ого
0
ranebull
521 / 354 / 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 появляется символ этой операции.
0
Миниатюры
Программа калькулятор  
vitecd
18.12.2013, 13:03
  #11

Не по теме:

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

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

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

Не по теме:

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

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

Не по теме:

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

0
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
18.12.2013, 13:43 #13
если такой калькулятор сделали, то наверное стоит двигаться дальше и смотреть в сторону более крутого калькулятора - который будет сам анализировать выражение и выдавать ответ.
Копайте в сторону Обратной польской нотации:
http://e-maxx.ru/algo/expressions_parsing
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2013, 13:43
Привет! Вот еще темы с ответами:

Упражнение из книги Страуструпа. Программа мини-калькулятор. Цифры записанные в строковом формате - C++
Привет всем. Не могу понять, как необходимо изменить программу исходя из условия упражнения. Упражнение сформулировано так: ...

Программа "калькулятор" через процедурное программирование - C++
Добрый день ! Я написал программу &quot;Калькулятор&quot;, в которой можно в строку ввести выражение и будет выдан результат. У меня только не...

Простой калькулятор и калькулятор с парсингом - C++
Ребят я совсем не давно только начал изучать сишку, решил написать простенький калькулятор который работает с 2 числами. Возник вопрос, как...

Программа калькулятор для сканера - C++
работаю в крупноу международной организации, подготавливаю заказы для клиентов, таких как кафе, трейдеры и тп. используем в ходе...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.12.2013, 13:43
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru