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

Типы передаваемые в функцию - C++

Восстановить пароль Регистрация
 
grigorian941
Сообщений: n/a
08.01.2014, 14:21     Типы передаваемые в функцию #1
вобщем, написал программу, она малость топорная, но, беда, я понимаю что я не те значения передаю функциям, но догадаться не могу как исправить,
суть задания, класс rational это рациональная дробь, числитель и знаменатель которой должны быть представлены классом LongLong
подскажите или помогите если кто сможет

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
143
144
145
#include <iostream>
 
using namespace std;
 
class LongLong
{
    long schisl;                    
    long znam;           
public:
    LongLong umn(LongLong fi, LongLong se);
    LongLong del(LongLong fi, LongLong se);
    LongLong minus(LongLong fi, LongLong se);
    LongLong plus(LongLong fi, LongLong se);
 
};
 
class rational
{
    LongLong Konech;
public:
    void read();
    void display();
 
    long ch;
    long zn;
};
 
/*************************Методы**************************/
 
void rational::read()
{
    ch = 0;
    zn = 0;
 
    cout << "Введите числитель";
        cin >> ch;
    cout << endl;
    cout << "Знаменатель";
        cin >> zn;
    if (zn == 0) cout << "На ноль делить нельзя!";
}
 
void rational::display()
{
    cout << ch << "/" << zn;
}
/*******действия******/
 
LongLong LongLong::umn(LongLong fi, LongLong se)
{
    LongLong kon;
 
    kon.schisl = fi.schisl * se.schisl;
    kon.znam = fi.znam * se.znam;
 
    return kon;
}
 
LongLong LongLong::del(LongLong fi, LongLong se)
{
    LongLong kon;
 
    kon.schisl = fi.schisl / se.schisl;
    kon.znam = fi.znam / se.znam;
 
    return kon;
}
 
LongLong LongLong::minus(LongLong fi, LongLong se)
{
    LongLong kon;
    LongLong priv1, priv2;
    /*****приведение подобных слогаемых*****/
    priv1.schisl = fi.schisl * se.znam;
    priv1.znam = fi.znam * se.znam;
 
    priv2.schisl = se.schisl * fi.znam;
    priv2.znam = se.znam * fi.znam;
    /***************************************/
 
    kon.schisl = priv1.schisl - priv2.schisl;
    kon.znam = priv1.znam - priv2.znam;
 
    return kon;
}
 
LongLong LongLong::plus(LongLong fi, LongLong se)
{
    LongLong kon;
    LongLong priv1, priv2;
    /*****приведение подобных слогаемых*****/
    priv1.schisl = fi.schisl * se.znam;
    priv1.znam = fi.znam * se.znam;
 
    priv2.schisl = se.schisl * fi.znam;
    priv2.znam = se.znam * fi.znam;
    /***************************************/
 
    kon.schisl = priv1.schisl + priv2.schisl;
    kon.znam = priv1.znam + priv2.znam;
 
    return kon;
}
 
 
int main()
{
    setlocale(LC_ALL, "Russian");
    rational fi;
    rational se;
    rationals kon;
 
    cout << "Ввод первого числа " << endl;
        fi.read();
    cout << "Ввод второго чила " << endl;
        se.read();
 
    system("Cls");
 
    cout << "Введенные числа:" << endl;
        fi.display();
    cout << endl;
        se.display();
 
        kon = plus(fi, se);
        cout << endl << "Сложение:" << endl;
        kon.display();
 
        kon = minus(fi, se);
        cout << endl << "Вычитание:" << endl;
        kon.display();
 
        kon = umn(fi, se);
        cout << endl << "Умножение:" << endl;
        kon.display();
 
        kon = del(fi, se);
        cout << endl << "Деление:" << endl;
        kon.display();
 
system("pause");
return 0;
 
 
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.01.2014, 14:21     Типы передаваемые в функцию
Посмотрите здесь:

C++ Переменные передаваемые при вызове функции
Переменные передаваемые при вызове функции C++
Не получается преобразовать типы указателей на функцию C++
Где хранятся аргументы, передаваемые в функцию C++
Аргументы, передаваемые в main C++
Указатели на передаваемые двумерные массивы в функцию C++
Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си? C++
C++ - конверсия указателя из double в int, пропускает передаваемые переменные в функцию C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 14:27     Типы передаваемые в функцию #2
grigorian941, почитайте о методах классов и как их использовать. Вы неправильно их используете. Кроме того почитайте про перегрузку операторов, таких как +, -, *, /. это Вам поможет
Yandex
Объявления
08.01.2014, 14:27     Типы передаваемые в функцию
Ответ Создать тему
Опции темы

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