С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
СаньчО
2 / 2 / 0
Регистрация: 08.03.2014
Сообщений: 47
#1

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

09.03.2014, 06:36. Просмотров 761. Ответов 3
Метки нет (Все метки)

Всем привет, извините, что постю сюда эту тему, но выхода нет((( Проблема состоит в том что надо сделать калькулятор из множества действий +-*/ то есть у меня 8+8, а мне надо 8+8*3/2 как то так( Хотя бы действий 15 сделать! Возможно у кого то есть исходники? Прошу вас откликнитесь, выхода у меня больше нет, все облазил ни где не нашел((( Работаю в buildere c++

P.S. пока у меня вот такой код:

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
void __fastcall TForm2::LabeledEdit3Change(TObject *Sender)
{
    UnicodeString primer = LabeledEdit3->Text.Trim(); //Trim убирает пробелы в начале и в конце строки
    while (primer.Pos(".")) {
        primer[primer.Pos(".")] = ',';
    }
    if(LabeledEdit3->Text == "")
    LabeledEdit4->Text = 0;
    if (primer.Pos("+") >0) {
        int pos = primer.Pos("+");
        UnicodeString levo = primer.SubString(0,pos-1).Trim();
        UnicodeString pravo = primer.SubString(pos+1,primer.Length()-(pos)).Trim();
        if (levo.IsEmpty() || pravo.IsEmpty()) {
            return;
        }
        double vivod = levo.ToDouble() + pravo.ToDouble();
        LabeledEdit4->Text=FloatToStr(vivod);
    }
    if (primer.Pos("-") >0) {
        int pos = primer.Pos("-");
        UnicodeString levo = primer.SubString(0,pos-1).Trim();
        UnicodeString pravo = primer.SubString(pos+1,primer.Length()-(pos)).Trim();
        if (levo.IsEmpty() || pravo.IsEmpty()) {
            return;
        }
        double vivod = levo.ToDouble() - pravo.ToDouble();
        LabeledEdit4->Text=FloatToStr(vivod);
    }
    if (primer.Pos("*") >0) {
        int pos = primer.Pos("*");
        UnicodeString levo = primer.SubString(0,pos-1).Trim();
        UnicodeString pravo = primer.SubString(pos+1,primer.Length()-(pos)).Trim();
        if (levo.IsEmpty() || pravo.IsEmpty()) {
            return;
        }
        double vivod = levo.ToDouble() * pravo.ToDouble();
        LabeledEdit4->Text=FloatToStr(vivod);
    }
    if (primer.Pos("/") >0) {
        int pos = primer.Pos("/");
        UnicodeString levo = primer.SubString(0,pos-1).Trim();
        UnicodeString pravo = primer.SubString(pos+1,primer.Length()-(pos)).Trim();
        if (levo.IsEmpty() || pravo.IsEmpty()) {
            return;
        }
        if (pravo.ToDouble() ==0) {
            LabeledEdit4->Text="делить на 0 нельзя";
        }
        else {
            double vivod = levo.ToDouble() / pravo.ToDouble();
            LabeledEdit4->Text=FloatToStr(vivod);
        }
 
    }
}
 
//---------------------------------------------------------------------------
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2014, 06:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос калькулятор (C++):

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

Калькулятор на С++ - C++
калькулятор в принципе готов, надо только сделать запрет деления на 0, помогите кто чем может #include<stdio.h> #include<conio.h> ...

Калькулятор на С - C++
калькулятор в принципе готов, надо только сделать деление на дробные числа, помогите кто чем может пожалуйста

Калькулятор на C++ - C++
Доброго времени суток! У меня возник вопрос. При вводе чисел в cmd, они у меня просто складываются, но код (мне кажется) правильный. Думаю...

Калькулятор - C++
нужен калькулятор на языку С. уровень знания первый курс

Калькулятор в С++ - C++
Доброго времени суток. Нужно разработать класс «Калькулятор» Вид данных: квадрат; Необходимо осуществить ввод и вывод координат...

3
LVV
94 / 91 / 21
Регистрация: 15.02.2010
Сообщений: 369
09.03.2014, 07:24 #2
Если числа одноразрядные, как в Вашем примере, то обработка строки (выражения) в консольном приложении на Visual Studio выглядит примерно так:
Вариант 13 из http://lvvas.pp.ua/index.php?option=...168&Itemid=210
0
СаньчО
2 / 2 / 0
Регистрация: 08.03.2014
Сообщений: 47
09.03.2014, 08:35  [ТС] #3
Цитата Сообщение от LVV Посмотреть сообщение
Если числа одноразрядные, как в Вашем примере, то обработка строки (выражения) в консольном приложении на Visual Studio выглядит примерно так:
Вариант 13 из http://lvvas.pp.ua/index.php?option=...168&Itemid=210
968+5/2/2=10,25 а должно быть 243,25
0
Ev[G]eN
09.03.2014, 10:59     калькулятор
  #4
 Комментарий модератора 
Данная тема уже создана Вами в разделе "C++ Builder"(Тема: Вычисление выражения, введенного в Edit).
Ознакомьтесь с Правилами нашего Форума. Особое внимание уделите пункту №5.5:
"Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе."
Данная тема закрыта!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2014, 10:59
Привет! Вот еще темы с ответами:

калькулятор - C++
делаю калькулятор...столкнулся с проблемкой...при вычислении чисел с плавающей точкой...как можно реализовать

Калькулятор - C++
На форуме наткнулся на тему "Римский калькулятор". Вот код: Functions.cpp #include<iostream> const int arabar = { 1, 4, 5, 9,...

калькулятор - C++
Здравствуйте!! У меня возникла проблема. Мне нужно ввести выражение и занести его в массив. Символов не ограничено. Заранее спасибо. ...

Калькулятор на C++ - C++
Здравствуйте, нужна помощь в создании калькулятора. Калькулятор должен работать при вводе например: 5+3*2. И соответственно должен...


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

Или воспользуйтесь поиском по форуму:
4
09.03.2014, 10:59
Закрытая тема Создать тему
Опции темы

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