Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
pigah
12 / 12 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
1

Работа с классами

01.09.2009, 23:05. Просмотров 769. Ответов 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
Ответы с готовыми решениями:

Работа с классами
Есть такой код: CMainWindow MainWindow; CUITextView textTest; ...

Работа с классами
Задача:найти сумму всех отрицательных элементов матрицы и записать в вектор....

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

Работа с классами
Помогите плз Определите значение переменных а, х, с после выполнения...

Работа с классами
Добрый день! Я столкнулся с проблемой которую не могу решить.Суть проблемы...

6
FunDuck
688 / 379 / 51
Регистрация: 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
Временно недоступен
955 / 226 / 14
Регистрация: 12.04.2009
Сообщений: 925
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
Эксперт С++
7162 / 3221 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
01.09.2009, 23:27 4
Пока вижу только утверждения - вопрос-то в чем состоит ?

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

if(y!=0)ch=y;
Вот тут точно не нужно
1
HIMen
4261 / 1428 / 101
Регистрация: 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 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
02.09.2009, 00:44  [ТС] 6
Всем спасибо огромное))
0
odip
Эксперт С++
7162 / 3221 / 76
Регистрация: 17.06.2009
Сообщений: 14,161
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

Работа с классами
Помогите пожалуйста с заданием Создать базовый класс Человек. Каждый объект...

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

Работа с классами
Помогите с задачей, пожалуйста! Условие на фотографии: Перепечатывайте задание...


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

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

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