// 예제 6.2
#import <foundation/Foundation.h>
-(void) print6_1;
-(void) setNumberator6_1 : (int) n;
-(void) setDenominator6_1 : (int) d;
-(int) numerator6_1;
-(int) denominator6_1;
-(double) convertToNum6_1;
@end
@implementation Fraction
{int numerator6_1, denominator6_1;
}
-(void) print6_1
{
NSLog(@"%i/%i ", numerator6_1, denominator6_1);
}-(void) setNumberator6_1 : (int) n
{
numerator6_1 = n;
}-(void) setDenominator6_1 : (int) d
{
denominator6_1 = d;
}-(int) numerator6_1
{
return numerator6_1;
}-(int) denominator6_1
{
return denominator6_1;
}-(double) convertToNum6_1
{
if ( denominator6_1 != 0)
{
return (double) numerator6_1 / denominator6_1;
}else
{
return NAN;
}
}
@end
{
@autoreleasepool
{
// 예제 6.1
int number6_1;
NSLog(@"Type in your number");
scanf("%i", &number6_1);if ( number6_1 < 0 )
{
number6_1 = - number6_1;
}
NSLog(@"The absolute value is %i", number6_1);
// 예제 6.2 번 이어서
Fraction *aFraction = [[Fraction alloc] init];Fraction *bFraction = [[Fraction alloc] init];
[aFraction setDenominator6_1 : 4]; // 첫번째(aFraction 객체) 분수는 1/4
NSLog(@" = ");
NSLog(@"%g", [aFraction convertToNum6_1]);
// 두번째(bFraction 객체) 값은 정해지지 않음
[bFraction print6_1]; NSLog(@" = ");
NSLog(@"%g", [bFraction convertToNum6_1]);
// 결과는 0/0 = NAN, 이유는 초기화되었고 값을 정해주지 않았기 때문에 분자 분모 모두 0
// 예제 6.3
int number_to_test6_3, remainder6_3;
NSLog(@"Enter your number to be tested : ");
scanf("%i", &number_to_test6_3);if ( remainder6_3 ==0 )
{
NSLog(@"The number is even");
}else
{
NSLog(@"The number is odd");
}
// 예제 6.5
int yearEx5, rem_4Ex5, rem_100Ex5, rem_400Ex5;
NSLog(@"Enter the year to be tested : ");
scanf("%i", &yearEx5);rem_100Ex5 = yearEx5 % 100;
rem_400Ex5 = yearEx5 % 400;
{
NSLog(@"It's a leap year.");
}else
{
NSLog(@"Nope, it's not a leap year.");
}
// 예제 6.6
int number6_6, sign6_6;
NSLog(@"Please type in a number : ");
scanf("%i", &number6_6);sign6_6 = -1;
else if ( number6_6 == 0 )
sign6_6 = 0;
else
sign6_6 = 1;
// 세가지 가운데 하나를 고르는 의사결정 할때의 else if 구문! 유용!
return 0;
}
댓글 없음:
댓글 쓰기