|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
||||||
Перевод часов в минуты14.09.2015, 21:28. Показов 6711. Ответов 20
Метки нет (Все метки)
Здравствуйте. Привожу само задание.
Написать программу, производящую перевод часов и минут в минуты. Входные данные вводятся в виде числа с плавающей точкой, где целая часть – количество часов, а дробная – количество минут. Ниже приведен рекомендуемый вид экрана. Введите время (чч.мм) : 12.45 12 часов 45 минут это 765 минут Сам работающий код у меня есть, но еще необходимо сделать проверку введенных данных. Тоесть если вводишь символ, то программа должна "ругаться на него" и предложить ввести данные еще раз.
0
|
||||||
| 14.09.2015, 21:28 | |
|
Ответы с готовыми решениями:
20
Перевод часов в минуты Перевод часов в минуты и секунды
|
|
193 / 100 / 131
Регистрация: 23.06.2015
Сообщений: 249
|
||||||
| 16.09.2015, 11:00 | ||||||
1
|
||||||
|
1 / 1 / 2
Регистрация: 19.07.2013
Сообщений: 36
|
||
| 16.09.2015, 13:43 | ||
|
0
|
||
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
|
| 16.09.2015, 17:40 [ТС] | |
|
спасибо, вот только не очень понятно "if(q != 2)" , почему именно так?
0
|
|
|
193 / 100 / 131
Регистрация: 23.06.2015
Сообщений: 249
|
|
| 16.09.2015, 17:55 | |
|
0
|
|
|
|
||||||
| 16.09.2015, 18:31 | ||||||
|
Прошу тех, кто недолюбливает goto не судить строго. Код проверяет:
1) диапазон вводимых чисел; 2) формат ввода; 3) можно ввести только числа или запятую. Правда не избавился от повторного вывода предупреждения, может кто подскажет лучший вариант.
0
|
||||||
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
|
| 16.09.2015, 18:32 [ТС] | |
|
еще бы хотелось увидеть вариант как раз без goto
0
|
|
|
|
|||||||
| 17.09.2015, 11:52 | |||||||
|
Добавлено через 8 минут Если в языке есть такой оператор, то почему его нельзя использовать, тем более. что в книге Кернигана и Ритчи рекомендуется его умеренное использование. Добавлено через 1 час 28 минут С 26 строки у меня вылазит баг. Короче говоря, что касается проверки работает, а насчёт перевода в минуты, потом допилю... Добавлено через 15 часов 9 минут Вот, допилил ![]()
Добавлю, что если у кого функция _clrscr(); не работает, то нужно исключить знак _ из имени функции: clrscr(); Я писал в Pelle поэтому так.
1
|
|||||||
|
8 / 8 / 2
Регистрация: 23.12.2013
Сообщений: 101
|
|
| 17.09.2015, 12:41 | |
|
0
|
|
|
|
||
| 17.09.2015, 13:40 | ||
|
Да, и кстати строку 28(проверяет диапазон) тоже надо обработать, так как там тоже goto. Но это по желанию, конечно.
0
|
||
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
||||||
| 17.09.2015, 21:19 [ТС] | ||||||
|
Всем спасибо за ответы еще раз. Сейчас ради интереса на нашем форуме нашел
"После того как вводите вставьте например конструкцию вида if(isdigit(x)) - если число if(!isdigit(x)) - если НЕ число" но почему-то не могу заставить работать в моем коде. вываливается со следующей ошибкой: "Program: ....exe File: f:\dd\vctools\crt_bld\self_x86\crt\src\i sctype.c Line: 56 Expression: c >= -1 && c <= 255 For information on how your program can cause an assertion failure, see the Visual C++ documentation on asserts. (Press Retry to debug the application)" а вот и мой код:
0
|
||||||
|
|
||
| 17.09.2015, 21:58 | ||
|
Во вторых, эта функция принимает тип int, а переменная time имеет тип float.
0
|
||
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
||||||
| 01.10.2015, 18:53 [ТС] | ||||||
|
имеется очередной вопрос.
0
|
||||||
|
|
|
| 02.10.2015, 13:48 | |
|
0
|
|
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
|
| 02.10.2015, 15:27 [ТС] | |
|
хотелось бы сделать так, что в случае ввода данных не по формату, программа предупредила об этом. тоесть вводим, например, 23.700, программа предупреждает что формат не правильный.
0
|
|
|
|
||
| 02.10.2015, 15:47 | ||
|
У тебя код не проверяет максимум минут или часов, а только проверяет само дробное число, что не есть правильно, я думаю. Трудно сделать проверку чисто на преобразованиях дробного числа. Особенно преобразование дробной части, когда не знаешь, какой длины оно будет при вводе. Короче говоря - большой геморр. Не проще ли вводить цифры минут и часов в виде строки, а потом её тупо парсить? Затем перевод в double и вычисление количества минут.
0
|
||
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
||||||
| 02.10.2015, 19:16 [ТС] | ||||||
|
так ведь char в double нельзя перевести.
Добавлено через 36 минут так, сейчас имею
хотя, например, можно ввести 1.235
0
|
||||||
|
|
|
| 03.10.2015, 15:00 | |
|
1
|
|
|
11 / 11 / 0
Регистрация: 20.11.2012
Сообщений: 150
|
||||||
| 03.10.2015, 15:29 [ТС] | ||||||
|
с этим вроде разобрался. только я начал делать наоборот. я хочу сначала перевести в char, посчитать количество символов у целого числа и его дробной части и дальше уже использовать операторы условия.
для вычисления длины строки я использую strlen, вот только он нули не считает. поэтому если ввести 0001.22, то программа начнет выполняться.
0
|
||||||
|
|
|||||||||||||||||
| 03.10.2015, 16:17 | |||||||||||||||||
|
Вот код(до вычисления количества минут), который может принимать либо запятую, либо точку, и не позволяет вводить вне формата чч.мм. То есть нельзя ввести 3.45, а нужно 03.45, нельзя ввести 03.4, а правильно 03.04. Невозможно так: 03.333 и т.д.
Добавлено через 16 минут Да, и ещё одно уточнение. 9 строчку
1
|
|||||||||||||||||
| 03.10.2015, 16:17 | |
|
Помогаю со студенческими работами здесь
20
Перевести время: из дней в часы, из часов в минуты, из минут в секунды
Перевод величин из радиан в градусы, минуты, секунды
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 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. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|