Sept. 6, 1995
If you have any new members in your group today, introduce yourselves. One person should be designated the scribe (someone who wasn't the scribe last time). This assignment should be written down on one sheet of paper. Print the number of your group and the name of each group member participating at the top of the sheet.
Numbers to English
1. Examine the program "numtoeng.cc" and write down all the questions your group has about this program.
2. Modify the "numtoeng" program to print out 4 digit numbers. You don't have to copy down the entire program, just the parts that are modified.
#include#include "CPstring.h" // converts two digit numbers to English equivalent // Owen Astrachan, 6/8/95 string DigitToString(int num) // precondition: 0 <= num < 10 // postcondition: returns english equivalent, e.g., 1->one,...9->nine { if (0 == num) return "zero"; else if (1 == num) return "one"; else if (2 == num) return "two"; else if (3 == num) return "three"; else if (4 == num) return "four"; else if (5 == num) return "five"; else if (6 == num) return "six"; else if (7 == num) return "seven"; else if (8 == num) return "eight"; else if (9 == num) return "nine"; } string TensPrefix(int num) // precondition: 10 <= num <= 99 and num % 10 == 0 // postcondition: returns ten, twenty, thirty, forty, etc. // corresponding to num, e.g., 50->fifty { if (10 == num) return "ten"; else if (20 == num) return "twenty"; else if (30 == num) return "thirty"; else if (40 == num) return "forty"; else if (50 == num) return "fifty"; else if (60 == num) return "sixty"; else if (70 == num) return "seventy"; else if (80 == num) return "eighty"; else if (90 == num) return "ninety"; } string NumToString(int num) // precondition: 0 <= num <= 99 // postcondition: returns english equivalent, e.g., 1->one, 13->thirteen { if (0 <= num && num < 10) { return DigitToString(num); } else if (10 < num && num < 20) { if (11 == num) return "eleven"; else if (12 == num) return "twelve"; else if (13 == num) return "thirteen"; else if (14 == num) return "fourteen"; else if (15 == num) return "fifteen"; else if (16 == num) return "sixteen"; else if (17 == num) return "seventeen"; else if (18 == num) return "eighteen"; else if (19 == num) return "nineteen"; } else if (num % 10 == 0) { return TensPrefix(num); } else { return TensPrefix(10 * (num/10)) + " " + DigitToString(num % 10); } } main() { int number; cout << "enter number between 0 and 100: "; cin >> number; cout << number << " = " << NumToString(number) << endl; }