为了账号安全,请及时绑定邮箱和手机立即绑定

objective-C 的Hello World

标签:
C

代码如下:

//  main.m
//  HelloWorld
//  Created by jimmy.yang on 11-1-24.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
 
#import <Foundation/Foundation.h>
 
//定义“几何形状类型”枚举
typedef enum{
    kCircle,
    kRectangle,
    kOblatesShperoid    
} ShapeType;
 
//定义“几何形状颜色”枚举
typedef enum{
    kRedColor,
    kGreenColor,
    kBlueColor
} ShapeColor;
 
//定义“几何形状矩形区域”结构
typedef struct{
    int x,y,width,height;
} ShapeRect;
 
 
//定义“几何形状”结构
typedef struct{
    ShapeType type;
    ShapeColor fillColor;
    ShapeRect bounds;
}Shape;
 
 
//返回“枚举颜色”的名称
NSString *colorName(ShapeColor colorName){
    switch (colorName) {
        case kRedColor:
            return @"red";
            break;
        case kGreenColor:
            return @"green";
            break;  
        case kBlueColor:
            return @"blue";
            break;  
        default:
            return @"no clue";
            break;
    }
}//colorName
 
//画圆
void drawCircle(ShapeRect bounds,ShapeColor fillColor){
    NSLog(@"drawing a circle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawCircle
 
//画矩形
void drawRectangle(ShapeRect bounds,ShapeColor fillColor){
    NSLog(@"drawing a rectangle at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawRectangle
 
//画椭圆形
void drawEgg(ShapeRect bounds,ShapeColor fillColor){
    NSLog(@"drawing an egg at (%d,%d,%d,%d) in %@",bounds.x,bounds.y,bounds.width,bounds.height,colorName(fillColor));
}//drawEgg
 
//画几何形状
void drawShapes(Shape shapes[],int count){
    int i;
    for(i=0;i<count;i++){
        switch (shapes[i].type) {
            case kCircle:
                drawCircle(shapes[i].bounds,shapes[i].fillColor);
                break;
            case kRectangle:
                drawRectangle(shapes[i].bounds,shapes[i].fillColor);
                break;
            case kOblatesShperoid:
                drawEgg(shapes[i].bounds,shapes[i].fillColor);
                break;
            default:
                break;
        }
    }
}//drawShapes
 
 
//主程序入口
int main(int argc, char *argv[])
{  
         
    Shape shapes[3];
     
    ShapeRect rect0 ={0,0,10,30};
    shapes[0].type = kCircle;
    shapes[0].fillColor = kRedColor;
    shapes[0].bounds = rect0;   
     
    ShapeRect rect1 = {30,40,50,60};
    shapes[1].type = kRectangle;
    shapes[1].fillColor = kGreenColor;
    shapes[1].bounds = rect1;
     
    ShapeRect rect2 = {15,18,37,39};
    shapes[2].type = kOblatesShperoid;
    shapes[2].fillColor = kBlueColor;
    shapes[2].bounds = rect2;   
     
    drawShapes(shapes, 3);
     
    return (0);
}

Console窗口的运行结果:

2011-01-25 13:49:05.978 HelloWorld[734:a0f] drawing a circle at (0,0,10,30) in red
2011-01-25 13:49:06.016 HelloWorld[734:a0f] drawing a rectangle at (30,40,50,60) in green
2011-01-25 13:49:06.018 HelloWorld[734:a0f] drawing an egg at (15,18,37,39) in blue

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消