Автор Тема: Помогите с программой на класс комплексных чисел  (Прочитано 2187 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн настен

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
программа на класс комплексных чисел,нужно было перегрузить операторы << и >>,программа не работает,нет возвращаемого значения...какого оно?????
# include<iostream>
# include<math.h>
using namespace std;
class Tcomplex
{
public:
 
float a,b;
 
Tcomplex(float an=0,float bn=0)
{
   a=an;
   b=bn;
}
Tcomplex operator = (Tcomplex c)
{
   a=c.a;
   b=c.b;
   return (*this);
}
 
friend ostream& operator<<(ostream& os, const Tcomplex& tc)
{
   //os<<tc.a<<(tc.b>0?"+":"")<<tc.b<<"i";
   os<<tc.a;
   if(tc.b>0)
   os<<"+";
   os<<tc.b<<"i";
}
 
friend istream& operator>>(istream& is,Tcomplex& tc)
{
   cout<<"введите действительную часть числа ";
   is>>tc.a;
   cout<<"введите мнимую часть числа ";
   is>>tc.b;
}
 
 
void print ()
{
   cout<<a<<"+"<<b<<"i"<<endl;
}
 
Tcomplex operator + (Tcomplex c)
{
   Tcomplex result;
   result.a=a+c.a;
   result.b=b+c.b;
   return result;
}
Tcomplex operator - (Tcomplex c)
{
   Tcomplex result;
   result.a=a-c.a;
   result.b=b-c.b;
   return result;
}
Tcomplex operator * (Tcomplex c)
{
   Tcomplex result;
   result.a=a*c.a-b*c.b;
   result.b=b*c.a+c.b*a;
   return result;
}
Tcomplex operator / (Tcomplex c)
{
   Tcomplex result;
   result.a=(a*c.a+b*c.b)/(c.a*c.a+c.b*c.b);
   result.b=(b*c.a-c.b*a)/(c.a*c.a+c.b*c.b);
   return result;
}
void trig ()
{
   float alpha;
   alpha=atan(b/a);
   cout<<this->getModule()<<"("<<"cos"<<alpha<<"+i sin"<<alpha<<")";
}
double getModule ()
{
   return sqrt(a*a+b*b);
}
 
};
 
 
int main ()
{
Tcomplex c,c1;
cin>>c;
cout<<"само число: "<<c<<endl;
cout<<"введите слагаемое:"<<endl;
cin>>c1;
cout<<"слагаемое:"<<c1<<endl;
cout<<"перегруженный оператор сложения "<<c+c1+c1<<endl;
cout<<"перегруженный оператор вычитания "<<c-c1-c1<<endl;
cout<<"перегруженный оператор умножения "<<c*c1*c1<<endl;
cout<<"перегруженный оператор деления "<<c/c1/c1<<endl;
cout<<"модуль первого числа: "<<c.getModule()<<endl;
cout<<"тригонометрическая: ";
c.trig();
cout<<endl;
return 0;
}
« Последнее редактирование: 21 Октября 2011, 10:50:11 от Asix »

 

Ввести матрицы А и В. Помогите получить элементы третьей матрицы C

Автор xxMalayaxx

Ответов: 13
Просмотров: 7808
Последний ответ 04 Февраля 2010, 21:16:39
от xxMalayaxx
Помогите решить задание на С++. Решить этот ДУ методом Рунге-Кутта

Автор artecovez

Ответов: 0
Просмотров: 8584
Последний ответ 24 Апреля 2010, 20:41:08
от artecovez
Помогите разобраться с задачей по "методу оптимальных решений"

Автор 16Q

Ответов: 0
Просмотров: 9754
Последний ответ 23 Апреля 2014, 20:58:36
от 16Q
Доброго времени суток, помогите пожалуйсто написать программу на Visual C++

Автор Кирилл89

Ответов: 3
Просмотров: 5763
Последний ответ 03 Ноября 2011, 17:01:18
от DrXakep
Помогите создать снеговика с анимацией в PascalABC и в Microsoft Visual Basic6.0

Автор ЮЛИКА

Ответов: 7
Просмотров: 10803
Последний ответ 04 Мая 2012, 11:18:19
от ki