整数翻译成英文

 1 #include<iostream>
 2 #include<string>
 3 using namespace std;
 4
 5 class robot{
 6     string name;
 7     string type;     //型号
 8 public:
 9     robot(string name = "xxx",string type = "xxx") : name(name),type(type){      //默认构造函数
10     }
11     void out(int a);        //英文中每三位数读法相同,所以定义out函数翻译小于1000的整数
12     void tran_int(int n);   //将1~1999999999的整数翻译成英文句子
13     ~robot(){               //析构函数
14     };
15 };
16
17 //定义两个全局字符指针数组,存取所需的单词num1[]为1~19
18 static const char *num1[] = {"","one","two","three","four","five","six","seven","eight","nine","ten",
19                             "eleven","twelve","thirteen","fourteen","fiveteen","sixteen","seventeen",
20                             "eighteen","nineteen"};
21 //num10中为20-90,空了0,1,所以可以直接用num10[n/10]调用,得到n对应的单词
22 static const char *num10[] = {"","","twenty","thirty","forty",
23                              "fifty","sixty","seventy","eighty","ninety"};
24 //小于1000整数翻译
25 void robot::out(int a){
26     int b = a%100;       //取后两位
27     //若百位不为0,输出百位数加hundred,若此时十位个位均为0,不加and
28     if (a/100 != 0)
29     {
30         cout << num1[a/100] << " hundred ";
31         if (b != 0)            //b 应该属于1~19,[20,100);
32             cout << " and ";
33     }
34     //当后两位在20以内,直接调用num1[n],输出
35     if (b < 20)
36         cout << num1[b];
37     else
38     {    //先调用num10[b],输出十位数
39         cout << num10[b/10];
40         //个位不为0的应该输出:‘-‘,个位数
41         if (b % 10)
42             cout << "-" << num1[b%10];
43     }
44 }
45
46 void robot::tran_int(int n)
47 {
48     if (n > 1999999999)
49         cout << "dev-C++ 平台无法处理大于1999999999的数!" << endl;
50     else
51     {   //三位三位的取出,存在abcd中 1,987,654,321--如此三位三位取出
52         int a = n/1000000000,             // 十亿位:1
53             b = (n%1000000000)/1000000,    //十亿到百万:987
54             c = (n%1000000)/1000,         //百万到前:654
55             d = n%1000;                   //千位以下:321
56
57         //a不等于0时,输出,并加million,或thousand
58         if (a)
59         {
60             out(a);                   //因为取出了三位,所以三位三位输出
61             cout << " billion ";     //十亿以下
62         }
63         if (b)
64         {
65             out(b);
66             cout << " million ";     //百万到十亿
67         }
68         if (c)
69         {
70             out(c);
71             cout << " thousand ";    //百万到千
72         }
73         if (d)   //千位以下
74         {         //距英文语法规则,(前面几位都存在的情况下)最后两位前一定有and,即千位以前要有and
75             if ((d < 100 && a) || b || c)
76             {
77                 cout << " and ";
78             }
79             out(d);
80         }
81         cout << endl;
82     }
83 }
84
85 int main(void)
86 {
87     int n;
88     cout << "Input N : ";
89     cin >> n;
90     cout << n << endl;
91     robot brown;
92     brown.tran_int(n);
93     return 0;
94 } 
时间: 2024-08-06 03:40:37

整数翻译成英文的相关文章

如何将图片中的文字翻译成英文

有的时候,因为某种需要,会将图片中的文字翻译成英文,这时候你会在浏览器中将文字一个一个字的输进去 进行翻译吗?这种方法太麻烦了,下面就教大家一种在简单的方法. 步骤一.打开电脑,在浏览器中搜素查找迅捷办公将迅捷OCR文字识别软件下载下来,接下来会使用到,再保存一张需要将文字翻译成英文的图片. 步骤二.下载完成后将软件打开,这时候点击软件上方图片局部识别功能,这里就可以将图片中的文字翻译成英文. 步骤三.点击添加文件按钮,就可以将保存的图片添加进来了. 步骤四.图片添加进来后先不着急识别,可以在这

翻译,怎样将图片文字翻译成英文

怎样实现图片文字翻译成英文呢?生活中将图片文字翻译成英文的问题也是会时常发生的,那么遇到这个问题我们应该怎样去解决它呢?不用担心下面小编就通过借助在线翻译网站来告诉大家怎样去解决这个问题.步骤一:我们要先在电脑上将需要翻译的图片准备好,然后通过电脑浏览器搜索迅捷在线翻译,来帮助我们实现图片翻译.步骤二:搜索进入如下翻译页面后,选择页面中心的文档翻译选项.步骤三:转入文档翻译页面后,就可以通过页面中心上传文档按钮,将需要翻译的图片添加进来了.步骤四:图片上传成功后,我们可以在图片下方,对源语言.目

图片中的文字如何翻译成英文

如果给你一张带有文字的图片,需要你将文字内容翻译成英文,这时候该怎么办呢?你会选择手动输入文字到相关翻译工具中进行翻译吗,这显然不是一种有效的方法,比较耽误时间,下面小编就来为大家分享一种简单将图中文字翻译成英文的方法. 参考工具:迅捷OCR文字识别软件 操作步骤: 1:首先需要做好准备工作,将需要进行翻译的图片保存在电脑中,接着将OCR文字识别软件打开,选择图片局部识别这个功能板块. 2:进入图片局部识别操作界面后,点击添加文件就可以将刚开始保存的图片添加进来了,注意在这里支持识别的图片格式.

华为上机练习题--将英文号码翻译成数字号码

题目: * 将 电话号码 one two ...nine zero 翻译成1  2 ..9 0 * * 中间会有double * * 例如 *     输入:OneTwoThree *     输出:123 *     输入:OneTwoDoubleTwo *     输出:1222 *     输入:1Two2 *     输出:ERROR *     输入:DoubleDoubleTwo *     输出:ERROR 分析:对于字符串的操作有一个比较好用的方法就是replaceAll(),有

WORD文档怎样在线从整篇英文翻译成中文的

WORD文档怎样在线从整篇英文翻译成中文的,虽然有的时候机翻不是很准确,但是在追求快速翻译来达到快速阅读的时候,可以尝试用"迅捷PDF在线转换器"进行在线翻译的操作.第一步:将需要翻译的word文件准备至桌面上,并进入浏览器内,在百度首页搜索关键词"迅捷pdf在线转换器".第二步:进入在线转换器的首页后,可以看到页面上很多关于PDF转换以及文档处理等功能选项(有需要的可以了解一下) 选择文档处理,然后再弹出的下拉框内选择"word在线翻译".第三

如何将英文翻译成中文?这个方法你值得收藏

不知道大家平时在阅读一篇英文文章的时候是不是经常喜欢将每一句英文用中文进行翻译以后在去理解它的意思,又或是准备开口之前,先用中文在脑海里组织语言?但是一篇英文文章中很多单词时很陌生的,难道我们需要一个一个的将其复制进浏览器中回事翻开词典进行查找吗?其实方法很简单,我们可以借助工具来进行实现,那么,如何将英文翻译成中文呢?下面一起来看看吧! 操作步骤: 步骤一:点击进入文字转语音页面,在左侧工具栏中将出现三个功能选项,点击选择翻译: 步骤二:在右边出现的工具栏中根据提示将英文句子复制进指定区域你也

如何可以将PDF文件在线翻译成中文?

有时心血来潮,会在网上搜索一些专业的影评.杂志等资料,像这些资料格式PDF的多一些,而且有时还会看到纯英文版的,这样想利用起来,就必须要使用一些工具的帮助,就可以轻松的完成翻译的任务,让我们使用起来更轻松.不用下载,直接在网页上面就可以完成,非常的方便,一起来学习一下吧.     在线PDF翻译,可以直接把PDF.Word翻译成中文.英文.繁体中文等多国语言的文档.用户可自定义目标语言,翻译后的文档可以精确保留原文件的所有页面元素和排版.用户可以在短时间之内下载到转换之后的文件.只要用户可以连接

【随便扯扯】Standby到底翻译成备用还是待机?

最近在翻译VMware VSAN的一本书,术语用词我以官方中文版客户端软件为准.可是,问题出现了,同一个英文表述在不同的中文版客户端软件中,甚至同一个客户端软件中都翻译的不一样. 比如Standby到底应该翻译成备用还是待机?     Web Client英文版里面是这样的:     到了中文版中同样的界面,3个Standby居然在一个页面里面就有2个不同的翻译了. 让我们再到中文版vSphere Client中去看看:    vSwitch配置过程中的Standby Adapter翻译为待机适

看这里,教你如何快速将pdf文件翻译成中文

因为网上下载的PDF资料,往往掺杂着一些英文,所以中英文翻译是一件很平常的事,毕竟不是每个人的英文都那么好,轻轻松松的就能够看完一篇英文的文件,那么,我们就要寻找翻译工具来帮助我们看完了,那么如何将PDF文件翻译成中文呢,我们用什么样的翻译工具呢.1.市面上的翻译工具有很多,选择一个好的翻译工具才是最重要的,小编跟大家介绍一下小编经常使用的翻译工具吧.2.我们首先在网上下载一个PDF转换器,借助这个工具,简单的翻译都是没有问题的.3.下载完之后,我们打开这个工具,鼠标点击到特色功能,打开就有PD