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

структура с инкапсулированными функциями - C++

Восстановить пароль Регистрация
 
swindler94
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 3
01.10.2013, 18:39     структура с инкапсулированными функциями #1
помогите понять в чем ошибка( требуется использовать структуру с инкапсулированными функциями: задача:Объект – гипербола y = k /( x +а)+ b .

Данные – коэффициенты а, k , b .

Действия – Вывод информации о гиперболе, сравнение с другой гиперболой.


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
#include <stdio.h> 
#include <math.h> 
#include <string.h> 
#include<conio.h>
 
struct gip // структура , описывающая гиперболу 
{ 
    float a ; // коэф.(a) 
    float k ; // коэф.(k)
    float b ; // коэф.(b)
    void printfGip () ; //выводит на экран информацию о гиперболе
    void seta ( float p ) ; //назначает коэф.(a) 
    void setk ( float p ) ; //назначает коэф.(k)
    void setb ( float p ) ; //назначает коэф.(b) 
    //назначает все параметры гиперболы
    void setAllParam ( float p1, float p2, float p3) ; 
    //сравнивает текущую гиперболу с гиперболой F
    void compareTo ( gip F ) ; 
 
    void gip :: printfGip() 
    { 
        printf ("\n Гипербола имеет коэф.(a) %f коэф.(k) %f коэф.(b) %f ", a , k , b ) ; 
    }
 
    void gip :: seta(float p) 
    {
        a=p; 
    } 
    
    void gip :: setk(float p) 
    {
        k=p; 
    } 
    
    void gip :: setb(float p) 
    {
        b=p; 
    } 
    
    void gip :: setAllParam(float p 1, float p 2, float p 3) 
    {
        seta(p1) ; setk(p2) ; setb(p3) ; 
    } 
    
    void gip :: compareTo(gip F1, gip F2) 
    { 
        int razn = (F1.a-F2.a) ; // разница коэф.(a)
    printf ("\n <<< Sravnenie koef.(a) >>> ") ;
    if ( razn ==0 ) printf ("\n Koef. odinakovie") ; 
    else if ( razn < 2 ) printf ("\n Koef. imeeut nebol'shyu raznicy") ; 
    else printf ("\n Koef. raznie") ;
 
    razn = (F1.k-F2.k) ; // разница коэф.(k)
    printf ("\n <<< Sravnenie koef.(k) >>> ") ;
    if ( razn ==0 ) printf ("\n Koef. odinakovie") ; 
    else if ( razn < 2 ) printf ("\n Koef. imeeut nebol'shyu raznicy") ; 
    else printf ("\n Koef. raznie") ;
 
    razn = (F1.b-F2.b) ; // разница коэф.(b)
    printf ("\n <<< Sravnenie koef.(b) >>> ") ;
    if ( razn ==0 ) printf ("\n Koef. odinakovie") ; 
    else if ( razn < 2 ) printf ("\n Koef. imeeut nebol'shyu raznicy") ; 
    else printf ("\n Koef. raznie") ;
    } 
}
    int main() 
 
{ 
    gip f1, f2 ; 
    f1.seta(0.25) ; 
    f1.setk(0.5) ; 
    f1.setb(2) ; 
    f1.printfGip() ; 
    f2.setAllParam(0.16, 0.7, 3) ; 
    f2.printfGip() ; 
    f1.compareTo(f2) ; 
    return 0; 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.10.2013, 18:39     структура с инкапсулированными функциями
Посмотрите здесь:

C++ Массив с функциями
C++ Работа с функциями
работа с функциями C++
C++ Программа с функциями с++
C++ Хэлп с функциями
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
_script_
169 / 137 / 34
Регистрация: 01.05.2012
Сообщений: 414
01.10.2013, 22:25     структура с инкапсулированными функциями #2
Может ошибка в том, что нет инкапсуляции?
swindler94
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 3
02.10.2013, 20:24  [ТС]     структура с инкапсулированными функциями #3
я не знаю, вот и хотел бы узнать
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.10.2013, 20:42     структура с инкапсулированными функциями #4
Вот эти приватными сделайте:
C++
1
2
3
void seta ( float p ) ; //назначает коэф.(a) 
void setk ( float p ) ; //назначает коэф.(k)
void setb ( float p ) ; //назначает коэф.(b)
Добавлено через 2 минуты
И реализации из структуры вынесите.

Добавлено через 3 минуты
И определитесь с compareTo(). Сколько у ней аргументов? В одном месте так написано, в другом этак...
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
02.10.2013, 20:46     структура с инкапсулированными функциями #5
не хватает точки с запятой в конце структуры
C++
1
2
3
4
struct gip // структура , описывающая гиперболу 
{
 ...
}
Yandex
Объявления
02.10.2013, 20:46     структура с инкапсулированными функциями
Ответ Создать тему
Опции темы

Текущее время: 05:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru