Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

output doesn't match number

Posted on 2000-04-17
1
Medium Priority
?
201 Views
Last Modified: 2010-04-16
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.
0
Comment
Question by:kazooie21
1 Comment
 
LVL 12

Accepted Solution

by:
Hypo earned 40 total points
ID: 2724272
Hi,
There's one misstake in your code,
One of the "div"s should be a "mod"

Here's a modifyed version of your code

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 mod 10];
  end;

begin {main}
   for i:= 20 to 99 do
     writeln ('You write ',i, ' like this: ', wordnumber(i));
end.


0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Did you know there are services out there that can turn an Instagram feed into an RSS feed? I found some interesting exclusive Instagram content which I wanted to follow without signing up for yet another social media account. RSS to the rescue!
Your business may be under attack from a silent enemy that is hard to detect. It works stealthily in the shadows to access and exploit your critical business information, sensitive confidential data and intellectual property, for commercial gain. T…
Is your data getting by on basic protection measures? In today’s climate of debilitating malware and ransomware—like WannaCry—that may not be enough. You need to establish more than basics, like a recovery plan that protects both data and endpoints.…
In a question here at Experts Exchange (https://www.experts-exchange.com/questions/29062564/Adobe-acrobat-reader-DC.html), a member asked how to create a signature in Adobe Acrobat Reader DC (the free Reader product, not the paid, full Acrobat produ…
Suggested Courses

972 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question