Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Классы  (Прочитано 6155 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
aeris
Гость
« : 11-12-2008 22:23 » new

Есть класс, который нужно описать в заголовочном файле и cpp-шнике описать его функции, в другом сpp-шнике реализовать функцию main, показывающую возможности класса. Класс должен осуществлять сложение, деление, умножение и вычитание двух комплексных дробей. Но у меня дело застопорилось, когда я ещё только начала создавать объекты класса - программа доходит до них и напрочь отказывается их создавать..Очень прошу помочь, не могу понять в чем дело..
Работаю в С++ Builder X, пыталась скомпилировать CodeBlocks'ом, но там тоже самое..
Код:
//---------------------------------------------------------------------------
// Unit1.cpp
//---------------------------------------------------------------------------
#include "Unit1.h"


#include<iostream.h>//library for input-output
#include<math.h>//mathematical functions
#include <iomanip.h>//formatted output
#include<conio.h>//for screen delay 
//Реализация


cRational::cRational(int a1,int b1,int c1, int d1)
{SetValue(a1,b1,c1,d1); };


void cRational::SetValue(int a1,int b1,int c1, int d1)
{//Сокращенные значения
  int i;

  for (i=10; i>1; i++)
//Находим общие делители
  {if ((((a1%i)==0)&&(b1%i==0))&&((c1%i==0)&&(d1%i==0)))
   {a1=a1/i; b1=b1/i; c1=c1/i; d1=d1/i;};
     };
  a=a1; //присв.зн-ний данным элементам класса
  b=b1;
  c=c1;
  d=d1;

return;
};



void cRational::Addition(){


  return ;};

void cRational::Multiplication(){

return ;};


void cRational::Division(){

return ;};


void cRational::Substraction(){


  return ;};


void cRational::Print() {

//Функции печати должны выглядеть следующим образом: на экран должны выводить
//дробь в виде (ReA+i*ImA)/(ReB+i*ImB).

cout<<"(Re"<<a<<"+i*Im"<<b<<")/(Re"<<c<<"+i*Im"<<d<<endl;

return;
};
Код:
#ifdef __BORLANDC__
  #pragma argsused
#endif

#include<iostream.h>//library for input-output
#include<math.h>//mathematical functions
#include <iomanip.h>//formatted output
#include<conio.h>//for screen delay 
#include "Unit1.h"
#include "Unit1.cpp"



//Программа-драйвер

int a1,b1,d1,c1;



int main( int argc, char * argv[] )
{
cout<<"Vvedite Re i Im 4islitelya 1-i drobi"<<endl;
cin>>a1>>b1;
cout<<"Vvedite Re i Im znamenatelya i-i drobi"<<endl;
cin>>c1>>d1;

cRational first;

first.SetValue(a1,b1,c1,d1);
first.Print();

cout<<"Vvedite Re i Im 4islitelya 2-i drobi"<<endl;
cin>>a1>>b1;
cout<<"Vvedite Re i Im znamenatelya 2-i drobi"<<endl;
cin>>c1>>d1;

cRational second;
second.SetValue(a1,b1,c1,d1);
second.Print();

getch();//screen delay
return 0;
}
Код:
//---------------------------------------------------------------------------
// Unit1
//---------------------------------------------------------------------------
#if !defined(Unit1_H)
  #define Unit1_H
  //Заголовочнвй файл
  class cRational{
    public:
    cRational (int=1,int=1,int=1,int=1);
    void SetValue (int,int,int,int);
    void Print();
    void Addition();
    void Substraction();
    void Division();
    void Multiplication();


    private:
       int a;
       int b;
       int c;
       int d;

  };

#endif   //Unit1_H
//Заголовочный файл
Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 11-12-2008 22:45 » 

Код:
void cRational::SetValue(int a1,int b1,int c1, int d1)
{//Сокращенные значения
  int i;

  for (i=10; i>1; i++)  //!!! вот тут точно будут проблемы
//...
зацикливается, да? тогда см. выше Улыбаюсь наверное, подразумевалось i-- Ага
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines