Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2011, 13:17   #1
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию Режим времени

Здравствуйте! Подскажите по задаче, что можно еще дописать по коду, как бы понял и написал код для задачи,(но не совсем понял суть задачи) нужно ли использовать оператор if, else или switch?

Задание:
На некотором предприятии инженер Петров создал устройство, на табло которого показывается количество секунд, оставшихся до конца рабочего дня. Когда рабочий день начинается ровно в 9 часов утра — табло отображает «28800» (т.е. остаётся 8 часов), когда времени 14:30 — на табло «9000» (т.е. остаётся два с половиной часа), а когда наступает 17 часов — на табло отображается «0» (т.е. рабочий день закончился).

Программист Иванов заметил, как страдают офисные сотрудницы — им неудобно оценивать остаток рабочего дня в секундах. Иванов вызвался помочь сотрудницам и написать программу, которая вместо секунд будет выводить на табло понятные фразы с информацией о том, сколько полных часов осталось до конца рабочего дня. Например: «осталось 7 часов», «осталось 4 часа», «остался 1 час», «осталось менее часа».

Итак, в переменную n должно записываться случайное (на время тестирования программы) целое число из [0;28800], далее оно должно выводиться на экран (для Петрова) и на следующей строке (для сотрудниц) должна выводиться фраза о количестве полных часов, содержащихся в n секундах.

Примеры работы программы:
23466
Осталось 6 часов
10644
Осталось 2 часа
5891
Остался 1 час
1249
Осталось менее часа

Код:
public class Test {
    public static void main(String args []){
       final int value_sec = 28800;
        final int sec = 60;
         final int min = 60;
        int tablo_sec = (int) (Math.random()* value_sec);
        int tablo_hours = (tablo_sec / sec) / min;
        System.out.println(tablo_sec);
        System.out.println("Осталось " + tablo_hours + " часа");
    }
}
Дорогие форум чане только не обясуте меня пожалуйста может и для кого покажеться мой вопрос очень глупым мне просто нужен ваш совет по заданию как и что можно дописать и сделать по коду!
turtles вне форума Ответить с цитированием
Старый 05.09.2011, 13:41   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от turtles Посмотреть сообщение
Код:
public class Test {
    public static void main(String args []){
       final int value_sec = 28800;
        final int sec = 60;
         final int min = 60;
        int tablo_sec = (int) (Math.random()* value_sec);
        int tablo_hours = (tablo_sec / sec) / min;
        System.out.println(tablo_sec);
        System.out.println("Осталось " + tablo_hours + " часа");
    }
}
Ну оператором if можно проверить введенное значение на допустимость.
типа if (value_sec < 0 and value_sec>28800) вывести сообщ об ошибке.
А в целом все нормально. Зачем сюда еще чтото дописывать если программа выполняет свою функцию?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 05.09.2011, 13:55   #3
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию

Спасибо за совет"WorldMaster"
turtles вне форума Ответить с цитированием
Старый 05.09.2011, 14:54   #4
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию

Подскажите как еще дописать код чтоб например выводило так в зависимости от результата
Осталось ...... часов
Осталось .... часа
Остался ...... час
Осталось менее часа

а нет так например одно и тоже название
Осталось .... часа

а то у меня всегда при любом значение всегда выводит одно и тоже название
turtles вне форума Ответить с цитированием
Старый 05.09.2011, 15:06   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,544
По умолчанию

Код:
       if n>=5 then ... часов
else if n>1 then ... часа
else if n>0 then ...час
else ... менее часа
Код:
case n of
0: менее часа
1: час
2,3,4: часа
5, 6, 7, 8: часов
else черт знает сколько
end;
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 05.09.2011 в 15:09.
evg_m вне форума Ответить с цитированием
Старый 05.09.2011, 15:15   #6
turtles
Пользователь
 
Регистрация: 17.02.2011
Сообщений: 59
По умолчанию

Спасибо за ответ "evg_m"
turtles вне форума Ответить с цитированием
Старый 05.09.2011, 15:44   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Цитата:
if n>=5 then ... часов
подставьте в n = 21 )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графический режим Dead Romantic Помощь студентам 0 14.12.2010 22:17
Фоновый режим C# zeharon C# (си шарп) 1 03.12.2010 01:36
Текстовый режим spectorsky Win Api 7 02.11.2010 13:02
Отладочный режим Shevali Помощь студентам 2 28.03.2009 20:17
Графический режим в С Raz0r Помощь студентам 4 03.03.2008 16:49