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

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

Войти
Регистрация
Восстановить пароль
 
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61
#1

Перегрузка операций для класса "Комплексное число в тригонометрической форме" - C++

10.05.2014, 12:28. Просмотров 348. Ответов 0
Метки нет (Все метки)

помогите пожалуйста доделать программу на тему перегрузка.Дано комплексное число в тригонометрической форме а=p*(cos pfi+ i* sin pfi).Членами класса являются модуль Р и аргумент pfi. Использовать методы конструктор,деструктор,метод вывода комплексного числа в тригонометрической и алгебраической формах. Операторы перегрузки:сложение,вычитание,деление,умножение комплексных чисел.......
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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
# include <iostream>
# include <stdlib.h>
# include <conio.h>
 
using namespace std;
 struct complex{
    double a,b; int w;
};
class Complex{
    complex comp;
public:
    Complex(double x=0,double y=0){
        comp.a=x; 
        comp.b=y;
    }
    Complex operator +(const Complex &c);
    Complex operator *(const Complex &c);
    Complex operator -(const Complex &c);
    Complex operator /(const Complex &c);
    bool operator ==(const Complex &c);
    const Complex& operator =(const Complex &c){
        comp.a=c.comp.a;
        comp.b=c.comp.b;
        return *this;
    }
    Complex conj();
    Complex Read();
    void Display();
};
Complex Complex::operator +(const Complex &c){
    Complex d;
    d.comp.a=comp.a+c.comp.a;
    d.comp.b=comp.b+c.comp.b;
    return d;
}
Complex Complex::operator *(const Complex &c){
    Complex t;
    t.comp.a=comp.a*c.comp.a-comp.b*c.comp.b;
    t.comp.b=comp.a*c.comp.b+comp.b*c.comp.a;
    return t;
}
Complex Complex::operator /(const Complex &c){
    Complex t;
    t.comp.a=(comp.a*c.comp.a+comp.b*c.comp.b)/(comp.a*comp.a+comp.b*comp.b);
    t.comp.b=(comp.b*c.comp.a-comp.a*c.comp.b)/(comp.a*comp.a+comp.b*comp.b);
    return t;
}
Complex Complex::operator -(const Complex &c){
    Complex y;
    y.comp.a=comp.a-c.comp.a;
    y.comp.b=comp.b-c.comp.b;
    return y;
}
 
void Complex::Display(){
        if(comp.b>=0)
            cout<<comp.a<<"+"<<comp.b<<"i\n";
        else
            cout<<comp.a<<comp.b<<"i\n";
}
Complex Complex::Read(){
    double x,y; 
    int p;double pfi;
    cout<<"Dejstvitelnaja  chast: ";
    cin>>x;
    cout<<"Mnimaja  chast:        : ";
    cin>>y;
    
    
    
    cout<<"Modyl  P:        : ";
    cin>>p; 
    cout<<"argyment  pfi:        : ";
    cin>>pfi;
    
    
    Complex A=Complex(x,y);
    return A;
}
//-----------------------------------------------------------
void execute()
{   
    cout<<" - 1symma\n";
    cout<<" - 2raznost\n";
    cout<<" - 3ymnogenie\n";
    cout<<" - 4delenie\n";
}
int chois(){
    int chois_1;
    cout<<"     Операции комплексными числами\n";
    cout<<" 1 - symma\n";
    cout<<" 2 - raznost\n ";
    cout<<" 3 - ymnogenie\n";
    cout<<" 4 - delenie\n";
 
    cout<<" 0 - vihod\n\n";
    cout<<"\n viberete deistvie : \n";
    cin>>chois_1;
    while((chois_1<0)||chois_1>6){
        cout<<"     !!!ne korrektnie dannie!!!\n";
        cout<<" vvedite zanovo : ";
        cin>>chois_1;
    }
    return chois_1;
}
void choise(){
    switch (chois()){
    case 1: {  
        Complex a,b;
        cout<<"1e chislo:\n";
        a=a.Read();
        cout<<"2e chislo:\n";
        b=b.Read();
 
        Complex c=a+b;
        c.Display();
        break;
            }
    case 2:{  
        Complex a,b;
        cout<<"1e chislo:\n";
        a=a.Read();
        cout<<"2e chislo:\n";
        b=b.Read();
        Complex c=a-b;
        c.Display();
        break;
        }
    case 3 :{  
        Complex a,b;
        cout<<"1e chislo:\n";
        a=a.Read();
        cout<<"2e chislo:\n";
        b=b.Read();
        Complex c=a*b;
        c.Display();
        break;
            }
    case 4:{
        Complex a,b;
        cout<<"Первое число:\n";
        a=a.Read();
        cout<<"Второе число:\n";
        b=b.Read();
        Complex c=a/b;
        c.Display();
        break;
           }
 
    default :exit(0);
    }
    system("pause");
    system("cls");
    choise();
 
}
//-----------------------------------------------------------
int main (){
    setlocale(LC_ALL, "Russian" );
    system("pause");
    system("cls");
    choise();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2014, 12:28     Перегрузка операций для класса "Комплексное число в тригонометрической форме"
Посмотрите здесь:

Перегрузка операций методами класса "Круг" - C++
Класс – круг на плоскости: Переопределить методами класса операции:  Объект1=Объект2  Объект+=вещественное число ...

Перегрузка операций класса "Прямоугольник" - C++
Помогите! Я не представляю как сделать операции сравнения, а остальное вроде бы получилось. Необходимо выполнить перегрузку операций...

Разработка класса "Комплексное число" - C++
помогите решить задание,вот оно: Разработать класс, набор методов (конструктор, деструктор и указаны методы) для программной модели...

Перегрузка "opеrator =" и "{ }" для собственного класса - C++
Я пытаюсь создать класс Vector. Для задания элементов вектора хотелось бы использовать &quot;opеrator =&quot; и &quot; { } &quot;. Возможно ли...

Перегрузка операторов (==, <<, >>, +) для класса "Денежная сумма" - C++
Реализовать класс «Денежная сумма». Данные класса: размер суммы, код валюты, курс по отношению к доллару. Операции: сложение двух сумм,...

Структура "Комплексное число", проблемы с выводом - C++
Задание - массив структур типа &quot;Комплексное число&quot;. Неправильно работает, точнее, неправильный вывод. Будто проверяет только первое условие...

Класс "комплексное число" - C++
Здрасти!!!! Я не могу никак написать программу!!!! А завтра уже сдавать!!! Пожалста помогите моя жизнь в ваших руках!!!!! Задание: ...

Класс "Комплексное число" - C++
Написать программу с базовым классом для реализации комплексных чисел в алгебраической форме и основных операций с ними : сложения,...

Класс "Комплексное число" - C++
Производный от СТРОКА класс КОМЛЕКСНОЕ_ЧИСЛО. Строки данного класса состоят из двух полей, разделенных символом i. Первое поле задает...

Структура "Комплексное число" - C++
Структурное внесение, которое характеризует Комплекс число. Функцию создавать согласно следующим ставили условия и тестировать: а)...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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