继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

objective-C 的Hello World

一只斗牛犬
关注TA
已关注
手记 338
粉丝 49
获赞 300

代码如下:

//  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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP