Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Pro100 Andrei
4 / 4 / 0
Регистрация: 19.05.2014
Сообщений: 43
1

Указатели на функции

16.10.2014, 10:08. Просмотров 311. Ответов 1
Метки нет (Все метки)

Решите задачу , используя один указатель на функцию . Разработайте четыре функции над двумя целыми параметрами, соответствующими арифметическим операциям ( + , - , * , / ) . В основной программе задавайте два целых параметра и символьный знак операции , пока не будет введен пробел как знак операции . В исходных данных выводите значение функций.

Добавлено через 55 минут
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
#include <iostream>
#include <conio.h> 
 
using namespace std;
 
void f1(float A1,float B1, float C1) 
{
 C1=A1+B1;
 cout <<C1;
}
 
void f2(float A1,float B1, float C1)
{
 C1=A1-B1;
 cout <<C1;
}
 
void f3(float A1,float B1, float C1)
{
 C1=A1*B1;
 cout <<C1;
}
 
void f4(float A1,float B1, float C1)
{
 C1=A1/B1;
 cout <<C1;
}
 
int main()
{
      
    cout<<"vvedit viraz: ";
void (*ptr)(float,float,float);
float A1, B1; 
float C1;
cin>>A1;
char a;
cin>>a;
cin>>B1;
if(a== '+')
{
 ptr = f1;
 (*ptr)(A1,B1,C1);
}
if(a== '-')
{
 ptr = f2;
 (*ptr)(A1,B1,C1);
}
if(a== '*')
{
 ptr = f3;
 (*ptr)(A1,B1,C1);
}
if(a== '/')
{
 ptr = f4;
 (*ptr)(A1,B1,C1);
}
 getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2014, 10:08
Ответы с готовыми решениями:

Указатели и массивы. Указатели и функции
Никак не разберусь с указателями на функцию. Пишу в Visual Studio. Надо написать функцию...

Указатели на массивы. Указатели и функции
Вот задача: Даны два массива : А и B. Необходимо создать третий массив, в котором нужно...

Распечатать таблицы значений функций cox (x) и на отрезке [a; b] с шагом h, развив функции в ряд Тейлора и используя указатели на функции
Распечатать таблицы значений функций cox (x) и на отрезке с шагом h, развив функции в ряд Тейлора...

Указатели и указатели на указатели, а также типы данных
Недавно начал изучать Си, перешел с Delphi. Много непонятного и пока процесс идет медленно....

Шаблонные функции и указатели на функции
Помогите доделать и исправить... Задание: 1. Создать структуру Прямоугольник, с полями Высота и...

1
Гоблин-инженер
113 / 110 / 65
Регистрация: 18.09.2014
Сообщений: 337
16.10.2014, 10:38 2
Pro100 Andrei, мне просто интересно, а зачем нужен float C1 ? Разве так не проще?

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
#include <cstdlib>
#include <iostream>
 
using namespace std;
 
typedef double(*operations)(double, double);
 
double summ(double a, double b) { return a+b; }
double sub(double a, double b) { return a-b; }
double mult(double a, double b) { return a*b; }
double div(double a, double b) { return a/b; }
 
int main(int argc, char *argv[])
{
    operations op[4] = {&summ, &sub, &mult, &div};
    double a, b; int action;
    cout << "Input A: "; cin >> a;
    cout << "Input B: "; cin >> b;
    cout << "---" << endl;
    cout << "1 - Add" << endl << "2 - Sub" << endl << "3 - Mult" << endl << "4 - Div" << endl << ": ";
    cin >> action;
    cout << "Result: " << op[action-1](a, b) << endl;
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.10.2014, 10:38

Указатели на функции
Народ! Прошу у вас помощи ещё раз! Дано такое задание: С заданной точность E (Е&gt;0) вычислить...

Указатели на функции
Помогите написать определения(или объявления) функций которые соответсвуют типам указателей. С...

Указатели на функции
Нужна помощь в исправлении и изменении программы. Даны натуральное число n, действительное x....


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

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

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