С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
#1

Работа с классами - C++

01.09.2009, 23:05. Просмотров 746. Ответов 6
Метки нет (Все метки)

плиз помогите решить
нужно написать функции которыи будут выполнять сложение, вычитание, умножение и деление допустим d1 и d3
вот то чтоу меня получилось доделать
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
#include "stdafx.h"
#include <iostream>
#include <windows.h>
#include <string.h>
 
using namespace std;
 
 class Drob{
   int ch,zn;
 public:
   int getCh(){
     return ch;
   }
   int getZn(){
     return zn;
   }
   void setZn(int y){
     if(y!=0)zn=y;
   }
   void setCh(int y){
     if(y!=0)ch=y;
   }
   Drob(int c=1,int z=1){
     ch=c;
     if(z!=0)zn=z;
     else zn=1;
   }
   void output(){
     cout<<ch<<"/"<<zn<<"\n";
   }
  /* Drob(int c){
     ch=c;
     zn=1;
   }
   
   */
   Drob(Drob&ob){
     this->ch=ob.ch;
     this->zn=ob.zn;
   }
 };
 
int _tmain(int argc, _TCHAR* argv[]){
  SetConsoleOutputCP(1251);
  SetConsoleCP(1251); 
  Drob d1(5,-2),d2(5),d3;
  d1.output();
  d2.output();
  d3.output();
  Drob d4(d2);
  d4.output();
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2009, 23:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с классами (C++):

Работа с классами - C++
Почему может вывестись здесь ошибка? #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;math.h&gt; #include...

Работа с классами - C++
Помогите пожалуйста написать программу. Задан массив действительных чисел. Найти количество элементов, значение которых меньше...

Работа с классами - C++
Не знаю как правильно задать вопрос, поэтому приведу пример. У меня есть класс матрица как лучше реализовать операцию сложения матриц? Я...

Работа с классами - C++
Привет всем!!!!! Пацаны помогите написать программу плиз, на завтро нужно!!!!! Тема: Классы Задание:Описати інтерфейс та реалізувати...

Работа С Классами - C++
Привет Всем , Перехожу С делфи ))) Вот никак не пойму Вот Эту хрень в нутри класса Обрывок из струпа ...

Работа с классами - C++
Привет!!! Есть задачка: &quot;Определите класс Oper, содержащий идентификатор типа ld (string или C-строка) и операцию (указатель на...

6
FunDuck
688 / 379 / 4
Регистрация: 22.01.2009
Сообщений: 1,135
01.09.2009, 23:21 #2
Это?:
C++
1
2
3
4
5
6
7
8
9
10
11
12
int multi(){
    return this->ch*this->zn;
}
int add(){
    return this->ch + this->zn;
}
double div(){
    return this->ch + this->zn;
}
int sub(){
    return this->ch - this->zn;
}
1
#pragma
Временно недоступен
954 / 225 / 6
Регистрация: 12.04.2009
Сообщений: 921
01.09.2009, 23:25 #3
Неплохо сделать проверку на равенство знаменателей,а так вот :
C++
1
2
3
4
5
6
Drob::Drob sum(Drob d1,Drob d2,Drob &result)
{   
   rezult.setZh() = d1.getZh() * d2.getZh();
   rezult.setCh() = d1.getCh + d2.getCh();
   return rezult;
}
Вычитание по аналогии,можно ещё добавить сокращение дроби.
1
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
01.09.2009, 23:27 #4
Пока вижу только утверждения - вопрос-то в чем состоит ?

if(y!=0)zn=y;
Зачем тут сравнение с 0 ?

if(y!=0)ch=y;
Вот тут точно не нужно
1
HIMen
4150 / 1399 / 39
Регистрация: 12.04.2009
Сообщений: 2,346
01.09.2009, 23:41 #5
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
#include <iostream>
#include <windows.h>
using namespace std; 
class Drob
{
public:
    Drob()
    {
        ch=0;
        zn=1;
    }
    /*Drob(Drob &obj)
    {
        ch=obj.ch;
        zn=obj.zn;
    }*/
    Drob(int c,int z)
    {
        ch=c;
        if(z!=0) zn=z;
        else zn=1;
    }
    Drob operator =(Drob &obj)
    {       
        ch=obj.ch;
        zn=obj.zn;
        return *this;
    }
    Drob operator *(Drob &obj)
    {
        Drob local;
        local.ch=ch*obj.ch;
        local.zn=zn*obj.zn;
        return local;
    }
    friend ostream& operator << (ostream &stream, Drob &obj)
    {
        stream << obj.ch << "/"<< obj.zn << "\n";
        return stream;
    }
private:
    int ch,zn;  
}; 
int main()
{
  SetConsoleOutputCP(1251);
  SetConsoleCP(1251); 
  Drob d1(1,2),d2(1,4);
  Drob d3;
  d3=d1*d2;
  cout << d3;  
  return 0;
}
c перегрузкой для умножения
1
pigah
12 / 12 / 2
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
02.09.2009, 00:44  [ТС] #6
Всем спасибо огромное))
0
odip
Эксперт С++
7159 / 3221 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
02.09.2009, 00:46 #7
Да пребудет с нами Страуструп !
0
02.09.2009, 00:46
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.09.2009, 00:46
Привет! Вот еще темы с ответами:

Работа с классами - C++
Помогите плз Определите значение переменных а, х, с после выполнения следующих команд: class First { int value; public: ...

Работа с классами - C++
Наверно классическая задачка для тех, кто только начинает изучать классы. Есть группы и студенты. Проблема в том, что до меня не доходит,...

Работа с классами - C++
Задача:найти сумму всех отрицательных элементов матрицы и записать в вектор. For (i=0;i&lt;=N;i++) for (j=0;j&lt;=M;j++) if (a&lt;0) ...

Работа с классами - C++
Здравствуйте. Есть код, компиляция происходит нормально, Dev-C++ не выдаёт никаких ошибок. Но когда запускаю программу и начиная там...


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

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

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