Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
75 / 22 / 12
Регистрация: 01.06.2019
Сообщений: 566
1

Функция перевода секунд в соответствующее количество часов, минут, секунд

13.08.2019, 18:08. Показов 3023. Ответов 5
Метки нет (Все метки)

Написать программу, в которой пользователь задаѐт количество секунд. Это значение передаѐтся в процедуру, которая переводит секунды в соответствующее количество часов, минут, секунд и выводит полученные значения на экран. Например, 7515 секунд - это 2 часа 5 минут 15 секунд.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.08.2019, 18:08
Ответы с готовыми решениями:

Работа с функцией. Дано количество часов, минут и секунд с начала суток. Вычислить общее количество секунд с начала суто
Дано количество часов, минут и секунд с начала суток. Вычислить общее количество секунд с начала...

Количество секунд в количество суток, часов, минут, секунд
Напишите программу, которая выдавала бы запрос на ввод количества секунд в виде целого значения (...

Определить количество месяцев, дней, часов, минут и секунд до запуска космического корабля на текущий момент времени
Всем доброго времени суток!!:) Прошу помощи с программой. Для клуба любителей авиации и...

Сделать так, чтобы на выходе показывало полное количество часов, остаток минут и потом остаток секунд
Помогите, пожалуйста, сделать так, чтобы на выходе показывало полное количество часов, остаток...

5
Продавец времени
5592 / 3057 / 706
Регистрация: 12.03.2015
Сообщений: 14,754
13.08.2019, 18:19 2
C++
1
2
3
Hr      = Sec / 3600;                     // Часы               
Min     = (Sec % 3600) / 60;              // Минуты в часе      
Sec     %= 60;                       // Секунды в минуте
0
бах-бах и в продакшен!
2979 / 1597 / 563
Регистрация: 23.09.2014
Сообщений: 4,930
Записей в блоге: 4
14.08.2019, 10:26 3
Rudman132,
Вариант-1
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
#include <iostream>
#include <cstring>
 
const char* hour_min_sec(int _s)
{   int m = _s / 60;
    int s = _s - m *60;
    int h =  m  / 60;
    m =  m  - h * 60 ;
    static char str_hms[64];
    str_hms[0] = 0;
    itoa(h, str_hms, 10);
    strcat(str_hms, ":");
 
    char    temp[16];
    itoa(m, temp, 10);
    strcat(str_hms, temp);
    strcat(str_hms, ":");
 
    itoa(s, temp, 10);
    strcat(str_hms, temp);
 
    return str_hms;
}
 
int main()
{   
    int sec;
    while(true)
    {   std::cout << "\n\nSeconds: ";
        std::cin >> sec;
        std::cout << hour_min_sec(sec);
    }
    
    std::cin.get();
    return 0;
}


Вариант-2
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
///----------------------------------------------------------------------------|
/// Функция перевода секунд в соответствующее количество часов, минут, секунд.
///----------------------------------------------------------------------------:
#include <iostream>
#include <string>
 
class cHour_min_sec
{
public:
    cHour_min_sec()
    {   sec = input_user("Input seconds: ", sec);
        trans();
        show();
    }
    
    int sec;
    int h, m , s;
    
    template<class T>
    T input_user(const char* promt, T& my)
    {   std::cout << promt << " ";
 
        while(!(std::cin>>my) || std::cin.get() != '\n')
        {   std::cout << "Incorrect input!\n\n";
            std::cout << promt << " ";
            std::cin.clear();
            std::cin.sync();
        }
        return my;
    }
 
    void show()
    {   std::cout << h << " : " << m << " : " << s << "\n\n";
    }
 
private:
    void trans()
    {   s = sec % 60;
        m = sec % 3600 / 60;
        h = sec / 3600;
    }
};
 
///----------------------------------------------------------------------------|
/// Старт.
///----------------------------------------------------------------------------:
int main()
{   while(true) cHour_min_sec clock;
    return 0;
}
2
75 / 22 / 12
Регистрация: 01.06.2019
Сообщений: 566
14.08.2019, 11:55  [ТС] 4
Как сделать это через функции?
0
6277 / 4261 / 2454
Регистрация: 18.12.2017
Сообщений: 13,286
14.08.2019, 13:09 5
Лучший ответ Сообщение было отмечено Rudman132 как решение

Решение

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
#include <iostream>
using namespace std;
 
void TransTime(int sec)
{   
    int h, m, s;
    h=sec/3600;
    m=sec/60%60;
    s=sec%60;
    if (h) cout << h << " hours ";
    if (m) cout << m << " minutes ";
    if (s) cout << s << " seconds";
    cout << "\n";
}
 
int main()
{   
    int sec;
    cout << "t="; cin >> sec;
    
    TransTime(sec);
    
system("pause");
return 0;
}
1
бах-бах и в продакшен!
2979 / 1597 / 563
Регистрация: 23.09.2014
Сообщений: 4,930
Записей в блоге: 4
14.08.2019, 14:43 6
Цитата Сообщение от Rudman132 Посмотреть сообщение
Как сделать это через функции?
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
///----------------------------------------------------------------------------|
/// Функция перевода секунд в соответствующее количество часов, минут, секунд.
///----------------------------------------------------------------------------:
#include <iostream>
 
template<class T>
T input_user(const char* promt)
{   std::cout << promt << " ";
    static T my;
    while(!(std::cin>>my) || std::cin.get() != '\n')
    {   std::cout << "Incorrect input!\n\n";
        std::cout << promt << " ";
        std::cin.clear();
        std::cin.sync();
    }
    return my;
}
 
void trans(int sec)
{   int s = sec % 60;
    int m = sec % 3600 / 60;
    int h = sec / 3600;
    std::cout << h << " : " << m << " : " << s << "\n\n";
}
 
///----------------------------------------------------------------------------|
/// Старт.
///----------------------------------------------------------------------------:
int main()
{   while(true) trans(input_user<int>("Input seconds: "));
    return 0;
}
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.08.2019, 14:43

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Посчитать, сколько часов, минут и секунд осталось до полуночи.
Условие задачи: Пользователь вводит с клавиатуры время в секундах, прошедшее с начала дня. Вывести...

Сколько человек прожил месяцев, дней, часов, минут, секунд?
Написать программу, которая по введённому возрасту в годах (например, 18.5 лет) выводит сколько...

Какое время будут показывать часы через р часов q минут r секунд?
Текущее показание электронных часов: h часов (0 ≤ h ≤ 23) m минут (0 ≤ m ≤ 59) s...

Надо чтобы пользователь вводил время только в секундах,вместо часов,минут и секунд
Надо чтобы пользователь вводил время только в секундах,вместо часов,минут и секунд,заранее спасибо...


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

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

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