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

Построить классы для описания плоских фигур:круг,квадрат,прямоугольник - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Про строки и слова http://www.cyberforum.ru/cpp-beginners/thread271844.html
Слова в строке разделены одним пробелом. Найти и напечатать слова, заканчивающиеся на заданную букву. Пожалуйста, помогите решить! Буду благодарна!
C++ Сжать массив, выбросив из него каждый второй элемент.... написать программу чтоб было такое решение. В начале выдаёт от к примеру от 1 до 10 char a={1,2,3,4,5,6,7,8,9,10}; чтоб потом выдал такой ответ: 1,3,5,7,9 http://www.cyberforum.ru/cpp-beginners/thread271843.html
Операнд C++
программа запрашивает разрядность операндов что мне вводить не понимаю.Объясните пожалуста на примере.
Абстрактный класс C++
Есть такое задание: Сгенерируйте абстрактный класс типа фигура, создайте производные от него классы типа пятиугольник, прямоугольник. В классах должны быть реализованы следующие методы:  конструкторы  деструкторы,  метод отображения (выводит координаты на экран) – виртуальная функция. Написать программу, которая демонстрирует работу этого класса. Знаю как все делать, только не знаю...
C++ Перегрузка функций! http://www.cyberforum.ru/cpp-beginners/thread271826.html
Есть такое задание: С помощью механизма перегрузки функций реализовать функции для вывода на экран (первый параметр – тип выводимого значения (самостоятельно разработать систему обозначений)). Вопрос: Какую можно разработать систему обозначений, у кого будут какие предложения??
C++ Перевести код программы с Паскаля на C помогите пожалуйста перевести код программы с паскаля на С точнее первое задание, где нужно подсчитать количество подряд идущих пробелов program lr6; Uses crt; const setStr = ; Var cStr, i: Integer; s: String; подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
07.04.2011, 21:17     Построить классы для описания плоских фигур:круг,квадрат,прямоугольник
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
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>
 
class Figure {
 public:
  virtual void  Draw() = 0;
  virtual float Area() = 0;
  virtual float Perimiter() = 0;
};
 
class Rectangle : public Figure {
 public:
  Rectangle(float width, float height)
    : width_(width), height_(height) {}
  virtual float Width() const { return width_; }
  virtual float Height() const { return height_; }
  virtual void  Width(float value) { width_ = value; }
  virtual void  Height(float value) { height_ = value; }
  virtual float Area() { return Width() * Height(); };
  virtual float Perimiter() { return (Width() + Height()) * 2; };
  virtual void  Draw() {
    printf("Rectangle. Width: %.3f, height: %.3f, area: %.3f, "
           "perimiter: %.3f;\n",
           Width(), Height(), Area(), Perimiter());
  }
 private:
  float width_;
  float height_;
};
 
class Square : public Rectangle {
 public:
  explicit Square(float side) : Rectangle(side, side) {}
  virtual float Width() const { return Rectangle::Width(); }
  virtual float Height() const { return Rectangle::Height(); }
  virtual void  Width(float value)  {
    Rectangle::Width(value);
    Rectangle::Height(value);
  }
  virtual void  Height(float value) {
    Rectangle::Width(value);
    Rectangle::Height(value);
  }
  virtual void  Draw() {
    printf("Square. Side: %.3f, area: %.3f, perimiter: %.3f;\n",
           Rectangle::Width(), Area(), Perimiter());
  }
};
 
class Circle : public Figure {
 public:
  static const float Pi = 3.14;
  explicit Circle(float radius) : radius_(radius) {}
  virtual float Radius() const { return radius_; }
  virtual void  Radius(float value) { radius_ = value; }
  virtual float Area() { return Pi * pow(Radius(), 2.); };
  virtual float Perimiter() { return 2 * Pi * Radius(); };
  virtual void  Draw() {
    printf("Circle. Radius: %.3f, area: %.3f, perimiter: %.3f;\n",
           Radius(), Area(), Perimiter());
  }
 private:
  float radius_;
};
 
int main(int argc, char *argv[]) {
  srand(time(NULL));
  Figure *figures[10];
  for (int i = 0; i < 10; ++i) {
    switch (rand() % 3) {
    case 0: figures[i] = new Circle((rand() % 1000) / 100.);
            break;
    case 1: figures[i] = new Rectangle((rand() % 1000) / 100.,
                                       (rand() % 1000) / 100.);
            break;
    case 2: figures[i] = new Square((rand() % 1000) / 100.); 
            break;
    }
    figures[i]->Draw();
    delete figures[i];
  }
  return 0;
}
 
Текущее время: 05:36. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru