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

Закомментировать код - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать? http://www.cyberforum.ru/cpp-beginners/thread958762.html
Скажу сразу, а то сейчас начнется, что я прекрасно понимаю, что поля класса при объявлении инициализировать нельзя. Можно конструктором при создании экземпляра. Но вот препод говорит, что кто-то из студентов в какой-то из версий (неясно про что он: то ли о visual studio, то ли о версии языка c++) показывал ему, как инициализировать поля прям в классе. Очень интересно самому на это взглянуть....
C++ Считалочка Народ помогите написать программу считалочка, суть самой программы - написать программу в которой водим количество играков, затем водим несколько слов через пробел. Программа и должна эти слова подставит под игроков, последнее слово которое попадает на игрока, то этот игрок выбывает, следующих игрока программа снова подставляет слова и т.д. пока не выбывает первый игрок. Программа должна показать... http://www.cyberforum.ru/cpp-beginners/thread958756.html
Расчет функции в виде бесконечного ряда C++
Помогите пожалуйста, не получается написать рабочую прогу. Задание было такое: составить программу вычисления F(x) в виде бесконечного ряда с точностью 10^-9. F(x)=1+((x^1)/1!)+((x^2)/2!)+...+((x^N)/N!)+.. И полученный результат сравнить со значением системной функции F(x)=exp(x). У меня вообще ничего не получилось, может из-за того, что я криворукий новичок в с++... #include <math.h> #include...
Объявлением типа данных с указателем C++
Есть ли какая-то функциональная разница между таким объявлением int* a; и таким int *a
C++ С++ . «Ветвления» . Функции http://www.cyberforum.ru/cpp-beginners/thread958694.html
Здравствуйте! Помогите пожалуйста написать программу:
C++ Помощь в архитектуре Здравствуйте самые больные места у моих приложений, как и у многих начинающих это не код, а архитектура. Какой должна быть архитектура, приведите примеры .h заголовочного файла в спойлире к примеру для класса виджет (можно image, picture) и какие-то нарекания по количеству методов, количеству строк в определении, использованию наследования и т.д. Для примера: #pragma once #include... подробнее

Показать сообщение отдельно
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
20.09.2013, 20:33     Закомментировать код
Цитата Сообщение от Sanuamba Посмотреть сообщение
Помогите закомментировать код:
легко
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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
/*
#include <iostream>
#include "string.h" //
#define SIZE    16
using namespace std;
 
class Calculator {
public:
    int add(int, int);
    void printDecResult(int, int);
    int printBinResult(int, int, char);
};
 
class Number {
public:
    char* Parsing(char*, int*);// разбор
    char* Parsing(char*, char*);
    int f_error;
 
};
 
 
char* Number::Parsing(char *enteredString, int* opr) {
    int if_number = 0;
    int number = 0; 
    int sign = 1; 
    char ch; 
 
    while ((ch = (*enteredString)) && (!f_error)) {
        if (ch >= '0' && ch <= '9') {
            number = (number * 10) + (ch - '0');
            if_number = 1;
        } else {
            if (ch == ' ') {
                if (if_number)
                    break;
            } else {
                if (ch == '-') {
                    sign = -1;
                } else
                    f_error = 1;
            }
        }
        enteredString++;
    }
    if (if_number)
        *opr = number * sign;
    else
        f_error = 1;
    return enteredString;
}
 
char* Number::Parsing(char *enteredString, char* symbol) {
    char ch;
    *symbol = ' ';
    while ((ch = (*enteredString)) && (!f_error)) {
        if (ch == '+' || ch == '-') {
            *symbol = ch;
            enteredString++;
            break;
        } else if (ch == ' ') {
            ; 
        } else if (ch == '=') {
            cout << "ERROR! Знак '=' вводить не нужно!" << endl;
        } else {
            cout << "ERROR! Недопустимый символ!" << endl;
            f_error = 1;
        }
        enteredString++;
    }
    return enteredString;
}
 
 
int Calculator::printBinResult(int opr1, int opr2, char symbol) {
    Calculator calc;
    int result = 0;
 
    printDecResult(opr1, 0);
    cout << " " << symbol << " ";
    printDecResult(opr2, 0);
    cout << " = ";
 
    switch (symbol) {
    case '+':
        printDecResult(calc.add(opr1, opr2), 0);
        result = opr1 + opr2;
        break;
 
    case '-':
        opr2 = 0 - opr2;
        printDecResult(calc.add(opr1, opr2), 0);
        result = opr1 + opr2;
        break;
    }
    cout << endl;
    return result;
}
 
 
void Calculator::printDecResult(int number, int counter) {
    counter++;
    if (counter < SIZE) {
        printDecResult(number, counter);
        cout << ((number >> counter) & 1);
    }
    if (counter == 1)
        cout << (number & 1);
}
 
int Calculator::add(int firstOperand, int secondOperand) {
    int o1, o2;
    int counter, n;
    int result = 0;
    counter = 0;
    for (n = 0; n < SIZE; n++) {
        o1 = ((firstOperand >> n) & 1);
        o2 = ((secondOperand >> n) & 1);
        result |= ((o1 ^ o2 ^ counter) << n); 
        if ((o1 + o2 + counter) > 1)
            counter = 1;
        else
            counter = 0;
    }
    return result;
}
 
int main() {
    char *enteredString, *ConvertString; 
    int opr1, opr2;
    char symbol;
    try {
        class Number *n = new class Number;
        class Calculator *c;
        c = new class Calculator;
        if (n) {
            enteredString = new (char[64]);
 
            while (true) {
                opr1 = opr2 = 0;
                n->f_error = 0;// (*n).f_error - оператор косвенного обращения
 
                cout << "Введите выражение с пробелами и нажмите ENTER: ";
                cin.getline(enteredString, 64);
 
                if (!strlen(enteredString)) {
                    delete enteredString;
                    delete n;
                    throw 1;
                }
 
                ConvertString = enteredString;
                ConvertString = n->Parsing(ConvertString, &opr1);
 
                while ((*ConvertString) && (!n->f_error)) {
                    ConvertString = n->Parsing(ConvertString, &symbol);
                    ConvertString = n->Parsing(ConvertString, &opr2);
                    if (!n->f_error)
                        opr1 = c->printBinResult(opr1, opr2, symbol);
                }
 
                if (n->f_error)
                    cout << "Error!!!" << endl;
                else
                    cout << "Результат: " << opr1 << endl;
            }
 
            delete enteredString;
            delete n;
 
        } else
            throw "Error! ";
        return 0;
    }
 
    catch (char *str1) {
        cout << str1 << endl;
    }
 
    catch (int nn) {
        cout << "Error! Вы не ввели строку!" << endl;
    }
}
 
*/
 
Текущее время: 14:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru