С Новым годом! Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/40: Рейтинг темы: голосов - 40, средняя оценка - 4.88
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122

Перевод времени из 24-часового формата в 12-й

23.10.2015, 19:46. Показов 8008. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу и макрос, который переводит время из 24-часового представления в 12-часовое. Используйте структуру время, которая имеет поля час, минута, секунда.

Добавлено через 9 часов 40 минут
Тут скорее всего еще надо добавлять pm и am
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.10.2015, 19:46
Ответы с готовыми решениями:

Перевод времени из 24-часового формата в 12-й
Пользователь вводит время в формате 24-х часов, программа переводит в 12-х часов. Помогите допилить. int _tmain(int argc, _TCHAR*...

Перевод даты из 12-часового формата в 24-часовой
Добрый день! подскажите! может кто сталкивался с датами: как перевести дату 08.06.2017 02:25:51 PM(тип поля стоит datetime) в...

Перевод времени из десятичного формата в 64 битное
Необходимо в разных форматах вводить и отображать временные отметки. Вводить: 1) 64 битное число и переводить в десятичное. 2) десятичное...

6
 Аватар для ПерС
587 / 490 / 371
Регистрация: 05.11.2013
Сообщений: 1,271
Записей в блоге: 6
23.10.2015, 21:12
так?
C
1
2
3
4
5
6
7
8
#include<stdio.h>
 
int main () {
 struct time { int h,m,s; };
 time my = { 23, 59, 0 };
 printf ("\n%02d:%02d:%02d %s", my.h%12, my.m, my.s, (my.h<12?"am":"pm"));
 getchar(); return 0;
}
0
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122
23.10.2015, 21:17  [ТС]
Вряд ли. Надо же макрос сюда вставить. И скорее пользователь вводит время (это в мейне будет), а программа переводит его (макрос)
0
 Аватар для ПерС
587 / 490 / 371
Регистрация: 05.11.2013
Сообщений: 1,271
Записей в блоге: 6
23.10.2015, 21:20
сделай из принтфа макрос с параметрами, ввод с клавы тем более не проблема
0
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122
23.10.2015, 21:24  [ТС]
а как сам перевод сделать? чтобы если больше 60 секунд, то минута прибавлялась, или больше 60 минут - час. И скорее всего завернут с макросом из принтаэфа) надо макрос самого перевода
0
136 / 2 / 6
Регистрация: 04.07.2015
Сообщений: 122
24.10.2015, 22:56  [ТС]
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
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL, "rus");
 
    struct time
    {
        int hour;
        int minute;
        int second;
    }; 
    time t1;
    
 
    printf("Введите время:(через точку)\n");
    scanf("%d.%d.%d", &t1.hour, &t1.minute, &t1.second);
 
    if (t1.hour < 12)
    {
        printf("%d.%d.%d am", t1.hour, t1.minute, t1.second);
    }
    if (t1.hour>12)
    {
        printf("%d.%d.%d pm", (t1.hour-12), t1.minute, t1.second);
    }
 
 
    return 0;
}
Как допилить ее, чтоб работала? Неправильно пишет в scanf и соответственно не хочет переводить поэтому
0
 Аватар для ПерС
587 / 490 / 371
Регистрация: 05.11.2013
Сообщений: 1,271
Записей в блоге: 6
25.10.2015, 21:36
если больше 60 секунд, то минута прибавлялась
это уже не перевод, а что-то другое
про макрос имел в виду, что если есть один оператор, можно его и в #define загнать, но зачем
C++
1
2
3
4
5
6
7
8
9
10
11
#include<stdio.h>
#define PEREVOD(my,str) sprintf (str,"%02d:%02d:%02d %s", my.h%12, my.m, my.s, (my.h<12?"am":"pm"))
 
int main () {
 struct time { int h,m,s; };
 time my = { 23, 59, 0 };
 char str[80];
 PEREVOD(my,str);
 printf ("\n%s", str);
 getchar(); return 0;
}
или у тя макросы что-то другое?

про scanf хбз именно в scanf ошибки не вижу
а вот если час=12, показанный код ничего не напечатает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2015, 21:36
Помогаю со студенческими работами здесь

Перевод времени из формата 01:01:01 в общее количество секунд (3661)
при вводе числа в формате времени 01:01:01 в textbox, мне нужно получить количество секунд (3661) и записать в переменную int помогите...

Синхронизация времени и часового пояса
Добрый день. Подскажите как синхронизировать время всем пользователям программы с одним компьютером. Пробовал командой shell(&quot;net...

Перевод часового пояса
Привет, нашел в сети исходник, у меня на delphi 2010 пишет функция не определена, можно ли ее прикрутить по нажатию кнопки? procedure...

Отображение времени с вычетом часового пояса
Добра всем!!! Подскажите что не так с кодом. Задача на форме Есть 2 техтбокса и 1 сомбокс Код: Private Sub Timer1_Tick(sender As...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru