Solved

# output doesn't match number

Posted on 2000-04-17

Here's my program:

var i: integer;

type string10 = string[10];

const

ones: array[0..9] of string10 = ('', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine');

tens: array[0..9] of string10 = ('','ten', 'twenty', 'thirty', 'forty', 'fifty', 'sixty', 'seventy', 'eighty', 'ninety');

function wordnumber (number: word) : string;

begin

wordnumber:= tens [number div 10] + '-' +ones [number div 10];

end;

begin {main}

for i:= 20 to 99 do

writeln ('You write ',i, ' like this: ', wordnumber(i));

end.

This is the output it's giving me:

'You write 20 like this: twenty-two'

It gives me twenty-two from 20 to 29.

I'm having similar problems with the other numbers:

'You write 30 like this: thirty-three' I get thirty-three from 30 to 39.

'You write 40 like this: forty-four' I get forty-four from 40 to 49.

'You write 50 like this: fifty-five' I get fifty-five from 50 to 59.

'You write 60 like this: sixty-six' I get sixty-six from 60 to 69.

'You write 70 like this: seventy-seven' I get seventy-seven from 70 to 79.

'You write 80 like this: eighty-eight' I get eighty-eight from 80 to 89.

'You write 90 like this: ninety-nine' I get ninety-nine from 90 to 99.

BTW... The program is supposed to let the user enter a number from 20 rto 99 and it outputs the number in equivalent number form.