How to resolve the algorithm Convert seconds to compound duration step by step in the FutureBasic programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Convert seconds to compound duration step by step in the FutureBasic programming language

Table of Contents

Problem Statement

Write a function or program which: This is detailed below (e.g., "2 hr, 59 sec").

Demonstrate that it passes the following three test-cases: Test CasesDetailsThe following five units should be used: However, only include quantities with non-zero values in the output (e.g., return "1 d" and not "0 wk, 1 d, 0 hr, 0 min, 0 sec"). Give larger units precedence over smaller ones as much as possible (e.g., return 2 min, 10 sec and not 1 min, 70 sec or 130 sec) Mimic the formatting shown in the test-cases (quantities sorted from largest unit to smallest and separated by comma+space; value and unit of each quantity separated by space).

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Convert seconds to compound duration step by step in the FutureBasic programming language

Source code in the futurebasic programming language

include "NSLog.incl"

local fn CompoundDurationString( seconds as long ) as CFStringRef
  long               s = 1, m = s * 60, h = m * 60, d = h * 24, w = d * 7
  long               v(4) : v(0) = w : v(1) = d : v(2) = h : v(3) = m : v(4) = s
  long               i, value
  CFArrayRef         abbr = @[@"wk",@"d",@"hr",@"min",@"sec"]
  CFMutableStringRef string = fn MutableStringWithCapacity(0)
  
  for i = 0 to 4
    value = seconds / v(i)
    seconds = seconds mod v(i)
    if ( value )
      if ( len(string) ) then MutableStringAppendString( string, @", " )
      MutableStringAppendFormat( string, @"%ld %@", value, abbr[i] )
    end if
  next
end fn = string

NSLog(@"%@",fn CompoundDurationString(7259))
NSLog(@"%@",fn CompoundDurationString(86400))
NSLog(@"%@",fn CompoundDurationString(6000000))

HandleEvents

  

You may also check:How to resolve the algorithm Hash join step by step in the Emacs Lisp programming language
You may also check:How to resolve the algorithm Equilibrium index step by step in the Sidef programming language
You may also check:How to resolve the algorithm Emirp primes step by step in the Oforth programming language
You may also check:How to resolve the algorithm Hello world/Text step by step in the RASEL programming language
You may also check:How to resolve the algorithm Mayan numerals step by step in the Java programming language