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

переделать структуры в классы - C++

Восстановить пароль Регистрация
 
wesleepforever
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 13
28.06.2011, 18:01     переделать структуры в классы #1
Найти корни квадратного трехчлена с заданными комплексными коэффициентами. Для моделирования комплексных чисел объявите класс.

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
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
double k=0;//vichislaet virashenie
double a,b,c;//koefficienti yravnenia
struct complex{
       double Re;
       double Im;
      };
void main (void)
{  char yn='y';
  do  { clrscr();
  complex x1;//element struct type complex
  complex x2;  complex a;  complex b;  complex c;
  complex k;  complex D;  double l;
cout<<"\n              Reshit':      a*x^2 + b*x + c = 0 \n";
 cout<<"\n Enter real part 1 koefficienta yravnenia: a= ";    cin>>a.Re;
 cout<<"\n Enter imegen part 1 koefficienta yravnenia: a= ";   cin>>a.Im;
 cout<< "\n Enter real part 2 koefficienta yravnenia: b= ";    cin>>b.Re;
 cout<<"\n Enter imegen part 2 koefficienta yravnenia: b= ";   cin>>b.Im;
 cout<<"\n Enter real part 3 koefficienta yravnenia: c= ";    cin>>c.Re;
 cout<<"\n Enter imegen part 3 koefficienta yravnenia: c= ";  cin>>c.Im;
    D.Re=b.Re*b.Re-b.Im*b.Im-4*a.Re*c.Re+4*a.Im*c.Im;
    D.Im=-4*a.Re*c.Im-4*a.Im*c.Re+2*b.Re*b.Im;
    l=sqrt(D.Re*D.Re+D.Im*D.Im);
 if(l==0)
  {k.Re=0.0;   k.Im=0.0;}
 else{k.Re=sqrt(l)*cos(acos(D.Re/l)/2);
      k.Im=sqrt(l)*sin(asin(D.Im/l)/2);}
    x1.Re=(-a.Re*b.Re+k.Re*a.Re+-a.Im*b.Im+k.Im*a.Im)/(2*(a.Re*a.Re+a.Im*a.Im));
x2.Re=x1.Re-(k.Re*a.Re+k.Im*a.Im)/(a.Re*a.Re+a.Im*a.Im);
 x1.Im=(-a.Re*b.Im+k.Im*a.Re+a.Im*b.Re-k.Re*a.Im)/(2*(a.Re*a.Re+a.Im*a.Im));
 x2.Im=x1.Im+(k.Re*a.Im-k.Im*a.Re)/(a.Re*a.Re+a.Im*a.Im);
 cout<<"x1:\n"<<"Real part= "<<x1.Re<<"; Imegen part= "<<x1.Im<<"*i\n";
    cout<<"x2:\n"<<"Real part= "<<x2.Re<<"; Imegen part= "<<x2.Im<<"*i";
   cout<<"\n Begin work? y/n \n";   cin>>yn;   }
  while(yn=='y'||yn=='Y');}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.06.2011, 18:01     переделать структуры в классы
Посмотрите здесь:

C++ Классы и структуры...
Структуры заменить на классы C++
Классы vs Структуры C++
Кто-нибудь может переделать задачу со структур на классы? C++
C++ тема структуры(классы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
co6ak
Кошковед
 Аватар для co6ak
402 / 495 / 29
Регистрация: 12.04.2010
Сообщений: 1,392
28.06.2011, 18:03     переделать структуры в классы #2
структура от класса почти не отличается.
все что нужно - изменить "struct %name& { " на "class %name% { public: "
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
28.06.2011, 18:03     переделать структуры в классы #3
wesleepforever, Ой, ой, опасный код..
В чем собственно вопрос?
wesleepforever
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 13
28.06.2011, 18:06  [ТС]     переделать структуры в классы #4
nameless, переделать в класс надо
nameless
Эксперт C++
 Аватар для nameless
289 / 288 / 14
Регистрация: 16.06.2009
Сообщений: 486
28.06.2011, 18:11     переделать структуры в классы #5
wesleepforever,

C++
1
2
3
4
5
6
7
8
9
10
11
12
class Complex
{
private:
   double re;
   double im;
 
public:
   Complex(double _re, double _im) : re(_re), im(_im) {  }
   ~Complex() {  }
   
   //Так далее...
};
Дальше перегружаете операции суммирования, умножения, деления и т. д.
wesleepforever
0 / 0 / 0
Регистрация: 27.06.2011
Сообщений: 13
28.06.2011, 18:32  [ТС]     переделать структуры в классы #6
nameless, ответь плиз на сообщение
Yandex
Объявления
28.06.2011, 18:32     переделать структуры в классы
Ответ Создать тему
Опции темы

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