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

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

Войти
Регистрация
Восстановить пароль
 
Nicksetone
Сообщений: n/a
#1

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

24.11.2012, 12:46. Просмотров 756. Ответов 1
Метки нет (Все метки)

Помогите пожалуйста сделать в этом калькуляторе скобки.
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
74
75
76
77
78
#include <iostream>
#include <stdlib.h>
#include <string.h>
#include <math.h>
using namespace std;
const int MAX=7, Max=255;
bool EXIT(bool);
 
void main(){
double Res=0, Dig;
bool Exit=false;
char str[MAX];
char History[Max];
char Oper='\0';
   
   History[0]='\0';
   while (Exit!=true){
           cout<<"Input: ";
           cin>>str;
           strcat(History,str);
 
                if(str[0]=='='){
                     cout<<"Result: "<<History<<Res<<endl;
                     Exit=EXIT(Exit);
                     str[0]='\0';
                     History[0]='\0';
                }
        
            Dig=atof(str);
 
                if(Dig==0 && str[0]!='0'){
                      if(strstr("+-*/%^",str)!=0 || strcmp("cos",str)==0 
                                           || strcmp("sin",str)==0 ||strcmp("tan",str)==0 
                                           || strcmp("log",str)==0){
 
                          if(strcmp("cos",str)==0)
                                Res=cos(Res);
                             if(strcmp("sin",str)==0)
                                Res=sin(Res);
                             if(strcmp("tan",str)==0)
                                Res=tan(Res);
                             if(strcmp("log",str)==0)
                                Res=log(Res);
                      }
                      else{
                          cout<<"Not correct operation: "<<str<<endl;
                                Exit=EXIT(Exit);
                          str[0]='\0';
                          History[0]='\0';
                      }
                      
                      Oper=str[0];
                }
 
                else
                 if(Oper!='\0'){
                            if (Oper=='+') Res+=Dig;
                            if (Oper=='-') Res-=Dig;
                            if (Oper=='*') Res*=Dig;
                            if (Oper=='/') Res/=Dig;  
                 if (Oper=='%') Res=int(Res)%(int)Dig;
                 if (Oper=='^') Res=pow(Res,Dig);
                            Oper='\0';
                            }
                      else
                           Res=Dig;
                      
   }
}
 
bool EXIT(bool Exit){
    char k;
    cout<<endl<<"Do you want exit?(y/n): ";
       cin>>k;
    cout<<endl;
        if(k=='y')
           return Exit=true;
}
Вот алгоритм для скобок:
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
while (not exit)
    history=empty;
    result=calc();
    output result
function calc: double{
operation=empty;
result=0;
while (not exit)
{input string;
history=history+string;
if (string ==()
    dig=calc()
if (string==))
    return result;
if (string not digit) then
    if (string is func)
        result=function(result)
    else 
operation=string;
else
    if (operation==empty)
        result=string
    else
if (operation==+) then result=result+string;
if (sign==*) then result=result*b;
if (sign==/) then result=result/b;
if (sign==%) then result=result%b;
if (sign===) then output history; history=empty;
operation=empty;
output result;}}
 Комментарий модератора 
Правила форума п. 5.5: Запрещено размещать тему в нескольких разделах одновременно (кросспостинг), а также дублировать тему в одном разделе.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.11.2012, 12:46     Калькулятор
Посмотрите здесь:

Калькулятор - C++
Пишу калькулятор. Прошу помощи. Вот мой код #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; #include &lt;cmath&gt; using...

Калькулятор на С++ - C++
Сделал калькулятор, работает нормально, но программа считает только два числа за раз: &gt;&gt;Картинка&lt;&lt; , как сделать так чтоб пользователь...

Калькулятор - C++
Вот сам калькулятор: #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;stdio.h&gt; #define END '0' #define ERROR -1 #include&lt;stdlib.h&gt;...

Калькулятор - C++
Написал примитивный калькулятор: #include &lt;iostream&gt; #include &lt;locale.h&gt; #include &lt;conio.h&gt; using namespace std; int...

Калькулятор - C++
Есть такое условие: If(b=='+') s=a+b; как сделать так чтобы я мог додавать не два числа а a+b+...+n

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

Калькулятор - C++
Всем привет) Начну с того что я не программист... Но вот решил просто освоить для себя. Выбрал язык Си. Купил книгу начал читать....

Калькулятор - C++
Решил написать калькулятор, а вот и он: #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;stdio.h&gt; #define END '0' #define ERROR 'a' ...

Калькулятор - C++
Доброго времени суток, Народ! Помогите плиз с задачей. Нужен исходник калькулятора, самого простого, на 4 действия. Заранее спасибо!!!

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

Калькулятор - C++
Добрый вечер всем! Я решил написать калькулятор, но возникла одна проблема: я хочу написать чтобы он решал вот такие примеры: а + b а +...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ramazan05duldug
38 / 38 / 8
Регистрация: 23.04.2012
Сообщений: 462
Записей в блоге: 2
24.11.2012, 13:15     Калькулятор #2
Программа сама вообще работает. Просто в начале:
C++
1
void main()
, а должно быть
C++
1
int main()
Ответ Создать тему
Опции темы

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