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

Где ошибка? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вычислить значение функции Y=tg(5x/3)+ln|2x+5|+1,8 http://www.cyberforum.ru/cpp-beginners/thread805643.html
Помогите написать! http://cs411426.vk.me/v411426519/708c/8LUA4X3GszM.jpg Добавлено через 21 час 16 минут Вот задание N1: /*Y=tg(5x/3)+ln|2x+5|+1,8*/ #include <iostream.h>
C++ ГСЧ, одинаковые значения Подскажите, почему при каждом запуске программы генератор случайных чисел выдает одни и те же значения? т.е. если при первом запуске он выдал последовательность 41, 105, ..., и тд то при новом запуске снова выдает 41, 105, ... N=200; n=(rand()%(N)); http://www.cyberforum.ru/cpp-beginners/thread805642.html
C++ Матрица змейкой
Нужно вывести матрицу змейкой, но выводит по строчкам, что нужно исправить? // Матрица змейкой #include "stdafx.h" #include <iostream> using namespace std; #include <stdlib.h> #include <time.h> int main() { srand((int)clock());
C++ Абстрактные классы
void _tmain() { const int lim = 100; MyFunction *pFunc ; int count = 0; pFunc = new My_Exp; pFunc = new Line; pFunc = new My_KX;
C++ Множественное наследование (Разработайте базовый класс CLIENT) http://www.cyberforum.ru/cpp-beginners/thread805517.html
Задание: Множественное наследование. Разработайте базовый класс CLIENT. Элемент класса: ФИО; количество поездок. Методы:
C++ Класс Train Задание 1: Динамические данные. Задайте любое поле класса как указатель на переменную соответствующего типа. Задание 2: Инициализация массива объектов. Добавьте в разработанный класс три конструктора: конструктор по умолчанию; конструктор с параметрами; конструктор копирования; и деструктор. подробнее

Показать сообщение отдельно
srg_btl
33 / 33 / 2
Регистрация: 21.02.2013
Сообщений: 90
11.03.2013, 17:56     Где ошибка?
Рабочий код. На мой взгляд самый оптимальный вариант
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
#include <iostream>
 
 
class Shape
{
public:
    Shape(double a = 0, double b = 0) 
    : x(a)
    , y(b)
    {}
    virtual ~Shape() {}
    virtual double getArea() = 0;
    double x;
    double y;
};
 
class Triangle : public Shape
{
public:
    Triangle(double xx = 0,double yy = 0)
    : Shape(xx, yy)
    {
 
    }
    double getArea()
    {
        return 0.5*x*y;
    }
};
 
class Rectangle : public Shape
{
public:
    Rectangle(double xx = 0, double yy = 0)
    : Shape(xx, yy)
    {
 
    }
    double getArea()
    {
        return x*y;
    }
};
 
class Square : public Shape
{
public:
    Square(double xx = 0, double yy = 0)
    : Shape(xx, yy)
    {
 
    }
    double getArea()
    {
        return x*y;
    }
};
 
int main()
{
    Triangle n(2.0, 7.0);
    Rectangle m(9.0, 4.0);
    Square l(7.0, 8.0);
 
    Shape *first = &n;
    Shape *second = &m;
    Shape *third = &l;
 
    double trArea, reArea, sqArea;
    trArea = first->getArea();
    reArea = second->getArea();
    sqArea = third->getArea();
 
    std::cout << "Area of triangle = " << trArea << std::endl;    
    std::cout << "Area of rectangle = " << reArea << std::endl;    
    std::cout << "Area of sqArea = " << sqArea << std::endl;    
 
    system("pause");
    return 0;
}
Добавлено через 7 минут
Или так:

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
86
87
#include <iostream>
 
 
class Shape
{
public:
    Shape(double a = 0, double b = 0) 
    : x(a)
    , y(b)
    {}
    virtual ~Shape() {}
    double getArea() { return area; }
    virtual void showArea() = 0;
    double x;
    double y;
    double area;
};
 
class Triangle : public Shape
{
public:
    Triangle(double xx = 0,double yy = 0)
    : Shape(xx, yy)
    {
       area = 0.5*x*y;
    }
    void showArea()
    {
       std::cout << "Triangle area = " << area << std::endl;
    }
};
 
class Rectangle : public Shape
{
public:
    Rectangle(double xx = 0, double yy = 0)
    : Shape(xx, yy)
    {
       area = x*y;
    }
    void showArea()
    {
       std::cout << "Rectangle area = " << area << std::endl;
    }
 
};
 
class Square : public Shape
{
public:
    Square(double xx = 0, double yy = 0)
    : Shape(xx, yy)
    {
       area = x*y;
    }
    void showArea()
    {
       std::cout << "Square area = " << area << std::endl;
    }
};
 
int main()
{
    Triangle n(2.0, 7.0);
    Rectangle m(9.0, 4.0);
    Square l(7.0, 8.0);
 
    Shape *first = &n;
    Shape *second = &m;
    Shape *third = &l;
 
    double trArea, reArea, sqArea;
    trArea = first->getArea();
    reArea = second->getArea();
    sqArea = third->getArea();
 
    std::cout << "Area of triangle = " << trArea << std::endl;    
    std::cout << "Area of rectangle = " << reArea << std::endl;    
    std::cout << "Area of sqArea = " << sqArea << std::endl; 
 
    first->showArea();   
    second->showArea();   
    third->showArea();   
 
    system("pause");
    return 0;
}
Нет смысла каждый раз вычислять значения,
C++
1
2
3
4
5
    double getArea()
    {
        area = 0.5*x*y;
        std::cout << "Area of triangle = " << std::endl; return area;
    }
если они у тебя не меняються, лучше сразу в конструкторе вычислить а потом просто возвращать значения
 
Текущее время: 07:47. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru