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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2014, 03:45   #1
kollekcioner
Новичок
Джуниор
 
Регистрация: 07.12.2014
Сообщений: 2
По умолчанию Программа в Паскале, которая при вводе времени (ЧЧ:ММ) выводила бы в виде ЧЧ часов ММ минут с учётом падежей

нужна программа в Паскале, которая при вводе времени (9:26) выводило бы 9 часов 26 минут, при вводе к примеру 1:01 выводило бы 1 час 1 минута.
То есть выводило бы время с учетом падежей и чисел.
kollekcioner вне форума Ответить с цитированием
Старый 07.12.2014, 09:54   #2
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Пример для минут. Для часов постарайтесь сделать самостоятельно.
Код:
uses
  sysutils;
var
  t,s:string;
  temp,min,hour:integer;
begin
  write('Введите время в формате чч:мм - ');  readln(t);
  min:=strtoint(t[4]+t[5]);
  temp:=min;
  if temp >19 then
    temp := temp mod 10;
  case  temp of
    0,5..9,11..19 : s := 'минут';
    1 : s := 'минута';
    2..4 : s := 'минуты';
  end;
  writeln(min,' ',s);
  readln;
end.
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 07.12.2014, 10:15   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Код:
0,5..9,11..19 : s := 'минут';
а почему такая нелюбовь к 10 минутам?! )

да и проще же так:
Код:
  temp:=min;
  if temp >19 then
    temp := temp mod 10;
  case  temp of
    0,5..19 : s := 'минут';
    1 : s := 'минута';
    2..4 : s := 'минуты';
  end;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 07.12.2014, 10:34   #4
ZX Spectrum-128
Участник клуба
 
Регистрация: 05.11.2013
Сообщений: 1,601
По умолчанию

Serge_Bliznykov
Что-то я притормознул
Спасибо!
ZX Spectrum-128 вне форума Ответить с цитированием
Старый 07.12.2014, 14:22   #5
kollekcioner
Новичок
Джуниор
 
Регистрация: 07.12.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от ZX Spectrum-128 Посмотреть сообщение
Пример для минут. Для часов постарайтесь сделать самостоятельно.
Код:
uses
  sysutils;
var
  t,s:string;
  temp,min,hour:integer;
begin
  write('Введите время в формате чч:мм - ');  readln(t);
  min:=strtoint(t[4]+t[5]);
  temp:=min;
  if temp >19 then
    temp := temp mod 10;
  case  temp of
    0,5..9,11..19 : s := 'минут';
    1 : s := 'минута';
    2..4 : s := 'минуты';
  end;
  writeln(min,' ',s);
  readln;
end.
А можете объяснить пожалуйста чуть подробней, что чему присваиваем? Просто не понимаю как выходит так что мы вправе вводить значение число:число(через двоеточие)

Последний раз редактировалось kollekcioner; 07.12.2014 в 14:40.
kollekcioner вне форума Ответить с цитированием
Старый 07.12.2014, 15:24   #6
cosmopolit
Пользователь
 
Аватар для cosmopolit
 
Регистрация: 06.01.2014
Сообщений: 26
По умолчанию

По сути вводится не число, вводится строка. Смотрите типы переменных !
cosmopolit вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
суммирование часов и минут по нарастающей, более 24 часов razinsergey Microsoft Office Excel 3 28.05.2012 10:02
Сколько часов, минут и секунд прошло от начала суток до поворота часовой стрелки часов на f градусов (нужна блок-схема) lady.ulumba Помощь студентам 5 08.09.2011 15:08
часы показывают m часов, n минут и k секунд. Каковы будут показатели часов через p часов, q минут и r сек Паскалька^^ Помощь студентам 3 11.10.2009 19:41
Написать программу, которая бы определяла при вводе данных в список, симметричен ли он WhyBeNormal Паскаль, Turbo Pascal, PascalABC.NET 3 03.12.2008 00:04