使用 if else 将数字转换为单词 [英] Converting number into words using if else
问题描述
我是 C++ 的初学者.我写了一个程序来将数字转换为单词.对于 11-19 之间的数字和这样的数字,20、30、40、50、60、70、80、90,我得到了错误的输出.我还尝试在最后两个 if 语句之间添加 else 语句,这样即使第一个 if 为真,它也不会执行所有 if 语句,但它给我一个错误,即else without a previous if".
I am a beginner in c++. I have written a program to convert numbers into words. I am getting wrong output for numbers between 11-19 and numbers like this, 20,30,40,50,60,70,80,90. I also tried to add else statement between last two if statements so that It does not execute all the if statements even if the first if is true but it gives me an error that "else without a previous if".
//This program converts number into words
#include<iostream>
using namespace std;
main()
{
int number,unit,ten;
cout<<"Please enter any number between 0-99: ";
cin>>number;
ten=number/10;
unit=number%10;
if(number<0 | number>99)
cout<<"Number is out of range";
if(number>=11 && number <=19);
{
if(number==11) cout<<"eleven";
if(number==12) cout<<"twelve";
if(number==13) cout<<"thirteen";
if(number==14) cout<<"fourteen";
if(number==15) cout<<"fifteen";
if(number==16) cout<<"sixteen";
if(number==17) cout<<"seventeen";
if(number==18) cout<<"eighteen";
if(number==19) cout<<"ninteen";
}
if(ten>=2 && ten<=9)
{
if(ten==1) cout<<"ten";
if(ten==2) cout<<"twenty";
if(ten==3) cout<<"thirty";
if(ten==4) cout<<"fourty";
if(ten==5) cout<<"fifty";
if(ten==6) cout<<"sixty";
if(ten==7) cout<<"seventy";
if(ten==8) cout<<"eighty";
if(ten==9) cout<<"ninty";
}
if(unit>=0 && unit <=9)
{
if(unit==0) cout<<" zero";
if(unit==1) cout<<" one";
if(unit==2) cout<<" two";
if(unit==3) cout<<" three";
if(unit==4) cout<<" four";
if(unit==5) cout<<" five";
if(unit==6) cout<<" six";
if(unit==7) cout<<" seven";
if(unit==8) cout<<" eight";
if(unit==9) cout<<" nine";
}
}
输出 1:-
Please enter any number between 0-99: 12
twelve two
输出 2:-
Please enter any number between 0-99: 30
thirty zero
推荐答案
您在第二个 if
之后有一个分号 ;
.而且,您应该使用 ||
而不是 |
.你也应该排除 ten==1
的情况.
You had a semicolon ;
after the second if
. And also, you should use ||
instead of |
. Also you should exlude the case when ten==1
.
//This program converts number into words
#include<iostream>
using namespace std;
main()
{
int number,unit,ten;
cout<<"Please enter any number between 0-99: ";
cin>>number;
ten=number/10;
unit=number%10;
if(number<0 || number>99)
{
cout<<"Number is out of range";
}
if(ten == 1)
{
if(number==10) cout<<"ten";
if(number==11) cout<<"eleven";
if(number==12) cout<<"twelve";
if(number==13) cout<<"thirteen";
if(number==14) cout<<"fourteen";
if(number==15) cout<<"fifteen";
if(number==16) cout<<"sixteen";
if(number==17) cout<<"seventeen";
if(number==18) cout<<"eighteen";
if(number==19) cout<<"ninteen";
}
else {
if(ten==2) cout<<"twenty";
if(ten==3) cout<<"thirty";
if(ten==4) cout<<"fourty";
if(ten==5) cout<<"fifty";
if(ten==6) cout<<"sixty";
if(ten==7) cout<<"seventy";
if(ten==8) cout<<"eighty";
if(ten==9) cout<<"ninty";
// ****
if(unit==0 && ten ==0) cout<<" zero";
if(unit==1) cout<<" one";
if(unit==2) cout<<" two";
if(unit==3) cout<<" three";
if(unit==4) cout<<" four";
if(unit==5) cout<<" five";
if(unit==6) cout<<" six";
if(unit==7) cout<<" seven";
if(unit==8) cout<<" eight";
if(unit==9) cout<<" nine";
}
}
所有情况的输出:
Please enter any number between 0-99: -1
Number is out of range
Please enter any number between 0-99: 0
zero
Please enter any number between 0-99: 1
one
Please enter any number between 0-99: 2
two
Please enter any number between 0-99: 3
three
Please enter any number between 0-99: 4
four
Please enter any number between 0-99: 5
five
Please enter any number between 0-99: 6
six
Please enter any number between 0-99: 7
seven
Please enter any number between 0-99: 8
eight
Please enter any number between 0-99: 9
nine
Please enter any number between 0-99: 10
ten
Please enter any number between 0-99: 11
eleven
Please enter any number between 0-99: 12
twelve
Please enter any number between 0-99: 13
thirteen
Please enter any number between 0-99: 14
fourteen
Please enter any number between 0-99: 15
fifteen
Please enter any number between 0-99: 16
sixteen
Please enter any number between 0-99: 17
seventeen
Please enter any number between 0-99: 18
eighteen
Please enter any number between 0-99: 19
ninteen
Please enter any number between 0-99: 20
twenty
Please enter any number between 0-99: 21
twenty one
Please enter any number between 0-99: 22
twenty two
Please enter any number between 0-99: 23
twenty three
Please enter any number between 0-99: 24
twenty four
Please enter any number between 0-99: 25
twenty five
Please enter any number between 0-99: 26
twenty six
Please enter any number between 0-99: 27
twenty seven
Please enter any number between 0-99: 28
twenty eight
Please enter any number between 0-99: 29
twenty nine
Please enter any number between 0-99: 30
thirty
Please enter any number between 0-99: 31
thirty one
Please enter any number between 0-99: 32
thirty two
Please enter any number between 0-99: 33
thirty three
Please enter any number between 0-99: 34
thirty four
Please enter any number between 0-99: 35
thirty five
Please enter any number between 0-99: 36
thirty six
Please enter any number between 0-99: 37
thirty seven
Please enter any number between 0-99: 38
thirty eight
Please enter any number between 0-99: 39
thirty nine
Please enter any number between 0-99: 40
fourty
Please enter any number between 0-99: 41
fourty one
Please enter any number between 0-99: 42
fourty two
Please enter any number between 0-99: 43
fourty three
Please enter any number between 0-99: 44
fourty four
Please enter any number between 0-99: 45
fourty five
Please enter any number between 0-99: 46
fourty six
Please enter any number between 0-99: 47
fourty seven
Please enter any number between 0-99: 48
fourty eight
Please enter any number between 0-99: 49
fourty nine
Please enter any number between 0-99: 50
fifty
Please enter any number between 0-99: 51
fifty one
Please enter any number between 0-99: 52
fifty two
Please enter any number between 0-99: 53
fifty three
Please enter any number between 0-99: 54
fifty four
Please enter any number between 0-99: 55
fifty five
Please enter any number between 0-99: 56
fifty six
Please enter any number between 0-99: 57
fifty seven
Please enter any number between 0-99: 58
fifty eight
Please enter any number between 0-99: 59
fifty nine
Please enter any number between 0-99: 60
sixty
Please enter any number between 0-99: 61
sixty one
Please enter any number between 0-99: 62
sixty two
Please enter any number between 0-99: 63
sixty three
Please enter any number between 0-99: 64
sixty four
Please enter any number between 0-99: 65
sixty five
Please enter any number between 0-99: 66
sixty six
Please enter any number between 0-99: 67
sixty seven
Please enter any number between 0-99: 68
sixty eight
Please enter any number between 0-99: 69
sixty nine
Please enter any number between 0-99: 70
seventy
Please enter any number between 0-99: 71
seventy one
Please enter any number between 0-99: 72
seventy two
Please enter any number between 0-99: 73
seventy three
Please enter any number between 0-99: 74
seventy four
Please enter any number between 0-99: 75
seventy five
Please enter any number between 0-99: 76
seventy six
Please enter any number between 0-99: 77
seventy seven
Please enter any number between 0-99: 78
seventy eight
Please enter any number between 0-99: 79
seventy nine
Please enter any number between 0-99: 80
eighty
Please enter any number between 0-99: 81
eighty one
Please enter any number between 0-99: 82
eighty two
Please enter any number between 0-99: 83
eighty three
Please enter any number between 0-99: 84
eighty four
Please enter any number between 0-99: 85
eighty five
Please enter any number between 0-99: 86
eighty six
Please enter any number between 0-99: 87
eighty seven
Please enter any number between 0-99: 88
eighty eight
Please enter any number between 0-99: 89
eighty nine
Please enter any number between 0-99: 90
ninty
Please enter any number between 0-99: 91
ninty one
Please enter any number between 0-99: 92
ninty two
Please enter any number between 0-99: 93
ninty three
Please enter any number between 0-99: 94
ninty four
Please enter any number between 0-99: 95
ninty five
Please enter any number between 0-99: 96
ninty six
Please enter any number between 0-99: 97
ninty seven
Please enter any number between 0-99: 98
ninty eight
Please enter any number between 0-99: 99
ninty nine
Please enter any number between 0-99: 100
Number is out of range
这篇关于使用 if else 将数字转换为单词的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!