How to convert days into human-readable weeks and days in Pascal

1 Answer

0 votes
program WeeksAndDays;

{ Helper because Turbo Pascal doesn't have IntToStr }
function IntToStr(i: integer): string;
var
  s: string;
begin
  str(i, s);
  IntToStr := s;
end;

{ Convert total days into a human‑readable "X weeks and Y days" string }
function ToReadableWeeksDays(totalDays: integer): string;
var
  weeks, days: integer;
  s: string;
begin
  weeks := totalDays div 7;   { whole weeks }
  days  := totalDays mod 7;   { leftover days }

  s := '';

  { weeks part }
  s := IntToStr(weeks) + ' week';
  if weeks <> 1 then
    s := s + 's';

  s := s + ' and ';

  { days part }
  s := s + IntToStr(days) + ' day';
  if days <> 1 then
    s := s + 's';

  ToReadableWeeksDays := s;
end;

var
  days: integer;

begin
  days := 26;
  writeln(ToReadableWeeksDays(days));
end.




(*
run:

3 weeks and 5 days

*)


 



answered Dec 31, 2025 by avibootz

Related questions

...