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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Отредактировать программу http://www.cyberforum.ru/cpp-beginners/thread1171282.html
Заранее извиняюсь за использованный раздел (т.к. не знаю в какой раздел запостить). Есть готовая программа, вот ее краткий алгоритм: 1. Запускается программа 2. По очереди у пользователя...
C++ Составить программу табулирования функции Помогите пожалуйста решить задачу! Составить программу для вычисления массива значений функции для различных значений аргумента, используя три оператора цикла. Значение аргумента рассмотреть в N... http://www.cyberforum.ru/cpp-beginners/thread1171281.html
C++ Программа нажатия клавиши, при определённом условии. [Trigger-bot]
Всем здравствуйте. Нужна помощь в создании "триггер-бота". Программа, при покраснении прицела, имитирует нажатие ЛКМ, и в игре соответственно происходит выстрел. Ранее делал Trigger на Auto-It'е,...
C++ При смене режима компилирования с дебага на релиз, программа бьёт файлы что делать?
делал курсач по DES шифрованию, и когда решил откомпилировать в релиз то программа при расшифровании стала бить файлы, что может быть?
C++ Программа для анализа текста http://www.cyberforum.ru/cpp-beginners/thread1171265.html
Добрый день, я пробую разобраться и скомпоновать 2 исходных кода, 1 анализ количества слов в строке, второй удаление одинаковых слов в строке. Прошу помощи мне надо ввести текст -> подсчитать кол...
C++ Error C2065: _winmajor: необъявленный идентификатор Помогите дописать! Наглядно продемонстрировать инициализацию переменных, совершаемую стартовым кодом, позволяет следующая программа. #include <stdio.h> #include <stdlib.h> void main() { int... подробнее

Показать сообщение отдельно
mashkama
1 / 1 / 0
Регистрация: 26.10.2012
Сообщений: 61

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

10.05.2014, 12:28. Просмотров 387. Ответов 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();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru