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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.68
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
#1

Операции со временем - C++

18.11.2010, 10:14. Просмотров 2903. Ответов 11
Метки нет (Все метки)

Здравствуйте. Прошу помочь в решении задачи:

Время задается в формате час.минута.секунда. Реализовать следующие операции (учесть переход через 24 часа):
- Сложение времени и определенного пользователем количества секунд (операция +);
- Вычитание из времени определенного пользователем количества секунд (операция-);
- Вычисление числа секунд, прошедших между двумя моментами времени (операция %);
- Вычитание из одного момента времени другого.

Попытался сделать два действия, но и они не доработаны до конца.
Не получается вставить код в поле для формул. Просто в сообщение вставлю.

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
#include<iostream.h>
 
class vremya
{
public:
    int vvod();
   int vivod();
    vremya();
   vremya(const vremya&);
   ~vremya();
   friend vremya operator%(const vremya&,const vremya&);
   friend vremya operator-(const vremya&,const vremya&);
   friend ostream& operator<<(ostream&,const vremya&);
   friend istream& operator>>(istream&,const vremya&);
    int *A;
   int n,m,g;
};
//Конструктор без параметров
vremya::vremya()
{
    n=m=g=4;
};
//Конструктор копирования
vremya::vremya(const vremya &t)
{
    n=t.n;
    m=t.m;
    g=t.g;
};
//Деструктор
vremya::~vremya()
{
};
 
//Перегрузка операции %
vremya operator%(const vremya &t1,const vremya &t2)
{
 
    vremya c;
   int d;
    c.n= t1.n;
         c.g=t2.g-t1.g;
 
         c.m=t2.m-t1.m;
         if(t2.m<t1.m)
            {c.g=c.g-1;c.m=c.m+60;}
 
         c.n=t2.n-t1.n;
          if(t2.n<t1.n)
            {c.m=c.m-1;c.n=c.n+60;}
    if(c.n>60)
        {c.n=c.n-60; c.m=c.m+1;}
      if(c.m>60)
        {c.m=c.m-60;  c.m=c.m+1;}
      d=c.n*3600+c.m*60+c.g*1;
      cout<<"Количество секунд между двумя моментами времени: " <<d<<endl;
   return c;
};
 
//Перегрузка операции -
vremya operator-(const vremya &t1,const vremya &t2)
{
 
    vremya c;
   int d;
      c.n= t2.n-t1.n;
     c.m=t2.m-t1.m;
     c.g=t2.g-t1.g;
 
 
     if(t2.m>t1.m)
        {c.m=60+t1.m-t2.m; c.n=c.n-1;}
 
         if(t2.g>t1.g)
            {c.g=60+t1.g-t2.g; c.m=c.m-1;}
 
 
      cout<<"Вычитание из первого момента времени второго: "<<endl;
      cout<<c.n<<":"<<c.m<<":"<<c.g<<endl;
   return c;
};
 
 
//Перегрузка операции <<
ostream& operator<<(ostream &os,const vremya&t)
{
    os<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return os;
};
//Перегрузка операции >>
istream& operator>>(istream&is,vremya &t)
{
    cout<<"Введите часы"<<endl;
    is>>t.n;
   cout<<"Введите минуты"<<endl;
    is>>t.m;
   cout<<"Введите секунды"<<endl;
      is>>t.g;
    if(t.n>24)
        {t.n=t.n-24;
        t.m=t.m+1;}
    if(t.m>60)
        t.m=t.m+1;
    cout<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return is;
 
};
//Главная программа
void main()
{
   vremya a,b,m;
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a%b;
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a-b;
 
   };
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2010, 10:14
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Операции со временем (C++):

Операции со временем - C++
Здравствуйте, хотел бы узнать на счет времени и операций с ними. Есть задание, часть которого связана со временем, а именно: необходимо...

Перегрузить операции сравнения комплексных чисел и операции потокового вывода - C++
Создать класс комплексное число. Перегрузить операции сравнения комплексных чисел! =, ==,&gt;, &lt;,&gt; =, &lt;= И операции потокового ввода-вывода. ...

Заменить операции ifstream на операции fprintf - C++
Собственно как и написано в заголовке заменить операции ifstream на fprintf со всеми вытекающими(типо getline) необходимо мне. Помогите...

Битовые операции и операции смещения языка С - C++
Доброго времени суток господа,помогите пожалуйста.Есть 2 кода к задаче,первый работает верно(переводит обычные числа в 16-ти ричные),а...

Записать логические выражения, используя условные операторы, операции отношений и логические операции - C++
Записать логические выражения, используя условные операторы, операции отношений и логические операции алгоритмического языка ...

Работа со временем - C++
Мне нужно заходить в if через каждые 10 миллисекунд я пытался через time(NULL) брать 2 переменные и считать их разницу но компилятор на...

11
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
20.11.2010, 19:33  [ТС] #2
3-е дествие еще попытался сделать... В комментарии его поместил. Всё равно до конца что-то не могу додумать.

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
#include<iostream.h>
 
class vremya
{
public:
    int vvod();
   int vivod();
    vremya();
   vremya(const vremya&);
   ~vremya();
   friend vremya operator%(const vremya&,const vremya&);
   friend vremya operator-(const vremya&,const vremya&);
   friend ostream& operator<<(ostream&,const vremya&);
   friend istream& operator>>(istream&,const vremya&);
    int *A;
   int n,m,g/*,k*/;
};
//Конструктор без параметров
vremya::vremya()
{
    n=m=g=/*k=*/4;
};
//Конструктор копирования
vremya::vremya(const vremya &t)
{
    n=t.n;
    m=t.m;
    g=t.g;
   };
//Деструктор
vremya::~vremya()
{
};
 
//Перегрузка операции %
vremya operator%(const vremya &t1,const vremya &t2)
{
    vremya c;
   int d;
    c.n= t1.n;
         c.g=t2.g-t1.g;
         c.m=t2.m-t1.m;
         if(t2.m<t1.m)
            {c.g=c.g-1;c.m=c.m+60;}
         c.n=t2.n-t1.n;
          if(t2.n<t1.n)
            {c.m=c.m-1;c.n=c.n+60;}
    if(c.n>60)
        {c.n=c.n-60; c.m=c.m+1;}
      if(c.m>60)
        {c.m=c.m-60;  c.m=c.m+1;}
      d=c.n*3600+c.m*60+c.g*1;
      cout<<"Количество секунд между двумя моментами времени: " <<d<<endl;
   return c;
};
 
//Перегрузка операции /
vremya operator/(const vremya &t1,const vremya &t2)
{
    vremya c;
      c.n=t1.n-t2.n;
     c.m=t1.m-t2.m;
     c.g=t1.g-t2.g;
     if(t2.m>t1.m)
        {c.m=60+t1.m-t2.m; c.n=c.n-1;}
         if(t2.g>t1.g)
            {c.g=60+t1.g-t2.g; c.m=c.m-1;}
     c.g=60-c.g;
     c.m=60-c.m;
     c.n=24-c.n;
     if (c.g<0) {c.g=60+(60-c.g); c.m=c.m-1;}
     if (c.m<0) {c.m=60+(60-c.m); c.n=c.n-1;}
 
     cout<<"Разница:"<<endl;
     cout<<c.n<<":"<<c.m<<":"<<c.g<<endl;
   return c;
};
 
 
//Перегрузка операции <<
ostream& operator<<(ostream &os,const vremya&t)
{
    os<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return os;
};
//Перегрузка операции >>
istream& operator>>(istream&is,vremya &t)
{
    cout<<"Введите часы"<<endl;
    is>>t.n;
   cout<<"Введите минуты"<<endl;
    is>>t.m;
   cout<<"Введите секунды"<<endl;
      is>>t.g;
    if(t.n>24)
        {t.n=t.n-24;
        t.m=t.m+1;}
    if(t.m>60)
        t.m=t.m+1;
    cout<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return is;
};
 
//Перегрузка операции +
/*vremya operator+(const vremya &t1, int vremya &k1)
{
   vremya c;
    cout<<"Введите количество секунд, которое хотите прибавить к моменту времени"<<endl;
   cin>>k;
   c.n=t1.n;
   c.m=t1.m;
   c.g=t1.g;
   c.k=t1.k
   while (t1.k/60>=1)
   { t1.kk=t1.k-60;
     t1.m==t1.m+1;
     if (t1.m>=60) {t1.n==t1.n+1; t1.m==t1.m-60;}
     if (t1.n>=24) t1.n==t1.n-24;}
     t1.g==t1.g+t1.k;
     if (t1.g>=1) {t1.g==t1.g-60; t1.m==t1.m+1;}
     cout<<t1.n<<":"<<t1.m<<":"<<t1.g<<endl;
   return c;
};*/
 
//Главная программа
void main()
{
   vremya a,b,m;
   cout<<"Вычисление числа секунд между двумя моментами времени (первый момент времени должен быть меньше второго"<<endl;
   cout<<"Ввод первого момента времени:"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени:"<<endl;
   cin >> b;
   m=a%b;
   cout<<"Вычитание из первого момента времени второго: "<<endl;
   cout<<"Ввод первого момента времени:"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени:"<<endl;
   cin >> b;
   m=a/b;
   //cout<<"Ввод момента времени:"<<endl;
   //cin >> a;
   //m=a+k;
   };
0
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,471
20.11.2010, 21:17 #3
Как 2 разных человека писали коды. Второй код чё-то я не пойму, что это за переменные?
C++
1
t1.kk=t1.k
Компилятор СРАЗУ же напишет, что не может распознать ни t1.kk ни t1.k
И действительно, посмотри определение класса- там нет таких членов.

Далее вместо этого:
vremya operator+(const vremya &t1, long int vremya &k1)

Я написал бы:
vremya operator+(const vremya &t1, long int &k1)

ПОсуди сам, втрой параметр- просто количество секунд. ТО есть просто переменная int
Всё!

Ну вот и всё. САма функция operator+ для тебя не оставила бы трудностей, но
на всякий случай я её реализовал:





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
#include<windows.h>
#include<iostream>
using namespace std;
 
class vremya
{
public:
        int vvod();
   int vivod();
        vremya();
   vremya(const vremya&);
   ~vremya();
   friend vremya operator%(const vremya&,const vremya&);
   friend vremya operator-(const vremya&,const vremya&);
   friend ostream& operator<<(ostream&,const vremya&);
   friend istream& operator>>(istream&,const vremya&);
   friend vremya operator+(const vremya&,long int&);
        int *A;
   int n,m,g;
};
//Конструктор без параметров
vremya::vremya()
{
        n=m=g=4;
};
 
//Конструктор копирования
vremya::vremya(const vremya &t)
{
        n=t.n;
        m=t.m;
        g=t.g;
};
 
//Деструктор
vremya::~vremya()
{
};
 
//Перегрузка операции %
vremya operator%(const vremya &t1,const vremya &t2)
{
 
        vremya c;
   int d;
        c.n= t1.n;
         c.g=t2.g-t1.g;
 
         c.m=t2.m-t1.m;
         if(t2.m<t1.m)
                {c.g=c.g-1;c.m=c.m+60;}
 
         c.n=t2.n-t1.n;
          if(t2.n<t1.n)
                {c.m=c.m-1;c.n=c.n+60;}
        if(c.n>60)
        {c.n=c.n-60; c.m=c.m+1;}
      if(c.m>60)
        {c.m=c.m-60;  c.m=c.m+1;}
      d=c.n*3600+c.m*60+c.g*1;
      cout<<"Количество секунд между двумя моментами времени: " <<d<<endl;
   return c;
};
 
//Перегрузка операции -
vremya operator-(const vremya &t1,const vremya &t2)
{
 
        vremya c;
   int d;
          c.n= t2.n-t1.n;
     c.m=t2.m-t1.m;
     c.g=t2.g-t1.g;
 
 
     if(t2.m>t1.m)
        {c.m=60+t1.m-t2.m; c.n=c.n-1;}
 
         if(t2.g>t1.g)
                {c.g=60+t1.g-t2.g; c.m=c.m-1;}
 
 
      cout<<"Вычитание из первого момента времени второго: "<<endl;
      cout<<c.n<<":"<<c.m<<":"<<c.g<<endl;
   return c;
};
 
 
//Перегрузка операции <<
ostream& operator<<(ostream &os,const vremya&t)
{
        os<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return os;
};
//Перегрузка операции >>
istream& operator>>(istream&is,vremya &t)
{
        cout<<"Введите часы"<<endl;
        is>>t.n;
   cout<<"Введите минуты"<<endl;
        is>>t.m;
   cout<<"Введите секунды"<<endl;
      is>>t.g;
        if(t.n>24)
                {t.n=t.n-24;
        t.m=t.m+1;}
        if(t.m>60)
                t.m=t.m+1;
        cout<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return is;
 
};
 
//Перегрузка операции +
vremya operator+(const vremya &t1, long int  &k)
{
   vremya c;
  //ПРосто представим переменную t1 в виде большого-большого количества секунд
  long int temp= t1.n* 3600+ t1.m* 60+ t1.g;
 
 
  //Теперь сложим имеющееся время и прибавляемое
  temp+= k;
  
  //А теперь просто переведём temp (большое-большое количество секунд) в часы, минуты и секунда
  c.n= ((temp/3600)%24); //Это вот столько часов
 
  //Теперь по минутам
  c.m= temp%3600/60;
  
  //И по секундам
  c.g= temp%60;
 
  cout<<c.n<<" "<<c.m<<" "<<c.g<<endl;
  return c;
};
 
 
 
 
 
//Главная программа
int main()
{
SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
   vremya a,b,m;
   long int k;
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a%b;
 
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a-b;
 
   cout<<"Ввод момента времени"<<endl;
   cin >> a;
   cout<<"Введите количество секунд, которое хотите прибавить к моменту времени"<<endl;
   cin >> k;
   m=a+ k;
   system ("pause"); 
};
1
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
21.11.2010, 16:03  [ТС] #4
Спасибо большое. Но вот ошибки выскакивают. И можно еще пояснить, что за библиотека windows.h, зачем она тут? И что за строка "using namespace std"?
0
Миниатюры
Операции со временем  
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,471
21.11.2010, 17:15 #5
Ошибки надо пытаться исправлять.
Я бы на твоём месте ПОПЫТАЛСЯ закомментить

C++
1
2
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
и посмотрел бы, что получилось (в твоём коде их ведь нет, так ведь?) Ну, а нужны они для того, чтобы была нормальная работа с русским языком. ДЛя этого, кстати и подключается windows.h
Но это при работе с моим компилятором в моей среде. А у тебя можно обойтись и без них, раз уж до сих пор обходился. Но попытаться надо было их убрать всё же.

C++
1
using namespace std
эта строка подключает так называемое пространство имён std
К этим именам относятся, в частности cout. Без такой строки этот самый cout был бы прогой не опознан. В твоей среде похоже это пространство имён подключается АВТОМАТИЧЕСКИ.

Иногда вместо такого подключения пишут std::cout перед каждым вхождением имени (std::cin и так далее)

Что такое
C++
1
system ("pause");
и для чего оно нужно и как с ним бороться, если твой компилятор ругается на него, думаю, разберёшься сам. Пиши.
1
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
22.11.2010, 19:31  [ТС] #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
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
//#include<windows.h>
#include<iostream>
//using namespace std;
 
class vremya
{
public:
        int vvod();
   int vivod();
        vremya();
   vremya(const vremya&);
   ~vremya();
   friend vremya operator%(const vremya&,const vremya&);
   friend vremya operator-(const vremya&,const vremya&);
   friend ostream& operator<<(ostream&,const vremya&);
   friend istream& operator>>(istream&,const vremya&);
   friend vremya operator+(const vremya&,long int&);
        int *A;
   int n,m,g;
};
//Конструктор без параметров
vremya::vremya()
{
        n=m=g=4;
};
 
//Конструктор копирования
vremya::vremya(const vremya &t)
{
        n=t.n;
        m=t.m;
        g=t.g;
};
 
//Деструктор
vremya::~vremya()
{
};
 
//Перегрузка операции %
vremya operator%(const vremya &t1,const vremya &t2)
{
 
        vremya c;
   int d;
        c.n= t1.n;
         c.g=t2.g-t1.g;
 
         c.m=t2.m-t1.m;
         if(t2.m<t1.m)
                {c.g=c.g-1;c.m=c.m+60;}
 
         c.n=t2.n-t1.n;
          if(t2.n<t1.n)
                {c.m=c.m-1;c.n=c.n+60;}
        if(c.n>60)
        {c.n=c.n-60; c.m=c.m+1;}
      if(c.m>60)
        {c.m=c.m-60;  c.m=c.m+1;}
      d=c.n*3600+c.m*60+c.g*1;
      cout<<"Количество секунд между двумя моментами времени: " <<d<<endl;
   return c;
};
 
//Перегрузка операции -
vremya operator-(const vremya &t1,const vremya &t2)
{
 
        vremya c;
   int d;
     c.n= t1.n-t2.n;
     c.m=t1.m-t2.m;
     c.g=t1.g-t2.g;
 
 
     if(t2.m>t1.m)
        {c.m=60+t1.m-t2.m; c.n=c.n-1;}
 
         if(t2.g>t1.g)
                {c.g=60+t1.g-t2.g; c.m=c.m-1;}
 
 
      cout<<"Вычитание из первого момента времени второго: "<<endl;
      cout<<c.n<<":"<<c.m<<":"<<c.g<<endl;
   return c;
};
 
 
//Перегрузка операции <<
ostream& operator<<(ostream &os,const vremya&t)
{
        os<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return os;
};
//Перегрузка операции >>
istream& operator>>(istream&is,vremya &t)
{
        cout<<"Введите часы"<<endl;
        is>>t.n;
   cout<<"Введите минуты"<<endl;
        is>>t.m;
   cout<<"Введите секунды"<<endl;
      is>>t.g;
        if(t.n>24)
                {t.n=t.n-24;
        t.m=t.m+1;}
        if(t.m>60)
                t.m=t.m+1;
        cout<<t.n<<":"<<t.m<<":"<<t.g<<endl;
   return is;
 
};
 
//Перегрузка операции +
vremya operator+(const vremya &t1, long int  &k)
{
   vremya c;
  //ПРосто представим переменную t1 в виде большого-большого количества секунд
  long int temp= t1.n* 3600+ t1.m* 60+ t1.g;
 
 
  //Теперь сложим имеющееся время и прибавляемое
  temp+= k;
  
  //А теперь просто переведём temp (большое-большое количество секунд) в часы, минуты и секунда
  c.n= ((temp/3600)%24); //Это вот столько часов
 
  //Теперь по минутам
  c.m= temp%3600/60;
  
  //И по секундам
  c.g= temp%60;
 
  cout<<c.n<<" "<<c.m<<" "<<c.g<<endl;
  return c;
};
 
 
 
 
 
//Главная программа
int main()
{
//SetConsoleCP(1251);
//SetConsoleOutputCP(1251);
   vremya a,b,m;
   long int k,w;
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a%b;
 
   cout<<"Ввод первого момента времени"<<endl;
   cin >> a;
   cout<<"Ввод второго момента времени"<<endl;
   cin >> b;
   m=a-b;
 
   cout<<"Ввод момента времени"<<endl;
   cin >> a;
   cout<<"Введите количество секунд, которое хотите прибавить к моменту времени"<<endl;
   cin >> k;
   m=a+ k;
//   system ("pause");
   cin >> w; 
};
Ну и вот результат.
0
Миниатюры
Операции со временем  
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,471
22.11.2010, 19:53 #7
так-то нехорошо, что ты отлаживать не умеешь.

Выполни только третье задание, выведи на экран temp после прибавления к нему k
1
Миниатюры
Операции со временем  
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
22.11.2010, 23:14  [ТС] #8
А вот еще строку "temp+= k" не очень понял. Тут всё нормально? Смущает "+=". Не встречался еще с таким.
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
22.11.2010, 23:19 #9
temp+= k
равносильно

C
1
temp= temp+k;
1
kravam
быдлокодер
1696 / 883 / 45
Регистрация: 04.06.2008
Сообщений: 5,471
22.11.2010, 23:21 #10
temp+= k это temp=temp+ k

Давай уже данные по temp, что ли
1
LiverpoolMan
1 / 1 / 0
Регистрация: 17.11.2010
Сообщений: 14
23.11.2010, 11:11  [ТС] #11
kravam, всё сделал. Короче у меня temp отрицательным получался, из-за этого и время становилось неверным. Если время и секунды ввести поменьше, то всё нормально считалось. Приняли у меня эту работу, сказали мол это из-за того, что сильно большие числа получаются при переводе в секунды. В общем как-то так. И в двух своих первых функциях я сделал всё гораздо проще. Сначала переводил в секунды, а потом проводил операцию. Пока у тебя не увидел этого, пытался что-то там изобретать) Всё считает теперь хорошо. Ну и вычитание аналогично сделал. Спасибо огромное.
MILAN, и тебе спасибо
0
German
Сообщений: n/a
18.04.2012, 08:46 #12
LiverpoolMan,
можешь кинуть код завершенной программы?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2012, 08:46
Привет! Вот еще темы с ответами:

Работа с временем - C++
Как подсчитать сумму времени? тоесть что бы не считало просто числа,а именно время часы:минуты с разделителем &quot;:&quot;

Помогите с временем - C++
Использую функцию strftime/ для получения частей времени. Пытаюсь сделать это отдельной функцией и вывести, но почему-то не получается......

Работа с временем - C++
Здравствуйте! Помогите пожалуйста с идеями. Надо написать программку которая будет напоминать о ранее записанных действиях. Как я...

Работа с временем - C++
Доброе время суток! Допустим у я хочу ввести время начала, и время конца разговора. Нужно вывести длительность разговора. ну то что отнять...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
18.04.2012, 08:46
Ответ Создать тему
Опции темы

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