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

Нужны комментарии к коду - C++

27.12.2017, 19:05. Просмотров 310. Ответов 6

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




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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
class obch_parametr {
protected:
    double dk;
public:
    virtual void in() = 0;
    virtual double obch() = 0;
    virtual void output() = 0;
};
class rospyluvach : public obch_parametr {
public:
    double o, a, u, v, p;
    rospyluvach() {
    }
    rospyluvach(double x, double y, double z, double k, double r) : 
        u(x), a(y), o(z), v(k), p(r) {
    }
    rospyluvach(rospyluvach &src) {
        u = src.u;
        a = src.a;
        o = src.o;
        v = src.v;
        p = src.p;
    }
    void in() {
        ifstream in("input.txt");
        if (!in) {
            cout << "File is not open" << endl;
            exit(1);
        }
        in >> u >> a >> o >> v >> p;
        in.close();
    }
    double obch() {
        dk = (81 * pow(o, 0.46) * pow(a, 0.46) * pow(u, 0.08)) /
            v * pow(p, 0.5);
        return dk;
    }
    void output() {
        ofstream on("output.txt", ios::app);
        cout << "u = " << u << "  a = " << a << "  o = " << o << "  v0 = " << v << "  p = " << p << endl;
        cout << "Result:  dk = " << dk << endl << endl;
        on << "u = " << u << "  a = " << a << "  o = " << o << "  v0 = " << v << "  p = " << p << endl;
        on << "Result:  dk = " << dk << endl << endl;
        on.close();
    }
    friend bool operator == (rospyluvach &a, rospyluvach &b);
    friend bool operator != (rospyluvach &a, rospyluvach &b);
    friend bool operator > (rospyluvach &a, rospyluvach &b);
    friend bool operator >= (rospyluvach &a, rospyluvach &b);
    friend bool operator < (rospyluvach &a, rospyluvach &b);
    friend bool operator <= (rospyluvach &a, rospyluvach &b);
};
int main() {
    rospyluvach A1, A2(7.85, 76, 0.00006, 40, 1);
    A1.in();
    cout << "For A1:" << endl;
    for (; A1.v <= 50; A1.v += 2) { //шаг для v0 - 2
        A1.obch();
        A1.output();
    }
    cout << "For A2:" << endl;
    A2.obch();
    A2.output();
    cout << "For A3:" << endl;
    rospyluvach A3 = A1;
    A3.obch();
    A3.output();
    if (A1 == A2)
        cout << "A1 == A2" << endl;
    if (A1 != A2)
        cout << "A1 != A2" << endl;
    if (A1 > A2)
        cout << "A1 > A2" << endl;
    if (A1 >= A2)
        cout << "A1 >= A2" << endl;
    if (A1 < A2)
        cout << "A1 < A2" << endl;
    if (A1 <= A2)
        cout << "A1 <= A2" << endl;
    system("pause");
    return 0;
}
bool operator == (rospyluvach &a, rospyluvach &b) {
    if (a.dk == b.dk)
        return true;
    else
        return false;
}
bool operator != (rospyluvach &a, rospyluvach &b) {
    if (a.dk != b.dk)
        return true;
    else
        return false;
}
bool operator > (rospyluvach &a, rospyluvach &b) {
    if (a.dk > b.dk)
        return true;
    else
        return false;
}
bool operator >= (rospyluvach &a, rospyluvach &b) {
    if (a.dk >= b.dk)
        return true;
    else
        return false;
}
bool operator < (rospyluvach &a, rospyluvach &b) {
    if (a.dk < b.dk)
        return true;
    else
        return false;
}
bool operator <= (rospyluvach &a, rospyluvach &b) {
    if (a.dk <= b.dk)
        return true;
    else
        return false;
}

http://www.cyberforum.ru/cpp-builder/thread1612382.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.12.2017, 19:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Нужны комментарии к коду (C++):

Нужны комментарии к коду
//--------------------------------------------------------------------------- ...

Нужны комментарии к коду
#include &lt;vcl.h&gt; //загрузка стандартной библиотеки С++ Билдер #include...

Комментарии к коду
Доброго времени суток ув. программисты :) Нужны подробные комментарии к каждой...

Дайте комментарии к коду
Здравствуйте. Кто в теме, дайте комментарии к коду #include &lt;vcl.h&gt;...

Комментарии по коду нейронной сети
Доброго времени суток. Задали задание по нейронным сетям, сам в...

6
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,179
Записей в блоге: 1
Завершенные тесты: 2
27.12.2017, 19:52 #2
Цитата Сообщение от Zheenykaa Посмотреть сообщение
Есть рабочий код
код содержит UB.
0
hoggy
Заблокирован
27.12.2017, 20:25 #3
Цитата Сообщение от GbaLog- Посмотреть сообщение
код содержит UB.
где вы там UB нашли?
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,179
Записей в блоге: 1
Завершенные тесты: 2
28.12.2017, 05:14 #4
Цитата Сообщение от hoggy Посмотреть сообщение
где вы там UB нашли?
Код
source_file.cpp:5:7: warning: ‘class obch_parametr’ has virtual functions and accessible non-virtual destructor [-Wnon-virtual-dtor]
 class obch_parametr {
       ^
0
hoggy
Заблокирован
28.12.2017, 13:21 #5
Цитата Сообщение от GbaLog- Посмотреть сообщение
has virtual functions and accessible non-virtual destructor
не является UB
0
GbaLog-
Любитель чаепитий
3156 / 1462 / 462
Регистрация: 24.08.2014
Сообщений: 5,179
Записей в блоге: 1
Завершенные тесты: 2
29.12.2017, 05:38 #6
Цитата Сообщение от hoggy Посмотреть сообщение
не является UB
лень лезть в стандарт.
с cppreference:
http://en.cppreference.com/w/cpp/language/virtual
Moreover, if a class is polymorphic (declares or inherits at least one virtual function), and its destructor is not virtual, deleting it is undefined behavior regardless of whether there are resources that would be leaked if the derived destructor is not invoked.
0
hoggy
Заблокирован
29.12.2017, 12:30 #7
Цитата Сообщение от GbaLog- Посмотреть сообщение
deleting it is undefined behavior
deleting it is undefined behavior
теперь вы понимание свою ошибку?

Добавлено через 6 минут
UB в действии:

http://rextester.com/KGGN67169

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
struct left
{
    int l[255];
};
 
struct rigth
{
    int r[255];
};
 
 
struct example: left, rigth
{
    int e[255];
};
 
int main()
{
    rigth* p = new example;
    delete p;
}
output:

Кликните здесь для просмотра всего текста
Код
Error(s):
*** Error in `/var/www/service/usercode/1641269579/a.out': free(): invalid pointer: 0x0000000000bc601c ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f99301417e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f9930149e0a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f993014d98c]
/var/www/service/usercode/1641269579/a.out[0x40069f]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7f99300ea830]
/var/www/service/usercode/1641269579/a.out[0x400709]
======= Memory map: ========
00400000-00401000 r-xp 00000000 b6:4f051 5956305                         /var/www/service/usercode/1641269579/a.out
00600000-00601000 r--p 00000000 b6:4f051 5956305                         /var/www/service/usercode/1641269579/a.out
00601000-00602000 rw-p 00001000 b6:4f051 5956305                         /var/www/service/usercode/1641269579/a.out
00bb4000-00be6000 rw-p 00000000 00:00 0                                  [heap]
7f9928000000-7f9928021000 rw-p 00000000 00:00 0 
7f9928021000-7f992c000000 ---p 00000000 00:00 0 
7f992fbab000-7f992fbc1000 r-xp 00000000 b6:4f051 105                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f992fbc1000-7f992fdc0000 ---p 00016000 b6:4f051 105                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f992fdc0000-7f992fdc1000 rw-p 00015000 b6:4f051 105                     /lib/x86_64-linux-gnu/libgcc_s.so.1
7f992fdc1000-7f992fec9000 r-xp 00000000 b6:4f051 10854                   /lib/x86_64-linux-gnu/libm-2.23.so
7f992fec9000-7f99300c8000 ---p 00108000 b6:4f051 10854                   /lib/x86_64-linux-gnu/libm-2.23.so
7f99300c8000-7f99300c9000 r--p 00107000 b6:4f051 10854                   /lib/x86_64-linux-gnu/libm-2.23.so
7f99300c9000-7f99300ca000 rw-p 00108000 b6:4f051 10854                   /lib/x86_64-linux-gnu/libm-2.23.so
7f99300ca000-7f9930289000 r-xp 00000000 b6:4f051 10849                   /lib/x86_64-linux-gnu/libc-2.23.so
7f9930289000-7f9930489000 ---p 001bf000 b6:4f051 10849                   /lib/x86_64-linux-gnu/libc-2.23.so
7f9930489000-7f993048d000 r--p 001bf000 b6:4f051 10849                   /lib/x86_64-linux-gnu/libc-2.23.so
7f993048d000-7f993048f000 rw-p 001c3000 b6:4f051 10849                   /lib/x86_64-linux-gnu/libc-2.23.so
7f993048f000-7f9930493000 rw-p 00000000 00:00 0 
7f9930493000-7f99304ab000 r-xp 00000000 b6:4f051 10855                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7f99304ab000-7f99306aa000 ---p 00018000 b6:4f051 10855                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7f99306aa000-7f99306ab000 r--p 00017000 b6:4f051 10855                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7f99306ab000-7f99306ac000 rw-p 00018000 b6:4f051 10855                   /lib/x86_64-linux-gnu/libpthread-2.23.so
7f99306ac000-7f99306b0000 rw-p 00000000 00:00 0 
7f99306b0000-7f9930822000 r-xp 00000000 b6:4f051 3213                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f9930822000-7f9930a22000 ---p 00172000 b6:4f051 3213                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f9930a22000-7f9930a2c000 r--p 00172000 b6:4f051 3213                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f9930a2c000-7f9930a2e000 rw-p 0017c000 b6:4f051 3213                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7f9930a2e000-7f9930a32000 rw-p 00000000 00:00 0 
7f9930a32000-7f9930a58000 r-xp 00000000 b6:4f051 10838                   /lib/x86_64-linux-gnu/ld-2.23.so
7f9930c23000-7f9930c29000 rw-p 00000000 00:00 0 
7f9930c54000-7f9930c57000 rw-p 00000000 00:00 0 
7f9930c57000-7f9930c58000 r--p 00025000 b6:4f051 10838                   /lib/x86_64-linux-gnu/ld-2.23.so
7f9930c58000-7f9930c59000 rw-p 00026000 b6:4f051 10838                   /lib/x86_64-linux-gnu/ld-2.23.so
7f9930c59000-7f9930c5a000 rw-p 00000000 00:00 0 
7ffe4742a000-7ffe4743f000 rw-p 00000000 00:00 0                          [stack]
7ffe474b1000-7ffe474b3000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

Abort signal from abort(3) (SIGABRT)
Meet bunq, a bank that puts an entire API and SDK at your disposal.
ads via Carbon


в коде ТС delete вообще не используется.
там нет UB.
0
29.12.2017, 12:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2017, 12:30
Привет! Вот еще темы с решениями:

Нужны комментарии к каждой строке кода
Прошу вас помочь.Заранее спасибо TStringList*L=new TStringList;...

Задача 8 ферзей, нужны пояснения к коду
вообщем нашел код рабочий #include&lt;iostream&gt; #include&lt;stdio.h&gt; using...

Комментарии
Нужны комментарии к коду, к 3 простым программам, помогите 1)Стоимость...

Комментарии к Unit2.h
Помогите пожалуйста написать комментарии все понимаю что написано но не могу...


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

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

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