Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Vadikk
0 / 0 / 1
Регистрация: 15.11.2011
Сообщений: 44
#1

ООП.Разработать структуру элементов данных класса в виде динамической структуры данных - C++

05.11.2012, 21:30. Просмотров 1207. Ответов 1
Метки нет (Все метки)

Здравствуйте, получил задание, но немного недопонимаю как это сделать, с чего начать. Помогите пожалст или объясните образно как сделать, а я уж как-нибудь соображу.
Вот задание:
Разработать структуру элементов данных класса в виде динамической структуры данных. Разработать конструкторы для различных типов входных данных(без параметров, параметр-строкаб параметр-массив) и деструктор. Разработать методы вывода и ввода содержимого объекта в поток(на экран), а также в текстовую строку (из строки), а также базовый набор содержаельных операций над типов данных.
Содержимое: правильная дробь представленная целой частью, числителем и знаменателем.


Может кто нибудь объяснить что, где, да как. Что то вообще ничего не понятно

Добавлено через 2 часа 15 минут
и Если можно посоветуйте какую нибудь книгу понятливую по ооп
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2012, 21:30
Я подобрал для вас темы с готовыми решениями и ответами на вопрос ООП.Разработать структуру элементов данных класса в виде динамической структуры данных (C++):

Удаление и добавление элементов динамической структуры данных
Структура "Абитуриент": - фамилия, имя, отчество; - год рождения; - оценки...

Разработать тип данных в виде класса фильмы
1. Класс должен содержать данные-члены принадлежащие типам: int, bool, float,...

Выводом данных из динамической структуры между функциями
Некорректно выводится информация из динамической структуры. Может затирается...

Программирование типовой динамической структуры данных(с использованием файловых переменнных)
Есть информация о вещах, дан файл f, наименование вещей,сравнительный вес и...

Понятие структуры данных. Элементарные структуры данных. Простые структуры данных
Понятие структуры данных. Элементарные структуры данных. Простые структуры...

Ввод структуры в текстовый файл столбиком и вывод данных из файла в структуру
Имеется база данных в виде структуры, которая будет постепенно дописываться...

1
lemegeton
2933 / 1362 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
06.11.2012, 16:00 #2
Лучший ответ Сообщение было отмечено Vadikk как решение

Решение

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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <string>
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <stdexcept>
 
class Fraction {
 private:
  int nominator;
  int denominator;
  void simplify() {
    if (denominator < 0) {
      nominator *= -1;
      denominator *= -1;
    }
    int gcd = getGCD(std::abs(nominator), denominator);
    nominator /= gcd;
    denominator /= gcd;
  }
 public:
  Fraction(int nominator, int denominator) : nominator(nominator), denominator(denominator) {
    simplify();
  }
  Fraction() : nominator(0), denominator(1) {}
  Fraction(const Fraction &other) : nominator(other.getNominator()), denominator(other.getDenominator()) {}
  Fraction(int value) : nominator(value), denominator(1) {}
  int getNominator() const {
    return nominator;
  }
  int getDenominator() const {
    return denominator;
  }
  double getValue() const {
    return static_cast<double>(getNominator()) / static_cast<double>(getDenominator());
  }
  static int getGCD(int a, int b) {
    while (a != b)
      if (a > b) a -= b; else b -= a;
    return a;
  }
};
 
std::ostream &operator<<(std::ostream &stream, const Fraction &fraction) {
  return stream << fraction.getNominator() << "/" << fraction.getDenominator();
}
 
Fraction operator-(const Fraction &a) {
  return Fraction(-a.getNominator(), a.getDenominator());
}
 
Fraction operator+(const Fraction &a, const Fraction &b) {
  int commonDenominator = a.getDenominator() * b.getDenominator();
  int commonNominator = a.getNominator() * b.getDenominator() + b.getNominator() * a.getDenominator();
  return Fraction(commonNominator, commonDenominator);
}
 
Fraction operator-(const Fraction &a, const Fraction &b) {
  return a + -b;
}
 
Fraction operator*(const Fraction &a, const Fraction &b) {
  return Fraction(a.getNominator() * b.getNominator(), a.getDenominator() * b.getDenominator());
}
 
Fraction operator/(const Fraction &a, const Fraction &b) {
  return Fraction(a.getNominator() * b.getDenominator(), a.getDenominator() * b.getNominator());
}
 
int main(int argc, char **argv) {
    Fraction a(-1, 2), b(1, 3), c(1, 4);
    std::cout << 1 / Fraction(2) << std::endl;
}
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.11.2012, 16:00
Привет! Вот еще темы с решениями:

Организовать информационный массив для хранения данных в виде заданной структуры
Помогите пожалуйста с заданием. Информация о билетах на поезд содержит номер...

Разработать шаблон класса для хранения данных (контейнер)
Я не понял как описать шаблон класса для хранения данных (контейнер). Данные...

Разработать шаблон класса для вывода вектора данных в поток
Разработать шаблон соответствующего класса, где поля могут иметь различные типы...

Реализуйте интерфейс динамической структуры list для работы с объектами класса А
Добрый день товарищи программисты. Столкнулся с задачей и никак не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru