Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2013, 23:29   #1
Mashen'ka3
Новичок
Джуниор
 
Регистрация: 23.05.2013
Сообщений: 1
Вопрос Реализовать класс FazzyNumber для работы с нечеткими числами, С++.

Люди добрые, помогите мне, пожалуйста...

Реализовать класс FazzyNumber для работы с нечеткими числами, которые представляются тройками чисел (x-e1,x,x+e1. Для чисел А=(А-аl,A,A+ar) и B=(B-bl,B,B+br) арифметическая операция выполняется по следующей формуле: A+B=(A+B-al-bl,A+B,A+B+ar+br;
обязательно должны быть реализованы: метод инициализации Init, ввод с клавиатуры Read; вывод на экран Display, преобразование в строку toString.
вот что у меня есть, выглядит ужасно...
Код:
using namespace std; 
 
struct FazzyNumber
{ 
  public:
    double x;
    double x1,x2;
    FazzyNumber(double x,double e1,double e2);
    FazzyNumber() : x(), x1(), x2() {} 
    FazzyNumber *read();
    void Display();
    double summa();
  private:
    double toString();
    void Init();
    double first;
    double second;
    char str[20];
    double A;
    double B;
  };
 
FazzyNumber *FazzyNumber::read()
{    
    double e1,e2;
    cout<<"Введите :"<<endl;
    cin>>x1>>e1>>e2;
    cout<<"Введите :"<<endl;
    cin>>x2>>e1>>e2;
     FazzyNumber A(x1,e1,e2), B(x2,e1,e2),X;
    first=e1;
    second=e2;
    return this;
}
void FazzyNumber::Init()
{ 
        if (first<=0)
        {
           cout<<"Ошибка! Введите число больше 0 "<<endl;
           cout<<"Введите e1: =";
           cin>>first;
         }
       if (second<=0)
       {
          cout<<"Ошибка! Введите число больше 0"<<endl; 
          cout<<endl<<"Введите e2 : =";
          cin>>second;
       }
}
 FazzyNumber::FazzyNumber(double _x,double e1,double e2)
     :x(_x)
 {
   x1=x-e1;
   x2=x+e2;
 }
 
 void FazzyNumber::Display()
 { 
     FazzyNumber A(x1,first,second), B(x2,first,second),X;
     if ((X.x1!=0) && (X.x!=0) && (X.x2!=0))
     cout<<" \n result: "<<X.x1<<", "<<X.x<<", "<<X.x2 <<endl;
 }
 double FazzyNumber::summa()
 {  
     FazzyNumber A(x1,first,second), B(x2,first,second),X;
   FazzyNumber rez;
     rez.x=A.x+B.x; 
     rez.x1=rez.x-A.x1-B.x1;
     rez.x2=rez.x+A.x2+B.x2; 
   cout<<" \n result: "<<rez.x<<", "<<rez.x1<<", "<<rez.x2<<endl;
  return 0;
 }
 double FazzyNumber::toString()
 { 
     
     char str[20];
     
     cout<<str<<endl;
 
     return 0;
 }
  FazzyNumber *Make_linur()
    { 
    float x=0,e1=0,e2=0;
      FazzyNumber *number = new FazzyNumber(x,e1,e2);
    return number;
 }
int main()
{ 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    FazzyNumber *m;
    if (m = Make_linur()) { 
        m->Display();
    }
    if (m->read()) { 
        m->Display();
    }
    if (m) {
        m->Init();
        m->summa();
        m->toString();
    }
        return 0;
}
Mashen'ka3 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
тип данных для работы с большими числами Voldemort93 Общие вопросы Delphi 3 17.02.2013 17:46
Создание класса для работы с дробными числами.Язык Си++. Salatiq Помощь студентам 0 17.05.2012 16:52
Калькулятор для работы с большими числами. Ассемблер. Колямбий Фриланс 1 03.05.2012 02:34
Написать класс для работы с двоичными числами в Visual C++ 2008 Maxs Фриланс 1 23.12.2009 21:07
Модуль для работы с дуальными числами Wizlight Общие вопросы Delphi 1 13.04.2008 14:11