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

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

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

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

15.04.2013, 19:40. Просмотров 206. Ответов 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++
В моей программе есть функция добавить элементы, она добавляет элементы в конец списка, уже очень долго не могу сделать функцию добавить...

Как добавить поле? - MySQL
Есть таблица, зовут её groop и имеет она единственно поле id. Я хочу после жтого поля воткнуть ещё поле text типа VARCHAR (256). Как это...

Добавить логическое поле - MS Access
Есть запрос: SELECT Налогоплательщик.Код_налогоплательщика, Налогоплательщик.ФИО, Налогоплательщик.ИИН, ...

Добавить данные в поле - PHP БД
Привет всем. У меня возник вопрос как мне добавить данные в поле, в котором есть уже данные. Но мне не надо удалять старые данные. Вот,...

Добавить поле в таблице - MS Access
есть обычная таблица с определенными полями, и соответственно с данными как добавить в таблицу еще одно поле - автоматически при...

Как добавить поле? - C++ Builder БД
ALTER TABLE 'As' ADD 'Bolleb' 'bool' Почему мой код не работает? Добавлено через 10 минут Пишет ошибка синтаксиса при определении...

Добавить поле в view - SQL Server
ms sql. работаю в Visual Stutio. Создаю представление CREATE VIEW . AS SELECT Id FROM Хочу добавить поле. Изменяю на CREATE VIEW...

Добавить в TreeView поле... - Delphi
Всем доброго времени суток. У меня такая ситуация, есть TreeView в который заносится инфа из БД, но вид получается не читабельный, т.к....

В ВБ6 добавить поле - Visual Basic
Здравствуйте Пробую так Set ObjectWord = GetObject(, &quot;Word.Application&quot;) Set ObjectOpenWord = ObjectWord.ActiveDocument ...


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

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

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