//要求使用面向对象的编程思想,编写一个程序:
//用于接受从终端键入任意一个整数,提取并用英文显示这个数的每一个数字,
//比如用户键入932,输出:
//nine three two
//注意:输入都是0的时候才显示一个zero
#import <Foundation/Foundation.h>
#import "ReadNum.h"
int main(int argc, const char * argv[])
{
@autoreleasepool {
int a;
scanf("%i",&a);
ReadNum* rn = [[ReadNum alloc] init];
[rn GetEng:a];
}
return 0;
}
//ReadNum.h
#import <Foundation/Foundation.h>
@interface ReadNum : NSObject
@property (nonatomic , retain) NSMutableString* codei;
-(void)GetEng:(int)i;
@end
//ReadNum.m
#import "ReadNum.h"
@implementation ReadNum
@synthesize codei;
-(void)GetEng:(int)i
{
int ic ;
if (i>0)
ic = i%10;
else
if ([codei length]!=0)
ic = -1,NSLog(@"%@", codei);
switch (ic)
{
case 0:
[codei insertString:@" zero" atIndex:0];
break;
case 1:
[codei insertString:@" one" atIndex:0];
break;
case 2:
[codei insertString:@" two" atIndex:0];
break;
case 3:
[codei insertString:@" three" atIndex:0];
break;
case 4:
[codei insertString:@" four" atIndex:0];
break;
case 5:
[codei insertString:@" five" atIndex:0];
break;
case 6:
[codei insertString:@" six" atIndex:0];
break;
case 7:
[codei insertString:@" seven" atIndex:0];
break;
case 8:
[codei insertString:@" eight" atIndex:0];
break;
case 9:
[codei insertString:@" nine" atIndex:0];
break;
default:
exit(0);
break;
}
[self GetEng:(int)i/10];
}
-(id)init
{
if (self=[super init]) {
codei = [[NSMutableString alloc] init];
}
return self;
}
@end