Saturday, 15 August 2015

c++ - Error with converting numbers to text -



c++ - Error with converting numbers to text -

im writing c++ programme convert numbers text.

i got 2 problems(edit: 1 now):

the first problem programme write out numbers 1-19 correct, 20-99 such when wrote 34 example, answear 30 , not thirtyfour should be. after 30 comes errors , programme shut down. [problem fixed]

the sec problem wish write numbers between 0-999 , not 99 im not sure how that

#include <iostream> #include <string> using namespace std; int main() { int num, ldight, rdight; string ones[] = {"zero", "one", "two", "three", "four", "five","six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"}; string tens[] = {"twenty","thirty","fourty","fifty", "sixty","seventy","eighty", "ninety"}; cout << "pick number between 1-99: "; cin >> num; if(num <= 0) { cout << "error!" << endl; } else if (num >= 0 && num <= 19) { cout << "your number is: " << ones[rdight] ; } else if (num >=20 && num <=99) { rdight = num % 10; ldight = num / 10; cout << "your number is: " << tens[ldight - 2] << ones[rdight]; } homecoming 0; }

you should alter this:

cout << "your number is: " << tens[ldight - 2] << ones[num];

to

cout << "your number is: " << tens[ldight - 2] << ones[rdight];

you compute value never use. , in line above ones num accesses index out of bounds.

c++

No comments:

Post a Comment