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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
swindler94
0 / 0 / 0
Регистрация: 01.10.2013
Сообщений: 3
#1

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

01.10.2013, 18:39. Просмотров 237. Ответов 4
Метки нет (Все метки)

помогите понять в чем ошибка( требуется использовать структуру с инкапсулированными функциями: задача:Объект – гипербола 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++
Ребят, помогите пожалуйста, 29 июня экзамен по &quot;Основы программирования&quot;,кто сколько сможет сделать задач, тем всей группой поставим &quot;+&quot;...

Структура «База», сущности «Универсам» и «Продукты», структура «Товар» - C++
1. Создать структуру «База», включающую не менее 3 полей. 2. Создать сущности «Универсам» и «Продукты» описанной структуры. 3. Создать...

Структура DateTime, битовая структура - C++
Условие: Структура содержит информацию о дате и времени некоторого события: struct datetime { unsigned short Year; // год ...

Структура, доступная из всех файлов проекта ("глобальная" структура) - C++
Есть четыре структуры (body, gun, enemy, st), описанные в main.cpp. К main.cpp подключен хедер save.h, в котором имеется функция void...

Знакомство с функциями - C++
Я новичок в программировании, работаю в среде Dev C++. Вот решила начать изучение функций, и почему-то на первой же попытке ошибка... И не...

Работа с функциями - C++
Помогите решить задачи пожалуйста 1) По введенному целому числу М распечатать все трехзначные десятичные числа, сумма цифр равна М. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
_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
5417 / 4813 / 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 // структура , описывающая гиперболу 
{
 ...
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2013, 20:46
Привет! Вот еще темы с ответами:

Операции с функциями - C++
На данном этапе написания программы, нужно ввести(либо сгенерировать) значения некоторых параметров конденсаторов ( используется функция...

Помощь с функциями - C++
Добрый день, Хочу попросить у вас помощь просто не успеваю сделать, работаю над другой частью программы... Вобщем задание такое : ...

работа с функциями в С++ !! - C++
помогите сделать задачу !нужно найти найбольший общий делитель пятинатуральных чисел !))) очень прошу сделайте кто нибуть !!!! ...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.10.2013, 20:46
Ответ Создать тему
Опции темы

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