📄 numtoeng.cpp
字号:
#include <iostream>#include <string>using namespace std;// converts two digit numbers to English equivalent// Owen Astrachan, 3/30/99string 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"; else return "?";}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"; else return "?";}string TeensToString(int num)// precondition: 11 <= num <= 19// postcondition: returns eleven, twelve, thirteen, fourteen, etc.// corresponding to num, e.g., 15 -> fifteen{ 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 return "?";}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) { return TeensToString(num); } else if (num % 10 == 0) { return TensPrefix(num); } else { // concatenate ten's digit with one's digit return TensPrefix(10 * (num/10)) + "-" + DigitToString(num % 10); }}int main(){ int number; cout << "enter number between 0 and 99: "; cin >> number; cout << number << " = " << NumToString(number) << endl; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -