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

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

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

добавить 3 поле - C++

15.04.2013, 19:40. Просмотров 201. Ответов 0
Метки нет (Все метки)

Нужно добавить 3 поле, переопределить метод вывода (выводить в формате координат). Сама программа производит арифметические действия с комплексными числами.

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
#include "stdafx.h"
#include <iostream>
using namespace std;
class Complex
{
public:
    Complex():re(0),im(0){}
    Complex(double Re,double Im):re(Re),im(Im){}
    ~Complex(){}
    double getRe(){return re;}
    double getIm(){return im;}
    void setRe(int Re){re=Re;}
    void setIm(int Im){im=Im;}
    void sopr()
    {
        if (im<0) im=abs(im);
        else im=(-abs(im));
    }
    double mod()
    {
        double temp;
        temp=sqrt(re*re+im*im);
        return temp;
    }
    Complex operator+(const Complex &rhs) 
    {
        Complex temp;
        temp.re=re+rhs.re;
        temp.im=im+rhs.im;
        return temp;
    }
    Complex operator-(const Complex &rhs) 
    {
        Complex temp;
        temp.re=re-rhs.re;
        temp.im=im-rhs.im;
        return temp;
    }
    
    Complex operator*(const Complex &rhs) 
    {
        Complex temp;
        temp.re=(re*rhs.re)-(im*rhs.im);
        temp.im=(re*rhs.im)+(im*rhs.re);
        return temp;
    }
 
    Complex operator/(const Complex &rhs) 
    {
        Complex temp;
        double r=rhs.re*rhs.re+rhs.im*rhs.im;
        temp.re=(re*rhs.re+im*rhs.im)/r;
        temp.im=(im*rhs.re-re*rhs.im)/r;
        return temp;
    }
 
    virtual void out() 
    {
        cout << re;
        if(im>=0) cout <<"+";
        cout << im<<"i";
    }
    void in() 
    {
        cin>>re>>im;
    }
 
 
        friend ostream & operator<<(ostream &,const Complex &);
        friend istream &operator>>(istream &, Complex &);
protected:
    double re;
    double im;
};
class Point : public Complex
{
public: 
    Point(){re=0;im=0;} 
    Point(double x,double y){re=x;im=y;}    
    ~Point(){};
    
    virtual void out() 
    {
        cout <<"("<< re<<",";
        cout << im<<")";
    }
protected:
};
istream &operator>>(istream &in, Complex &c)
{
    in >> c.re>>c.im;
    return in;
}
 
ostream & operator<<(ostream &out,const Complex &c)
    {
        out << c.re;
        if(c.im>=0) out <<"+";
        out << c.im<<"i";
        return out;
    }
    
 
void main()
{
setlocale(LC_ALL,"Russian");
bool choice;
cout<<"Комплексные числа (0)      Координаты (1)";
cin>>choice;
Complex *p1,*p2,*p3;
switch (choice)
{   
    case 0: 
        p1 = new Complex; 
        p2 = new Complex; 
        p3 = new Complex; 
        cout<<"Введите первое комплексное число : ";
        p1->in();
        cout<<"Введите второе комплексное число : ";
        p2->in();
        break;
        
    case 1: 
        p1 = new Point; 
        p2 = new Point; 
        p3 = new Point; 
        cout<<"Введите первую координату : ";
        p1->in();
        cout<<"Введите вторую координату : ";
        p2->in();
        break; 
}
 
cout<<"\nПлюс :  \t";
*p3=*p1+*p2; p3->out();
cout<<"\nМинус : \t";
*p3=*p1-*p2; p3->out();
cout<<"\nУмножение : \t";
*p3=*p1 * *p2; p3->out();
cout<<"\nДеление : \t";
*p3=*p1/ *p2; p3->out();
cin.sync();
cin.get();
}
Ниже скрин вывода 2-х координат, нужно чтобы 3 вводилось и выводилось.
Миниатюры
добавить 3 поле  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 19:40     добавить 3 поле
Посмотрите здесь:

C++ Статическое поле
C++ Поле чисел от 0 до N
Вещественное поле C++
Определить сможет ли белый слон расположенный на поле (a,b),одним ходом пойти на поле (e,f),не попав при этом под удар чёрного коня нах.(c,d) C++
C++ шахматное поле
Поле first — целое число, левая граница диапазона, включается в диапазон; поле second — целое число, правая граница диапазона, не включается в диапазо C++
C++ Записи в линейном списке содержат ключевое поле типа int. Сформиро-вать двунаправленный список. Добавить в него элемент с заданным номером, удалить К
Поле со списком C++
C++ Поле чудес С++
C++ Указатель на поле класса
C++ Поле mutable в структуре
Наследник не унаследовал поле ? C++

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

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

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