oc_stude13

来源:互联网 发布:天刀少女捏脸数据导入 编辑:程序博客网 时间:2024/06/04 01:15

//内容:两个圆的状态、相切、交、离//日期:2015.3.12//作者:sekey#import <Foundation/Foundation.h>#import <math.h>@interface Point2D : NSObject{    double _x; // 圆心x    double _y; // 圆心y}- (void)setX:(double)x andY:(double)y;- (double)x;- (double)y;@end@implementation Point2D- (void)setX:(double)x andY:(double)y{    _x = x;    _y = y;    NSLog(@"设置圆心为(%lf, %lf)", _x, _y);}- (double)x{    return _x;}- (double)y{    return _y;}@end//--------------------------------------------@interface Circle : NSObject{    double _radius; // 半斤    Point2D * _point;}- (void)setCirclePoint:(Point2D *)p andRadius:(double)radius;- (Point2D *)point;- (double)radius;- (void)overCircleWithOther:(Circle *)c;@end@implementation Circle- (void)setCirclePoint:(Point2D *)p andRadius:(double)radius{    _point = p;    _radius = radius;    NSLog(@"设置圆半径为%lf", _radius);}- (Point2D *)point{    return _point;}- (double)radius{    return _radius;}- (void)overCircleWithOther:(Circle *)other{    double sumRadius = _radius + [other radius];    double distance = sqrt(pow(([[self point] x] - [[other point] x]), 2) + pow(([[self point] y] - [[other point] y]), 2));    if(sumRadius > distance)        NSLog(@"两圆相交");    else if(sumRadius == distance)        NSLog(@"两圆相切");    else        NSLog(@"两圆相离");}@endint main(void){    Point2D * p1 = [Point2D new];    Circle * c1 = [Circle new];    [c1 setCirclePoint:p1 andRadius:1];    [[c1 point] setX:0 andY:0];    Point2D * p2 = [Point2D new];    Circle * c2 = [Circle new];    [c2 setCirclePoint:p2 andRadius:2];    [[c2 point] setX:0 andY:3];        [c1 overCircleWithOther:c2];    return 0;}


0 0
原创粉丝点击