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

Уважаемые программисты прокомментируйте программу пожалуйста - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблоны C++11 http://www.cyberforum.ru/cpp-beginners/thread952768.html
#include <iostream> template<typename T1, typename T2> auto func(T1 a, T2 b) -> decltype(a>b?b:a) { return a>b?b:a; } int main() {
C++ Найти паттерн в памяти Доброго времени суток Пытаюсь реализовать поиск сигнатуры в памяти процесса. Целевая память - загружаемый модуль Получал размер через VirtualQuery, сравнивал побайтово, но процесс в итоге вылетает Если плохо объяснил - прошу прощения, уже не соображаю :с Прошу на пальцах объяснить действия http://www.cyberforum.ru/cpp-beginners/thread952762.html
Схема БД C++
Здравствуйте...помогите составить схему БД правильно... Вот задание: Отдел продаж некоторой фирмы. * Клиенты: название компании, ФИО контактного лица, адрес выставления счёта, адрес доставки, телефон, факс. * Заказы: тип заказа (покупка, гарантийный ремонт, негарантийный ремонт), общая стоимость, скидка, товар(ы), их изготовители, модели (марки), серийные номера, описание неисправностей,...
C++ Запрос логина/пароля
Доброго времени суток! в универе задали задание... звучит вот так Завдання до лабораторної роботи № 1 Створіть імітацію входу в систему, що буде запитувати пароль і виводити запрошення тільки у випадку збігу введеного пароля з заздалегідь визначеним у програмі, а у випадку помилки виводити повідомлення про помилку і прохання повторити введення. Після 3 помилок програма повинна вивес-ти...
C++ Перевод программы с С# на С++ http://www.cyberforum.ru/cpp-beginners/thread952754.html
using System; class StateBorder { enum State { A, B } static void Main()
C++ Тема: Структуры, нужно в VS написать В радиоателье сохраняются квитанции о сданной в ремонт аппаратуре. Каждая квитанция содержит такую информацию: название группы товаров(телевизоры, радиоприемники и т.д), марка товара, дата приема в ремонт, состояние готовности заказа(сделано, не сделано). Вывести информацию о состояние заказа на поточные сутки для заданной группы товаров. Наименование группы товаров ввести с клавиатуры. подробнее

Показать сообщение отдельно
Рас
0 / 0 / 0
Регистрация: 17.05.2013
Сообщений: 14

Уважаемые программисты прокомментируйте программу пожалуйста - C++

11.09.2013, 23:10. Просмотров 492. Ответов 12
Метки (Все метки)

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
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
#include <iostream>
#include <ctime>
using namespace std;
 
class Budilnik
{
private:
    int hour, min, sec;
public:
    void Set_time(int hour=0, int min=0, int sec=0);
    void Print_rem_time();
    void Print_time();
    int Get_hour()
    {
        return hour;
    }
    int Get_min()
    {
        return min;
    }
    int Get_sec()
    {
        return sec;
    }
    Budilnik operator +(const Budilnik & y) const;
    Budilnik operator -(const Budilnik & y) const;
    Budilnik operator +(const int & y) const;
    Budilnik operator -(const int & y) const;
    friend Budilnik operator +(const int x, const Budilnik & y);
    friend Budilnik operator -(const int x, const Budilnik & y);
};
void Budilnik::Set_time(int hour_g, int min_g, int sec_g)
{
    if((hour_g>23)||(hour_g<=0)) hour=0;
    else hour=hour_g;
    if((min_g>59)||(min_g<=0)) min=0;
    else min=min_g;
    if((sec_g>59)||(sec_g<=0)) sec=0;
    else sec=sec_g;
}
void Budilnik::Print_time()
{
    cout<<hour<<':'<<min<<':'<<sec;
}
void Budilnik::Print_rem_time() 
{
    time_t rem_t;
    struct tm * time_m;
    rem_t=time(NULL);
    time_m=localtime(&rem_t);
    int rem_hour, rem_min, rem_sec;
    if(time_m->tm_sec > sec) rem_sec=(60-time_m->tm_sec)+sec;
    else rem_sec=sec-time_m->tm_sec;
    if(time_m->tm_min > min) rem_min=(60-time_m->tm_min)+min;
    else rem_min=min-time_m->tm_min;
    if(time_m->tm_hour > hour) rem_hour=(23-time_m->tm_hour)+hour;
    else rem_hour=hour-time_m->tm_hour;
    cout<<rem_hour<<':'<<rem_min<<':'<<rem_sec;
}
int Time_sec(Budilnik x)
{
    int h_sec=x.Get_hour()*3600;
    int m_sec=x.Get_min()*60;
    int s_sec=x.Get_sec();
    return h_sec+m_sec+s_sec;
}
Budilnik Budilnik::operator +(const Budilnik & y) const
{
    Budilnik res;
    res.Set_time();
    if((sec+y.sec)>59)
    {
        res.min=(sec+y.sec)/60;
        res.sec=(sec+y.sec)%60;
    }
    else res.sec=sec+y.sec;
    if((min+y.min)>59)
    {
        res.hour=(min+y.min)/60;
        res.min=(min+y.min)%60;
    }
    else res.min=min+y.min;
    res.hour=res.hour+hour+y.hour;
    if(res.hour==24) res.hour=0;
    if((res.hour>24)&&(res.hour!=0)) res.hour=res.hour%24;
    return res;
}
Budilnik Budilnik::operator -(const Budilnik & y) const
{
    Budilnik res;
    res.Set_time();
    if((sec-y.sec)<0)
    {
        res.sec=60+sec-y.sec;
        res.min-=1;
    }
    else res.sec=sec-y.sec;
    if((min-y.min)<0)
    {
        res.min=60+min-y.min;
        res.hour-=1;
    }
    else res.min=min-y.min;
    if((hour-y.hour)<0) res.hour=24+hour-y.hour;
    else res.hour=hour-y.hour;
    return res;
}
Budilnik Budilnik::operator +(const int & y) const
{
    Budilnik res;
    res.Set_time();
    if(y>=60) 
    {
        res.sec=y%60;
        res.min=min+(y/60);
    }
    else 
    {
        res.sec=sec+y;
        if(res.sec>=60)
        {
            res.min=res.sec/60;
            res.sec=res.sec%60;
        }
    }
    if(res.sec>=60)
    {
        res.min=res.sec;
        res.sec=res.sec%60;
        res.min=min+(res.min/60);
    }
    if(res.min>=60)
    {
        res.hour=res.min;
        res.min=res.min%60;
        res.hour=hour+(res.hour/60);
    }
    return res;
}
Budilnik Budilnik::operator -(const int & y) const
{
    Budilnik res, z;
    res.Set_time();
    z.Set_time();
    z.sec=y%60;
    z.min=y/60;
    z.hour=y/3600;
    if((sec-z.sec)<0)
    {
        res.sec=60+sec-z.sec;
        res.min-=1;
    }
    else res.sec=sec-z.sec;
    if((min-z.min)<0)
    {
        res.min=60+min-z.min;
        res.hour-=1;
    }
    else res.min=min-z.min;
    if((hour-z.hour)<0) res.hour=24+hour-z.hour;
    else res.hour=hour-z.hour;
    return res;
}
bool operator ==(Budilnik const & y, Budilnik const & t)
{
    int y_y=Time_sec(y);
    int t_t=Time_sec(t);
    return (y_y==t_t);
}
bool operator !=(Budilnik const & y, Budilnik const & t)
{
    return !(y==t);
}
bool operator <(Budilnik const & y, Budilnik const & t)
{
    int y_y=Time_sec(y);
    int t_t=Time_sec(t);
    return (y_y<t_t);
}
bool operator >=(Budilnik const & y, Budilnik const & t)
{
    return !(y<t);
}
bool operator >(Budilnik const & y, Budilnik const & t)
{
    return t<y;
}
bool operator <=(Budilnik const & y, Budilnik const & t)
{
    return !(y>t);
}
Budilnik operator +(const int x, const Budilnik & y)
{
    Budilnik res;
    int z=Time_sec(y);
    z+=x; 
    res.sec=z%60;
    z=z-(z%60);
    res.min=(z%3600)/60;
    z=z-(z%3600);
    res.hour=z/3600;
    return res;
}
Budilnik operator -(const int x, const Budilnik & y)
{
    Budilnik res;
    int z=Time_sec(y);
    z=x-z; 
    res.sec=z%60;
    z=z-(z%60);
    res.min=(z%3600)/60;
    z=z-(z%3600);
    res.hour=z/3600;
    return res;
}
int main(void)
{
setlocale(LC_ALL,"Russian");
int h1,m1,s1,h2,m2,s2;
cout<<"введите значения a:";
cin>>h1>>m1>>s1;
cout<<"введите значения b:";
cin>>h2>>m2>>s2;
Budilnik a, b, c;
a.Set_time(h1,m1,s1);
b.Set_time(h2,m2,s2);
cout<<"a!=b : "<<(a!=b?"Истина":"Ложь")<<endl;  //неравно
cout<<"a<b : " <<(a<b? "Истина":"Ложь")<<endl;  //меньше
cout<<"a<=b : "<<(a<=b?"Истина":"Ложь")<<endl;  //меньше или равно
cout<<"a==b : "<<(a==b?"Истина":"Ложь")<<endl;  //равно
cout<<"a>b : " <<(a>b? "Истина":"Ложь")<<endl;  //больше 
cout<<"a>=b : "<<(a>=b?"Истина":"Ложь")<<endl;  //больше или равно
cout<<"a+b: ";              //c=a.operator+(b)
c=a+b;
c.Print_time();
cout<<endl<<"b-a: ";
c=b-a;              //c=b.operator-(a)
c.Print_time();
cout<<endl<<"a+4567: ";
c=a+4567;               // c=a.operator+(4567)
c.Print_time();
cout<<endl<<"b-36: ";
c=b-36;             //c= b.operator-(36) 
c.Print_time();
cout<<endl<<"c=18+a= ";
c=18+a;             // c=operator+(18,a)
c.Print_time();
cout<<endl<<"c=27000-a= ";
c=27000-a;          // c=operator-(27000,a)
c.Print_time();
cin.get();
cin.get();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:56. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru