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

Указатель на функцию - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вернуть двумерный массив из функции и сделать проверку http://www.cyberforum.ru/cpp-beginners/thread1747899.html
Подскажите, пожалуйста, как правильно сделать возврат значения двумерного массива из функции и осуществить проверку. В функции у меня при заданном условии возвращается двумерный массив (обратная матрица), если условие нарушено - то NULL Я писала так в главной программе: (в цикле if) если моя функция не равна NULL, то выполняй все операторы, но при этом след. оператор это присвоение...
C++ Ошибка открытия файла через ifstream Помогите неопытному программисту. Нужно считывать содержимое файла используя fstrem и преобразовать в целые числа. Написал следующее. bool noError = true; const int stringSize = 20; int arrayCnt = 0; int* sortArray = new int; ifstream myfile; http://www.cyberforum.ru/cpp-beginners/thread1747896.html
Метод Эйлера - Коши для решения дифференциального уравнения на отрезке с начальным условием C++
Здравствуйте! Помогите реализовать данную задачу, где: дано дифференциальное уравнение y' = x - 2 * y, начальное условие y0 = 0. Найти решение данного уравнения на отрезке , разбивая отрезок на n = 10 частей. Метод Эйлера. #include <iostream> #include <cmath> using namespace std; //РАБОТА С ФУНКЦИЕЙ y' = y + e^x + sin(x), где y0 = 0; //РАБОТА С ФУНКЦИЕЙ y' = y + e^x + sin(x), где y0 =...
C++ Изменение строки в файле
Доброго времени суток! Передо мной стоит такая задача - есть файл с именами, записанными построчно (Подобие базы даных). Например, мне нужно изменить человека с фамилией Петров. Вот как мне это сделать? Заранее спасибо)
C++ Как из txt закинуть в set? http://www.cyberforum.ru/cpp-beginners/thread1747883.html
Имею текстовый документ. На каждой строке 1 слово. Всего 15-20 слов. Как создать set и закинуть туда их?
C++ Вычислить значение функции заданной разложением в ряд Тейлора Для заданного ряда необходимо вычислить с точностью  бесконечную сумму и указать количество учтенных слагаемых (слагаемые, меньшие  в сумму не включать) подробнее

Показать сообщение отдельно
Jim_Hunter
0 / 0 / 0
Регистрация: 21.05.2016
Сообщений: 10
28.05.2016, 17:44     Указатель на функцию
Преподаватель сказал написать еще одну функцию, и добавить указатель на функцию.
Объясните пожалуйста по-проще что мне надо сделать, вот код:

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
#define _CRT_SECURE_NO_WARNINGS
#include <conio.h>
#include <stdio.h>
#include <locale.h>
#include <stdlib.h>
 
#define SUBJECT 5
 
 
typedef struct
{
    char FIO[256];
    float Ball[SUBJECT]; // оценки по каждому из предметов
    float Reit; // Рейтинг
}student;
 
typedef struct
{
    int Students; // количество студентов
    char predm[5][255]; // названия предметов
    student *st; // указатель на массив студентов
    float sr_bal; // средний балл студента
}Group;
 
void Vvod(Group *mag)
{
    printf(" Колличество студентов: ");
    scanf_s("%d", &mag->Students);
    getchar();
 
    if (mag->Students > 0)
    {
        mag->st = (student*)malloc(sizeof(student)* mag->Students);
        if (!mag->st)
        {
            printf("Ошибка");
            mag->Students = 0;
            return;
        }
        printf(" Введите %d предметов: \n\n", SUBJECT);
        for (int i = 0; i < SUBJECT; i++)
        {
            printf("\t Предмет %d: ", i + 1);
            gets(mag->predm[i]);
        }
        printf("\n\n\t Информация о студентах:\n");
        for (int i = 0; i < mag->Students; i++)
        {
            printf(" Студент %d \n", i + 1);
            printf("\t ФИО: ");
            gets(mag->st[i].FIO);
            for (int j = 0; j < SUBJECT; j++)
            {
                printf("\t\t Балл по %s: ", mag->predm[j]);
                scanf_s("%f", &mag->st[i].Ball[j]);
                getchar();
            }
        }
        printf("\n Ввод завершен \n");
 
        return;
 
    }
    else
    {
        printf(" Ошибка: Неверное введено колличество студентов");
 
        mag->Students = 0;
    }
}
 
 
float Raschet(Group *mag)
{
    float sum = 0 ; // суммарный рейтинг студентов
    for (int i = 0; i < mag->Students; i++)
    {
        printf(" ФИО студента: ");
        puts(mag->st[i].FIO);
        mag->st[i].Reit = 0;
        for (int j = 0; j < SUBJECT; j++)
        {
            printf("\t%f\n", mag->st[i].Ball[j]);
            mag->st[i].Reit += mag->st[i].Ball[j];
        }
        mag->st[i].Reit /= (float)SUBJECT; // формула рейтинга: R = среднее баллов по предметам
        sum += mag->st[i].Reit;
 
        printf("\t Рейтинг: %f\n", mag->st[i].Reit);
    }
    return sum /= mag->Students;
}
 
 
int main()
{
 
    setlocale(0,"");
 
    Group magistratura={0} ;
 
    bool finish = false;
 
    while(!finish)
    {
    printf("\n Введите команду \n");
 
    printf("1 - ввести информацию о группе \n");
    printf("2 - расчет рейтинга \n");
    printf("3 - выход \n\n");
    printf("\t ->");
    
    int key = _getche();
    
    if(key =='3')
    {
        finish=true;
        break;
    }
 
        switch (key)
        {
 
        case '1': Vvod(&magistratura);
            break;
 
        case '2':
            printf("Рейтинг :%f\n", Raschet(&magistratura));
            break;
 
        default:
            printf("\n - Некорректный ввод \n");
        }
 
    }
 
    if (magistratura.Students)
        free(magistratura.st);
 
    _getch();
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 13:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru