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

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

Войти
Регистрация
Восстановить пароль
 
grigorian941
Сообщений: n/a
#1

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

08.01.2014, 14:21. Просмотров 218. Ответов 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++
Доброго времени суток) Вчера озадачился новым. В недавнем времени перешел на vs 2013 и тут при написании ф-ии решил передать в нее массив...

Где хранятся аргументы, передаваемые в функцию - C++
собственно - сабж... интересует вопрос, где же (в какой памяти) всё таки хранятся аргументы, которые передаются в функцию? и где можно...

Конверсия указателя из double в int, пропускает передаваемые переменные в функцию - C++
Здрасти, такая проблема код : #include &lt;iostream&gt; #include &lt;sstream&gt; #include &lt;cstring&gt; using namespace std; void...

Написать функцию, проверяющую передаваемые параметры и генерирующую в случае надобности подходящее исключение - C++
Функция, реализуемая в задании, обязана выполнять проверку передаваемых параметров и генерировать подходящее исключение в случае ошибочных....

Не получается преобразовать типы указателей на функцию - C++
Доброго всем времени суток. Подскажите пожалуйста как сделать есть тип указателя на функцию. typedef void (*pfn_RawMouseOnLeftDown ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
metaluga145
243 / 244 / 20
Регистрация: 08.04.2013
Сообщений: 927
08.01.2014, 14:27 #2
grigorian941, почитайте о методах классов и как их использовать. Вы неправильно их используете. Кроме того почитайте про перегрузку операторов, таких как +, -, *, /. это Вам поможет
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.01.2014, 14:27
Привет! Вот еще темы с ответами:

Аргументы, передаваемые в main - C++
Всем доброго утра. Вот такой вопрос возник. Запуская программу в консоли имеем вид &gt;cpp1.exe -b -s -f=10 test.txt text_output.rez ...

Переменные передаваемые при вызове функции - C++
Не умею передавать значения переменных при вызове функции, кто бы смог подсказать как передать значения &quot;float v&quot; и &quot;countY&quot; в выражениях...

Переменные передаваемые при вызове функции - C++
Не умею передавать значения переменных при вызове функции, кто бы смог подсказать как передать значения &quot;float v&quot; и &quot;countY&quot; в выражениях...

Вывести переменные окружения передаваемые через командную строку - C++
Всем привет дали такое задание: найти и вывести переменные окружения передаваемые через командную строку. не менее 3. не могу никак...


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

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

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