// 4.5 연습문제 2번 ~ 6번까지
// 4.5 연습문제 2번
#import <Foundation/Foundation.h>
// 화씨 : fahrenheit, 섭씨 : celsius
-(double) fahrenheit;-(double) celsius;
-(void) setFahrenheit : (double) value;
-(void) clear;
-(void) changeToCelsius : (double) value;
// 4.5 연습문제 6번 - 다음 인터페이스로 매서드를 작성하시오
-(void) setReal : (double) a;-(void) setImaginary : (double) b;
-(void) print; // a+bi 형식으로 표시
-(double) real;-(double) imaginary;
@end
@implementation ChangeT
// 변수들 선언
{double fahrenheit, celsius, real, imaginary; // real 과 imaginary 는 연습문제 6번에 딸린거임
}
-(double) fahrenheit
{
return fahrenheit;
}-(double) celsius
{
return celsius;
}-(void) setFahrenheit : (double) value
{
fahrenheit = value;
}
-(void) clear
{
fahrenheit = 0, celsius = 0;
}-(void) changeToCelsius
{
celsius = (fahrenheit - 32.0) / 1.8;
}
// 4.5 연습문제 6번
{
real = a;
}
-(void) setImaginary : (double) b
{
imaginary = b;
}
-(void) print // a+bi 형식으로 표시
{
NSLog(@"Print : The complex number is %g + %gi", real, imaginary);
}-(double) real
{
return real;
}
-(double) imaginary
{
return imaginary;
}
@end
{
@autoreleasepool {
ChangeT *fToCelsius = [[ChangeT alloc] init];[fToCelsius setFahrenheit: 27.0];
[fToCelsius changeToCelsius];
NSLog(@"Fahrenheit %g is same as Celsius %g", [fToCelsius fahrenheit], [fToCelsius celsius]);
// 4.5 연습문제 2번
// 객체 생성 안한상태에서 하는방법
float fahEx2 = 27.0, celEx2;celEx2 = (fahEx2 - 32.0) / 1.8;
NSLog(@"Fahrenheit %g is same as Celsius %f", fahEx2, celEx2);
// 4.5 연습문제 3번
char c, d;c = 'd';
d = c;
NSLog (@"d = %c", d);
// 결과는 d = d
// 4.5 연습문제 4번
float x4 = 2.55, resultEx4;resultEx4 = 3 * x4 * x4 * x4 - 5 * x4 * x4 + 6;
NSLog(@"x4 = 2.55, 3 * x4^3 - 5 * x4^2 + 6 is %f", resultEx4);
// 4.5 연습문제 5번
float resultEx5;resultEx5 = (3.31e-8 + 2.01e-7) / (7.16e-6 + 2.01e-8);
NSLog(@"(3.31 * 10^-8 + 2.01 * 10^-7) / (7.16 * 10^-6 + 2.01 * 10^-8) = %f", resultEx5);
// 4.5 연습문제 6번 이어서 프로그래밍
ChangeT *complexEx6 = [[ChangeT alloc] init];[complexEx6 setReal: 3];
[complexEx6 setImaginary: 5];
[complexEx6 print];
NSLog(@"Return : The complex number is %g + %gi", [complexEx6 real], [complexEx6 imaginary]);
NSLog(@"Return : The complex number is %.2f + %.2fi", [complexEx6 real], [complexEx6 imaginary]);
// %.2f 의미 : 소수점 둘째 자리까지 표시 하는 값
return 0;
}
댓글 없음:
댓글 쓰기