Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 1
Регистрация: 10.04.2016
Сообщений: 13
1

Калькулятор: добавить возможность вводить более одной операции сразу

10.04.2016, 15:17. Показов 694. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сделал калькулятор, работает нормально, но программа считает только два числа за раз:
>>Картинка<<
, как сделать так чтоб пользователь мог набрать в программе например: 2 + 2 - 5 * 100 / 2 и программа выдала результат.


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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
#include <iostream>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main(void)
{
    cout << "*******************************************************************************";
    cout <<endl << "                                Calculator                                     ";
    cout <<endl << "-------------------------------------------------------------------------------";
    cout <<endl << "                                                             Vybirite operator:" <<endl;
    cout <<endl << "1-(+)   2-(-)   3-(*)   4-(/)   5-(ы)  6-(^)                                  ";    
    cout <<endl << "-------------------------------------------------------------------------------";
    mm:
    int x; 
    cout <<endl << "                                                                   Operator: ";
    cin >>x;
    switch(x)
        {
            case 1:
                goto pp;
                break;
            case 2:
                goto vv;
                break;
            case 3:
                goto uu;
                break;
            case 4:
                goto dd;
                break;
            case 5:
                goto kk;
                break;
            case 6:
                goto ss;
                break;
        }
    if(x > 6 || x <= 0) goto nn;
    
    
    {
        pp:
        float a;
        float b;
        float c;
        cout <<endl << "+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +\a" <<endl;
        cout << "Chislo a: ";
        cin >>a;
        cout << "Chislo b: ";
        cin >>b;
        c = a + b;
        cout << "Otvet:    " <<c <<endl
             << "-------------------------------------------------------------------------------";
        goto mm;
        return 0;
    }
    
    {
        vv:
        float a;
        float b;
        float c;
        cout <<endl << "- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\a" <<endl;
        cout << "Chislo a: ";
        cin >>a;
        cout << "Chislo b: ";
        cin >>b;
        c = a - b;
        cout << "Otvet:    " <<c <<endl
             << "-------------------------------------------------------------------------------";
        goto mm;
        return 0;   
    }
    
    {
        uu:
        float a;
        float b;
        float c;
        cout <<endl << "* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\a" <<endl;
        cout << "Chislo a: ";
        cin >>a;
        cout << "Chislo b: ";
        cin >>b;
        c = a * b;
        cout << "Otvet:    " <<c <<endl
             << "-------------------------------------------------------------------------------";
        goto mm;
        return 0;
    }
    
    {
        dd:
        float a;
        float b;
        float c;
        cout <<endl << "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /\a" <<endl;
        cout << "Chislo a: ";
        cin >>a;
        cout << "Chislo b: ";
        cin >>b;
        c = a / b;
        cout << "Otvet:    " <<c <<endl
             << "-------------------------------------------------------------------------------";
             goto mm;
             return 0;
    }
    
    {
        kk:
        float a;
        float c;
        cout <<endl << "ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы\a" <<endl;
        cout << "Chislo: ";
        cin >>a;
        c = sqrt(a);
        cout << "Otvet:  " <<c <<endl
             << "-------------------------------------------------------------------------------";
        goto mm;
        return 0;
    }
    
    {
        ss:
        float a;
        float c;
        float b;
        cout <<endl << "^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^\a" <<endl;
        cout << "Chislo: ";
        cin >>a;
        cout << "Stepen: ";
        cin >>b;
        c = pow(a,b);
        cout << "Otvet:  " <<c <<endl
             << "-------------------------------------------------------------------------------";
            goto mm;
            return 0;
    }
    
    {
        nn:
        cout <<"Net takogo operatora!" <<endl << "-------------------------------------------------------------------------------";
        goto mm;
        return 0;
    }   
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.04.2016, 15:17
Ответы с готовыми решениями:

Как добавить возможность несколько раз вводить в строку консоли?
Привет ребята, я начинающий программист, помогите пожалуйста мне. Как добавить возможность...

Калькулятор. Запретить ввод более чем одной запятой
ХЕЛП МИ! Ниже код КАЛЬКУЛЯТОРА, при нажатии на (,) не появлялось более 1 раза Public Class...

Класс Triangle, добавить возможность изменения одной из сторон треугольника
Есть класс треугольник. Как добавить возможность изменения одной из сторон треугольника? Условие...

Дать юзеру возможность вводить команды с параметрами
К утилите прикручена интерактивная оболочка, юзер вводит команду в ответ на которую выполняется...

2
83 / 1 / 2
Регистрация: 28.03.2015
Сообщений: 64
10.04.2016, 15:50 2
на форуме куча тем с Калькулятором одна


C++
1
goto
ето лутше не трогать
0
50 / 49 / 10
Регистрация: 24.01.2010
Сообщений: 225
10.04.2016, 17:28 3
Обычно используется это обратная польская запись

и уже разобранное выражение выполняют стэп бай стэп получая результат. Можно кстати ещё больше наворотить и оперировать с выражениями содержащие X и(или) Y и(или) Z и т.д.. И можно уже рисовать понтово графики (хотя подобный софт уже есть, но...). Тема собственно глубока, если с умом подходить.

удачи Вам
(круглый)
1
10.04.2016, 17:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.04.2016, 17:28
Помогаю со студенческими работами здесь

MaskedTextBox (дать возможность пользователю вводить е-mail)
Помогите, пожалуйста, разобраться с MaskedTextBox! Надо дать возможность пользователю вводить...

Дать пользователю возможность вводить имя файла
Как сделать так чтобы пользователь сам выбирал название для создаваемого файла? что-то типо: ...

Дать возможность пользователю вводить путь к файлу
Как сделать чтобы пользователь указывал путь к файл вводу ну например D:\\input.txt ? Скиньте...

Дать возможность пользователю вводить путь к файлу
Надо написать код, который бы запрашивал у пользователя ввести путь к папке


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru