//
// main.m
// app
//
// Created by panba on 15-9-23.
// Copyright (c) 2015年 panba. All rights reserved.
//
#import <Foundation/Foundation.h>
//定义一个枚举型
typedef enum{
kCircle,
kCrectangle,
kRectangle,
Kegg } 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 colorNameValue)
{
switch (colorNameValue)
{
case kRedcolor:
return @"red";
break;
case kBluecolor:
return @"blue";
break;
case kGreencolor:
return @"green";
default:
return @"no color";
break;
}
}
NSString *typeNmae(Shapetype typeValue)
{
switch (typeValue) {
case kCircle:
return @"circle";
break;
case kCrectangle:
return @"crectangle";
break;
case Kegg:
return @"egg";
break;
case kRectangle:
return @"rectangle";
break;
default:
break;
}
}
void drawCircle( Shapetype typeValue,ShapeRect bounds,Shapecolor fillcolor)
{
NSLog(@"drawing a %@ at (%i,%i,%i,%i) in %@",typeNmae(typeValue),bounds.x,bounds.y,
bounds.width,bounds.height,colorName(fillcolor));
}
void drawshapes (Shape shapes[],int count)
{
for (int i = 0; i<count; i++)
{
switch (shapes[i].type)
{
case kCircle:
drawCircle(shapes[i].type,shapes[i].bounds, shapes[i].fillcolor);
break;
case kRectangle:
drawCircle(shapes[i].type,shapes[i].bounds, shapes[i].fillcolor);
break;
case kCrectangle:
drawCircle(shapes[i].type,shapes[i].bounds, shapes[i].fillcolor);
break;
case Kegg:
drawCircle(shapes[i].type,shapes[i].bounds, shapes[i].fillcolor);
break;
default:
break;
}
}
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
Shape shapes[3];
ShapeRect rect0 = {0,0,100,200};
shapes[0].type = kCircle;
shapes[0].fillcolor = kRedcolor;
shapes[0].bounds = rect0;
ShapeRect rect1 = {30,40,50,60};
shapes[1].type = kCrectangle;
shapes[1].fillcolor = kGreencolor;
shapes[1].bounds = rect1;
ShapeRect rect2 = {15,18,37,29};
shapes[2].type = kRectangle;
shapes[2].fillcolor = kBluecolor;
shapes[2].bounds = rect2;
drawshapes(shapes,3);
}
return 0;
}
IOS 小例子,输出一个图形的坐标,颜色,形状。
最新推荐文章于 2024-10-10 19:51:53 发布