枚举、结构体、联合体的简单应用程序-C语言
来源:互联网 发布:二级数据库程序设计类 编辑:程序博客网 时间:2024/06/04 20:11
#include <stdio.h>//图元的类型enum SHAPE_TYPE{ RECT_TYPE = 0, CIRCLE_TYPE = 1, TRIANGLE_TYPE = 2, SHAPE_NUM,};//为了定义三角形的坐标而设struct point{ float x; float y;};//创建shape结构体struct shape{ //int type; enum SHAPE_TYPE type; union { struct { float x; float y; float w; float h; }rect; struct { float c_x; float c_y; float r; }circle; struct { struct point t0; struct point t1; struct point t2; }triangle; }u;};//初始化矩形void init_rect_shape(struct shape *s, float x, float y, float w, float h){ s->type = RECT_TYPE; s->u.rect.x = x; s->u.rect.y = y; s->u.rect.w = w; s->u.rect.h = h; return ;}//初始化三角形void init_triangle_shape(struct shape *s,float a, float b, float c, float d,float e, float f){ s->type = TRIANGLE_TYPE; s->u.triangle.t0.x = a; s->u.triangle.t0.y = b; s->u.triangle.t1.x = c; s->u.triangle.t1.y = d; s->u.triangle.t2.x = e; s->u.triangle.t2.y = f; return ;}//初始化圆void init_circle_shape(struct shape *s, float a, float b, float r){ s->type = CIRCLE_TYPE; s->u.circle.c_x = a; s->u.circle.c_y = b; s->u.circle.r = r; return;}//输出图形void draw_shape(struct shape *shapes, int count){ int i = 0; for(i=0;i<count;i++) { switch(shapes[i].type) { case CIRCLE_TYPE: printf("circle:%f, %f, %f\n", shapes[i].u.circle.c_x, shapes[i].u.circle.c_y, shapes[i].u.circle.r); break; case TRIANGLE_TYPE: printf("triangle:%f, %f, %f, %f, %f, %f\n", shapes[i].u.triangle.t0.x, shapes[i].u.triangle.t0.y, shapes[i].u.triangle.t1.x, shapes[i].u.triangle.t1.y, shapes[i].u.triangle.t2.x, shapes[i].u.triangle.t2.y); break; case RECT_TYPE: printf("circle:%f, %f, %f, %f\n", shapes[i].u.rect.x, shapes[i].u.rect.y, shapes[i].u.rect.w, shapes[i].u.rect.h); break; default: break; } } return ;}int main(){ struct shape shape_set[3]; init_rect_shape(&shape_set[0], 100, 200, -100, 200); init_triangle_shape(&shape_set[1], 10, 20, 30, -30, 40, -40); init_circle_shape(&shape_set[2], 100, 200, 300); draw_shape(shape_set, 3); return 0;}
阅读全文
0 0
- 枚举、结构体、联合体的简单应用程序-C语言
- C语言-结构体+联合体+枚举
- C语言学习笔记10-结构体、枚举、联合体
- (四)C语言基础(结构体,联合体,枚举,别名)
- C语言结构体,联合体,枚举与typedef
- C语言结构体,联合体,枚举体的内存大小计算方法
- 结构体、联合体、枚举
- 结构体、联合体、枚举
- 结构体、联合体、枚举的特性
- C语言里的结构体和联合体
- C语言基础数据类型 结构体和联合体的区别
- Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型
- Android For JNI(五)——C语言多级指针,结构体,联合体,枚举,自定义类型
- C语言基础-结构体和联合体
- C语言结构体和联合体
- C语言结构体和联合体
- C语言结构体和联合体
- C语言中的结构体VS联合体
- iOS WKWebview 禁止长按(超链接、图片、文本...)弹出效果
- mongodb 权限设置
- NOIP 1998 普及组 复赛 阶乘之和
- 函数指针
- Python 集合set()
- 枚举、结构体、联合体的简单应用程序-C语言
- Swing绘制一个4位的验证码
- GridLayoutManager 设置居中对齐问题
- 2017秋招-技术岗-闪银
- JAVA源码分析之HashMap
- FPGA实验1-2:电路开发入门(DE0开发板)
- ubuntu 下配置python 遇到的问题
- 微信小程序开发环境搭建
- web前端技术框架选型参考