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

перегрузка операций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод строки фиксированной длинны в cout (аля printf(%5.0d)! http://www.cyberforum.ru/cpp-beginners/thread843397.html
Добрый вечер! Сегодня встал перед выбором... как выводить через printf или cout. Через принтф код выдает ошибку: Необработанное исключение по адресу, ссылаясь на файл (msvcr110d.dll) ..Нарушение прав доступа Через cout все выводится, но хотелось бы, что бы для вывода выводилось определенное число пустых клеток, что бы получить таблицу: |1|name|name2|speed| а получаю так:...
C++ Написать программу, решающую сравнения первой степени Задние - написать программу, решающую сравнения первой степени, использую алгоритм Евклида. Проблема в том что не работает сама функция нахождения НОД: int NOD_Evklid (int a, int m, int d){ int array; int q,r,j,i; if (m>a) { r=m%a; n=1; for (j=0;j<n;j++) while (r!=0) { http://www.cyberforum.ru/cpp-beginners/thread843386.html
Написать программу, в которую вбиваешь любую функцую, а она строит ее график C++
Вообщем, надо написать программу, в которую вбиваешь любую функцую, а она строит ее график.я не знаю как к этой задаче подойти, подскажите, я почитал, посмотрел, сначала нужно создать какой-то парсер(понятия не имею, что такое), после чего только надо будет с графиком"шаманить". Я вообще новичок, программировал на формах в среде Bulider, Tchart, Canvas- весь мой "словарь". Я не прошу мне...
C++ Как прописать шаблонную функцию внутри шаблонного класса?
Как объявить шаблонную функцию/*типа iterator*/ внутри шаблонного класса?
C++ неизвестныйе символ-в формальных параметрах!Почему я же указал тип .? http://www.cyberforum.ru/cpp-beginners/thread843354.html
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused #include <conio.h> #include <iostream.h>
C++ Известен рост каждого из 20 учеников класса Известен рост каждого из 20 учеников класса. Рост мальчиков условно за-дан отрицательными числами. Выяснить, верно ли, что средний рост мальчиков превышает средний рост девочек более чем на 10 см. ПОМОГИТЕ РЕШИТЬ задачу :cry::cry: Циклы не использовать.сделать виде switch и case:cry: Добавлено через 29 минут помогите решить Добавлено через 39 минут подробнее

Показать сообщение отдельно
impulse1990
Сообщений: n/a

перегрузка операций - C++

20.04.2013, 17:23. Просмотров 548. Ответов 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include <iostream>
#include <math.h>
 
class Triangle
{
private:
    int angle[3];
    int side[3];
 
public:
    Triangle() { angle[0] = 0; angle[1] = 0; angle[0];
                  side[0] = 0; side[1] = 0; side[2]; }
    void enter();
    void area();
    void perimetr();
    void height();
    void type();
};
 
void Triangle :: enter()
{
    int i;
    start:
    for ( i = 0; i < 3; i++)
    {
        std::cout << "Введите угол " << i + 1 << std::endl;
        std::cin >> angle[i];
    }
    if( angle[0] + angle[1] + angle[2] != 180)
    {
        std::cout << "Сумма углов не равна 180 градусам " << std::endl;
        std::cout << "Повторите ввод углов " << std::endl;
        goto start;
    }
 
    start2:
    for ( i = 0; i < 3; i++)
    {
        std::cout << "Введите сторону " << i + 1 << std::endl;
        std::cin >> side[i];
    }
 
    if(side[0] + side[1] > side[2] || side[0] + side[2] > side[1] || side[1]+ side[2] > side[0])
        std::cout << "Данный треугольник существует " << std::endl;
    else
    {
        std::cout << "Треугольник не существует, повторите ввод сторон  "<< std::endl;
        goto start2;
    }
}
 
void Triangle ::area() // считаем по формуле Герона (p(p-a)(p-b)(p-c))^(1/2)
{
    double p = (side[0] + side[1] + side[2]) / 2; // p полупериметр
    std::cout << "Площадь треугольника равна " << sqrt( p * ( p - side[0]) * (p - side[1]) * (p - side[2]));
    std::cout << std::endl;
}
 
void Triangle::perimetr()
{
    std::cout << "Периметр треугольник равен " << side[0] + side[1] + side[2] << std::endl;
}
 
void::Triangle::height()
{
    double p = ( side[0] + side[1] + side[2]) / 2;
    std::cout << "Высота треугольника равна  " << 2*(sqrt( p * ( p - side[0]) * (p - side[1]) * (p - side[2]))) / side[0] << std::endl;
}
 
void :: Triangle::type()
{
    if(angle[0] == angle[1] && angle[1] == angle[2])
        std::cout << "Данный треугольник равносторонний " << std::endl;
    if(angle[0] == angle[1] || angle[1] == angle[2] || angle[0] == angle[2])
        std::cout << "Данный треугольник равнобедренный " << std::endl;
    if(angle[0] != angle[1] && angle[1] != angle[2])
        std::cout << "Данный треугольник разносторонний " << std::endl;
}
 
int main()
{
    setlocale(0, "rus");
    Triangle tr;
    int number;
    std::cout << "Введите данные треугольника " << std::endl;
    tr.enter();
    std::cout << std::endl;
    std::cout << "1 Площадь треугольника " << std::endl;
    std::cout << "2 Периметр треугольника " << std::endl;
    std::cout << "3 Высота треугольника " << std::endl;
    std::cout << "4 Вид треугольника " << std::endl;
    std::cout << "5 Полное описание треугольника " << std::endl;
    std::cout << "Введите ваш вариант " << std::endl;
    std::cin >> number;
 
    switch(number)
    {
    case 1: tr.area(); break;
    case 2: tr.perimetr(); break;
    case 3: tr.height(); break;
    case 4: tr.type(); break;
    case 5: tr.area(); tr.perimetr(); tr.height(); tr.type();break;
    default: std::cout << "Не коретный ввод данных " << std::endl; break;
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru