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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2013, 21:47   #1
P91
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию Класс дробь состоит из 2 целых полей

Помогите пожалуйста решить задачу. Начало записал, а как дальше делать не знаю!!!!

Класс дробь состоит из 2 целых полей, числителя и знаменателя. Реализовать методы выделения дробной части (9/4 – >0,25 вещественный результат) и метод сложения дробей, без сокращения (1/5 +2/3 -> 13/15 – результат новая дробь).
Код:
Код:
#include<stdio.h>
#include<conio.h>
#include <locale.h>
 
class Drob
 {
   public:
   int Drobchast();  
   void Put(int ch,int z); 
   int Getchislit();              
   int Getznam();               
  Drob Summ (Drob a,Drob b);  
   private:
   int    chislit;
   int    znam;
 };
 
 
 
void Drob::Put(int c,int z)
{
  chislit=c;
  znam=z;
}
 
int Drob::Getchilit()
{
 return chislit;
}
 
int Drob::Getznam()
{
  return znam;
}
 
 int Drob::Drobchast()  
 {
  return modf(chislit,znam); 
}
 
Drob Drob::Summ(Drob a,Drob b) 
{
P91 вне форума Ответить с цитированием
Старый 22.03.2013, 21:53   #2
Hemul
Форумчанин
 
Регистрация: 03.10.2010
Сообщений: 321
По умолчанию

Код:
Drob Drob::Summ(Drob a,Drob b) 
{
    Drob nd;
    nd.Put(a.Getchislit() * b.Getznam() + b.Getchislit()*a.Getznam() , a.Getznam()*b.Getznam());
   return nd;

}
Hemul вне форума Ответить с цитированием
Старый 22.03.2013, 22:10   #3
P91
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию

Спасибо! Только там должны быть реализованы методы: метод инициализации Init;
ввод с клавиатуры Read; вывод на экран Display.
Поля класса должны быть закрытыми private, доступ к ним при необходимости осуществляется через открытые методы public.
И нужно добавить две функции для обработки объектов введенных классов. Вторую функцию назвать add, у нее два аргумента типа названного класса и она возвращает объект того же класса. В main продемонстрировать работу с объектами данного класса и их методами.
P91 вне форума Ответить с цитированием
Старый 22.03.2013, 22:22   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

В чём проблема с Display?
Abstraction вне форума Ответить с цитированием
Старый 23.03.2013, 14:37   #5
P91
Пользователь
 
Регистрация: 20.10.2012
Сообщений: 21
По умолчанию

Вот написал примерно, но она не работает.
Код:
#include<stdio.h>
#include<conio.h>
#include <locale.h>
 
class Drob
 {
   public:
   int Drobchast();  
   void get(int ch,int zn); 
   int Getchsl();              
   int Getznam();               
  Drob Summ (Drob a,Drob b);  
   private:
   int    chsl;
   int    znam;
 };
 
void Drob::get(int ch,int zn)
{
  chsl=ch;
  znam=zn;
}
 
int Drob::Getchsl()
{
 return chsl;
}
 
int Drob::Getznam()
{
  return znam;
}
 
 int Drob::Drobchast()  
 {
  return ( (double)chsl / (double)znam); 
}
 
Drob Drob::Summ(Drob a,Drob b) 
{
  Drob c;     
  c.chsl=a.chsl*b.znam+a.znam*b.chsl;
  c.znam=a.znam*b.znam;
  return c;
}
 
int main(int argc, char* argv[])
{
 setlocale(0,"Russian");
 int zn,ch;
 Drob x,y,z;
 do
 {
     ch=_getche();
     x.get(), y.get();
     z.Summ(x, y);
     z.show();
     printf ("\nЕщё раз (y/n): (%d%d)",ch,zn);
    }while(ch!='n');
    return 0;
}
P91 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
рациональную дробь перевести в цепную дробь. на Паскале. (проверьте программку, где то ошибка:( ) masal86 Помощь студентам 1 20.02.2013 12:42
Описать класс «Обыкновенная дробь» SkyNexx Помощь студентам 6 22.01.2013 12:10
Реализовать класс МНОЖЕСТВО (целых чисел). eduard 038 Visual C++ 1 18.05.2012 17:49
C++ Класс множество целых чисел Танюня Помощь студентам 7 27.02.2011 16:21