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

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

01.09.2009, 23:05. Показов 969. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.09.2009, 23:05
Ответы с готовыми решениями:

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

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

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

работа с классами в С++
Пусть есть class.срр, в котором описан класс MyClass{ public: int i; ... } Есть...

6
692 / 383 / 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
Временно недоступен
957 / 228 / 14
Регистрация: 12.04.2009
Сообщений: 926
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
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
01.09.2009, 23:27 4
Пока вижу только утверждения - вопрос-то в чем состоит ?

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

if(y!=0)ch=y;
Вот тут точно не нужно
1
4335 / 1504 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
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
12 / 12 / 5
Регистрация: 05.07.2009
Сообщений: 147
Записей в блоге: 1
02.09.2009, 00:44  [ТС] 6
Всем спасибо огромное))
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
02.09.2009, 00:46 7
Да пребудет с нами Страуструп !
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.09.2009, 00:46
Помогаю со студенческими работами здесь

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

работа с классами
помогите пожалуйста написать программу на C++: Создать класс Complex для работы с комплексными...

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru