Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 2
Регистрация: 18.11.2013
Сообщений: 67
1

Разработать программу, имитирующую работу функционального калькулятора

25.12.2016, 19:57. Показов 1094. Ответов 7
Метки нет (Все метки)

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

В первой версии калькулятора «база знаний» содержит две функции:
• экспоненту у = е^x;
• линейную функцию у = ах + Ь.
0
Заказывайте контрольные, курсовые и дипломы здесь.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.12.2016, 19:57
Ответы с готовыми решениями:

Разработать консольное приложение, имитирующее работу простого калькулятора
Разработать консольное приложение, эмитирующее работу простого калькулятора.

Модифицировать программу, имитирующую работу стека, так, чтобы после каждой из операций push и pop на экран выводился сн
Модифицировать программу, имитирующую работу стека, так, чтобы после каждой из операций push и pop...

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

Разработать программу, имитирующую работу стека
Составить структуру и разработать программу, имитирующую работу стека. Предусмотреть возможность...

7
1265 / 1023 / 469
Регистрация: 25.12.2016
Сообщений: 3,331
25.12.2016, 22:53 2
Есть конкретные вопросы, или хочешь получить готовую программу?
0
0 / 0 / 2
Регистрация: 18.11.2013
Сообщений: 67
25.12.2016, 23:15  [ТС] 3
Я не совсем понял что значит "функциональный калькулятор", я думаю просто сделать два перегруза с функциями и передавать им значение X слишком просто?
0
1265 / 1023 / 469
Регистрация: 25.12.2016
Сообщений: 3,331
25.12.2016, 23:31 4
Видимо, это вопрос к автору задачи
0
0 / 0 / 2
Регистрация: 18.11.2013
Сообщений: 67
26.12.2016, 00:17  [ТС] 5
Ну я скоро сяду делать, если буду вопросы, сюда напишу

Добавлено через 39 минут
необходим абстрактный класс Function, обеспечивающий единый унифицированный интерфейс для всех его производных классов, в данном случае — для классов Ехр и Lin
0
Эксперт С++
3206 / 1733 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
26.12.2016, 11:00 6
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
//Разработать программу, имитирующую работу функционального калькулятора,
//который позволяет выбрать с помощью меню какую-либо из известных
//ему функций, затем предлагает ввести значение аргумента и, возможно,
//коэффициентов и после ввода выдает соответствующее значение функции.
 
//В первой версии калькулятора «база знаний» содержит две функции:
//• экспоненту у = е^x;
//• линейную функцию у = ах + Ь.
///////////////////////////////////////////////////////////////////////////////
#include <cmath>
#include <iostream>
#include <map>
#include <string>
///////////////////////////////////////////////////////////////////////////////
enum    T_menu_item
{
    EXP_FUNC    =   1,
    LIN_FUNC,
    EXIT
};
///////////////////////////////////////////////////////////////////////////////
typedef std::string                                 T_str;
typedef std::map        < T_menu_item,  T_str   >   T_prompt_of_menu_item;
///////////////////////////////////////////////////////////////////////////////
T_prompt_of_menu_item   prompt_of_menu_item
    {
        { EXP_FUNC,     "exp"   },
        { LIN_FUNC,     "lin"   },
        { EXIT,         "exit"  }
    };
///////////////////////////////////////////////////////////////////////////////
class   T_func_obj
{
    //-------------------------------------------------------------------------
public:
    //-------------------------------------------------------------------------
    virtual     void    input_data      ()                  {};
    virtual     void    print_result    ( double    x )     =   0;
    //-------------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////////
class   T_exp_func  :   public  T_func_obj
{
    //-------------------------------------------------------------------------
    void    print_result( double    x )
    {
        std::cout   <<  "res\t= "
                    <<  std::exp(x)
                    <<  std::endl;
    }
    //-------------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////////
class   T_lin_func  :   public  T_func_obj
{
    //-------------------------------------------------------------------------
    double  a_  =   0;
    double  b_  =   0;
    //-------------------------------------------------------------------------
    void    input_data()
    {
        std::cout   <<  "for\tax + b:"
                    <<  std::endl
                    <<  "a\t= ";
 
        std::cin    >>  a_;
        std::cout   <<  "b\t= ";
        std::cin    >>  b_;
    }
    //-------------------------------------------------------------------------
    void    print_result( double    x )
    {
        std::cout   <<  "res\t= "
                    <<  a_ * x + b_
                    <<  std::endl;
    }
    //-------------------------------------------------------------------------
};
///////////////////////////////////////////////////////////////////////////////
void    menu( auto  &   menu_item_ind )
{
    std::cout   <<  std::endl
                <<  "select action:"
                <<  std::endl;
 
    for( auto   const   &   menu_item_and_prompt    :   prompt_of_menu_item )
    {
        std::cout   <<  menu_item_and_prompt.first
                    <<  " - "
                    <<  menu_item_and_prompt.second
                    <<  std::endl;
    }//for
 
    std::cout   <<  std::endl
                <<  "->\t";
    std::cin    >>  menu_item_ind;
}
///////////////////////////////////////////////////////////////////////////////
void    execute_menu_item   ( int   menu_item_ind )
{
    if( menu_item_ind   ==  EXIT )
    {
        std::cout   <<  "Bye!"
                    <<  std::endl;
        return;
    }//if
 
    T_func_obj  *   func_obj_ptr{};
 
    switch( menu_item_ind )
    {
    case    EXP_FUNC    :   func_obj_ptr    =   new     T_exp_func;     break;
    case    LIN_FUNC    :   func_obj_ptr    =   new     T_lin_func;     break;
    default             :   return;
    }
 
    double  x{};
    std::cout   <<  "x\t= ";
    std::cin    >>  x;
 
    func_obj_ptr->input_data    ();
    func_obj_ptr->print_result  (x);
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    int     menu_item_ind;
 
    do
    {
        menu                ( menu_item_ind );
        execute_menu_item   ( menu_item_ind );
    }
    while   (
                menu_item_ind   !=  EXIT
            );
}
1
0 / 0 / 2
Регистрация: 18.11.2013
Сообщений: 67
27.12.2016, 22:14  [ТС] 7
80 строка. параметр не может иметь тип, содержащий "auto"
0
Эксперт С++
3206 / 1733 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
27.12.2016, 22:44 8
Цитата Сообщение от kamikazy Посмотреть сообщение
80 строка. параметр не может иметь тип, содержащий "auto"
Ну, это наверно уже С++14 надо подключать, или замените auto на int.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.12.2016, 22:44

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Требуется реализовать программу, имитирующую работу дирекции
Требуется реализовать программу, имитирующую работу дирекции.

Создать программу, имитирующую работу с базой данных
Задача 1. Создать программу, имитирующую работу с базой данных по предложенной предметной области...

Написать программу, имитирующую работу клавиатуры. Управление производится мышью
Здравствуйте, форумчане, очень нужна ваша помощь. В матлабе, можно сказать, пока что нуб, но хоть...

Создать программу, имитирующую работу с базой данных по предложенной предметной области на основе файла
Создать программу, имитирующую работу с базой данных по предложенной предметной области на основе...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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