|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
03.11.2012, 23:10 | #1 |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
Такая вот проблемка
Всем привет. Я новичёк и совсем недавно взялся за самостоятельное изучение с++. Начал читать книгу Стивена Прата и параллельно выполнять упражнения по программированию из неё.
На четвертой задаче из 3 главы встал в тупик. Задача следующая: Напишите программу, которая запрашивает количество секунд в виде целого значения (используйте тип long или long long, если последний доступен) и затем отображает эквивалентное значение в сутках, часах, минутах и секундах. Для представления количества часов в сутках, количества минут в часе и количества секунд в минуте используйте символические константы. Результат выполнения программы должен выглядеть следующим образом: Enter the number of seconds: 31600000 31600000 seconds = 365 days, 17 hours, 46 minutes, 40 seconds Вот мой недоделанный код: Код:
Подскажите как можно выполнить задание, чтобы еще и код выглядел простенько и был легко читаемым, а то я на эту задачу всю субботу убил - ну не допру и всё тут И еще подскажите каких-нибудь сборников с не очень сложными задачками для новичков, для закрепления материала. Буду очень признателен |
04.11.2012, 07:40 | #2 |
Пользователь
Регистрация: 27.06.2012
Сообщений: 38
|
Код:
Мой вам совет - почаще используйте константы. Удачи . |
04.11.2012, 08:13 | #3 | |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
Цитата:
Дело в том, что есть одно НО! И это НО затаилось в условии задачи , а именно: Для представления количества часов в сутках (т.е. 24 часа в сутках), количества минут в часе (т.е. 60 минут в часе) и количества секунд в минуте (т.е. 60 секунд в минуте) используйте символические константы. Т.е. константы обязательно должны быть в таком виде: Код:
Код:
Но на весы всё-равно нажал, за старания Последний раз редактировалось Suby; 04.11.2012 в 08:19. |
|
04.11.2012, 12:46 | #4 |
Пользователь
Регистрация: 01.11.2012
Сообщений: 15
|
Вот так примерно должна выглядить ваша программа.
Код:
Что же касается сборников заданий, то нашёл один сборник хороший, заданий очень много и довольно много сложных заданий(они интереснее) и большинство вполне реализуемых новичками. И сам по нему сейчас занимаюсь, я же тоже на процессе обучения только ) Ссылка: http://teacher.ucoz.net/Lection/C/zadaniya.pdf Откроется пдфшник. Успехов в освоении с++ )
С++ - сила
Последний раз редактировалось Rait-spider; 04.11.2012 в 13:06. |
04.11.2012, 12:52 | #5 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Пожалуй, решается это так:
Код:
P.S. Ну и заодно, раз уж вы еще только изучаете язык, несколько советов на примере вышеприведенных кодов. 1. Писать long long int (так же как long int, short int, signed int, unsigned int, short unsigned int и т.п.) не обязательно - если указан один или два из таких модификаторов типа, то считается, что это именно int. 2. Поскольку мы пишем на плюсах, а не на Си, то и константы следует использовать плюсовские - через const, а не макросы. Навскидку не вспомню все минусы дефайнов, но упомяну хотя бы то, что такие "константы" (а вернее - всего лишь макроопределения) не имеют типов, что может в некоторых случаях стать источником проблем. Не говоря уже об общих проблемах макросов - попробуйте только забыть скобки в выражении типа Код:
3. Код:
Код:
Код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же Последний раз редактировалось Гром; 04.11.2012 в 13:15. |
04.11.2012, 13:02 | #6 |
Пользователь
Регистрация: 01.11.2012
Сообщений: 15
|
кстати, проверил ради интереса только что. С некоторыми значениями работает правильно, но с другими неправильно. Например, на тестовые данные 31600000 секунд выдаёт - 8777 дней,17 часов, 46 минут и 40 секунд. Не может столько дней быть да и по тестовым данным можно увидеть, что будет всего 365 дней.
С++ - сила
|
04.11.2012, 13:18 | #7 |
Пользователь
Регистрация: 01.11.2012
Сообщений: 15
|
спасибо за ваши замечания ) учту их обязательно )
С++ - сила
|
04.11.2012, 13:19 | #8 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Ну да, я забыл поделить на число часов в сутках. Нужно добавить строку
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
04.11.2012, 16:04 | #9 | |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
Вечерком проверю эту задачу в действии. Спасибо всем откликнувшимся!
Цитата:
Кстати, getchar кросплатформенная? И какая библиотека её задействует? А то я слышал звон, да не знаю где он Последний раз редактировалось Suby; 04.11.2012 в 16:06. |
|
04.11.2012, 16:18 | #10 |
Пользователь
Регистрация: 03.11.2012
Сообщений: 89
|
Finaly!!!
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В C++ вот такая вот тема | Estoque_DS | Помощь студентам | 2 | 29.05.2012 18:18 |
Вот такая вот задача, C++ | aztec | Помощь студентам | 2 | 10.06.2009 17:27 |
Вот такая задача...) | Gen* | Помощь студентам | 3 | 20.04.2009 19:14 |