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

Написать калькулятор с объектно–ориентированным подходом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Удалить элементы главной диагонали. Добавить К столбцов перед столбцом с максимальным количеством негативных http://www.cyberforum.ru/cpp-beginners/thread1192318.html
Удалить элементы главной диагонали. Добавить К(заданное кол-во) столбцов перед столбцом с максимальным количеством негативных элементов. Пожалуйста. Добавлено через 5 часов 3 минуты Пожалуйста.
C++ В пузырьковой сортировке не работает swap Почему не меняет местами? #include <iostream> #include <cstdlib> #include <string> using namespace std; struct NOTATKI { long Telefon; int Den; http://www.cyberforum.ru/cpp-beginners/thread1192307.html
C++ Метод "Золотого сечения". Программа не работает под Borland 3.1
Метод золотого сечения #include <vcl.h> #pragma hdrstop #include <math> #include <iostream> #define M_E 2.71828182845904523536 using namespace std; double f(double x) {return pow(M_E,x)*sin(x*x-2*x+11);}
C++ программа метод золотого сечения1
#include <iostream> #include <math.h> using namespace std; double f(double i) { return -1*(i*i*i)+9*(i*i)-24*i-2; } int main() {
C++ Метод ближайшего соседа через STL Algorithm http://www.cyberforum.ru/cpp-beginners/thread1192277.html
Добрый день. Подскажите можно метод ближайшего соседа сделать через сортировку с функтором?
C++ Создайте файл со структурами статистики посещений сайта за неделю Помогите пожалуйста решить данную задачу: Создайте файл со статистикой посещений сайта за неделю. Каждая строка содержит ip адрес, время и название дня недели (например 126.3.15.241 12:43:56 sunday). По заданному IP-адресу выведите на экран время и день недели посещений сайта для данного ip. Для каждого ip укажите наиболее популярный день недели. Отсортируйте записи статистики по IP и вывидите... подробнее

Показать сообщение отдельно
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 168
29.05.2014, 12:08     Написать калькулятор с объектно–ориентированным подходом
Написать калькулятор, но с объектно–ориентированным подходом, и выводом пользователю информации о возможных ошибках (деление на 0, ввод оператора %, ввод знака $ ). Программа разбивается на три блока(секции): ВВОД данных, ОБРАБОТКА данных (вычисления результата или фиксирование ошибки. В этом блоке ничего не выводится на консоль), ВЫВОД результатов ( показ в консоли результата операции или ошибки, которая была сделана).

Прошу подсказать принцип решения задачи. Что-то не то как бы не пробовал написать код...

Я попробовал следующим образом:
в переменную dRes записывать результат. Либо ответ double типа. Либо переменную char cEr1, cEr2, cEr3. При определенном условии(IF) в дРес записываем определеннюу сЕр переменную.

Если есть идеи как можно еще решить задачу, прошу поделиться. Код сам напишу. Спасибо.

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
#include <iostream>
using namespace std;
 
int main()
    {           
        //Блок вводу данних. Ввести значення 1, значення 2, оператор.
        
        double dVal1;// цифрове значення 1
        double dVal2; // цифрове значення 2
        double dRes; // результат рівняння
    
        char func, cEr1, cEr2, cEr3; // оперант     
        
        // вводимо значення 
        cout << "Введите Enter Number_1 :  "; // 
        dVal1 = (char) dVal1;
        cin >> dVal1;
        
        cout << "Enter Number_2 :  ";
        dVal2 = (char) dVal2;
        cin >> dVal2;
        
        cout << "Enter Function  :  ";
        cin >> func;
        
        //Блок опрацювання.  Перевірити на наявність помилок. Опрацювати введені данні
        
        
        if ( dVal1 == '$' || dVal2 == '$' )
            dRes =  cEr1;
        
        if (dVal1 != 0 || dVal2 != 0 )
            {
                if(func == '*') 
                    dRes = dVal1 * dVal2;
                    
                else if(func == '+') 
                    dRes = dVal1 + dVal2;
                
                else if(func == '-')
                    dRes = dVal1 - dVal2;
                    
                else if (func ==  '/')
                {
                    if (dVal1 == 0 || dVal2 == 0 )
                        dRes = cEr2;
                    dRes = dVal1 / dVal2;
                }
                
                else if (func ==  '%')
                    dRes = cEr3;
            }
        
            //Блок виводу результату.
                
            if (dRes = cEr1)
                cout << "You enter $, instead Number_1 or Number_2. \n";
            
            else if (dRes = cEr2)
                cout << "You enter 0, instead Number_1 or Number_2. You can`t deal at 0. \n";
            
            else if (dRes = cEr3)
                cout << "You enter %, instead. \n";
                
            else 
                cout << dRes;
            
        return 0;
    }
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 02:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru