中北大学C语言设计《计算四边形面积》解读.docVIP

  • 10
  • 0
  • 约5.32千字
  • 约 13页
  • 2017-04-08 发布于湖北
  • 举报

中北大学C语言设计《计算四边形面积》解读.doc

中 北 大 学 课程设计说明书 学 院、系: 软件学院 专 业: 软件工程 学 生 姓 名: 学 号: 1221011319 设 计 题 目: 四边形计算 起 迄 日 期: 2013年10月11日~2013年11月16日 指 导 教 师: 李华玲 日期: 2013年11月16日 1 设计目的 ............... 2 任务概述 ................ 3 模块划分 ............... 4 主要函数说明及其N-S图 ............... 5 程序运行数据及其结果 .............. 6 程序设计心得 ........ 7 附录(代码) ....... 1 设计目的 (1)进一步巩固和复习C程序设计的基础知识; (2)培养学生结构化程序、模块化程序设计的方法和能力; (3)了解软件的编制过程及各环节的具体内容; (4) 提高程序调试技巧、软件设计能力和代码规范化等素质; 提高分析问题、解决问题以及实际运用能力。 2 任务概述 用C程序语言编写源程序来验证计算四边形,要求: 1) 在屏幕上能够手动输入待计算的四边形各边边长,顶点、对角线上各点及延长线的交点的名称; 2) 输入完成后通过选择后,可以通过编写的程序验证三角形RMN的面积是四边形ABCD面积的四分之一; 3) 将验证结果显示在屏幕上。 4) 验收时程序能够演示,自己单独做。 3 模块划分 4 主要函数说明及其N-S图 ( 1)首先根据提示从键盘手动输入四个定点的坐标,调用“初步检测四边形函数”检查输入的点是否可用,如果有重合在一起的点或AB与CD近乎平行,则异常结束。 (2)其次,推算M、N两个“中点”的坐标,并且调用求交点函数计算BA与CD延长后的交点r的坐标。 (3)接着,调用“计算三角形面积的函数”分别算出四边形abcd和三角形的mnr的面积。计算四边形abcd面积的时候,需要检测该四边形是否为凹四边形,如是,则异常结束,必要地,计算三角形面积的时候需要调用“计算两点间线段距离的函数”。 (4)最后,计算四边形abcd和三角形的mnr的面积之比,并输出结果。 开始 定义 pname[]=ABCD,*p=pname, Point m,n,r,P[4],*PP=P, double abcd,rmn,abcd1 !ok(P) Y N *p printf(input (x,y) of point %c:,*p) scanf(%lf%*c%lf,PP-x,PP-y p++ pp++ fprintf(stderr,invalid input...\n\n) exit(1) m.x = (a.x+c.x)/2 m.y = (a.y+c.y)/2 n.x = (b.x+d.x)/2 n.y = (b.y+d.y)/2 r= pointOfIntersection() abcd = area_of_triangle(a,b,c) + area_of_triangle(a,d,c) abcd1= area_of_triangle(a,b,d) + area_of_triangle(b,d,c) fabs(abcd1-abcd)EPS Y N fprintf(stderr,凹四边形!不行!\n\n) exit(2) rmn = area_of_triangle(r,m,n) printf(as a result\nABCD:RMN=%4.2f:%4.2f=%4.2f\n ,abcd,rmn,abcd/rmn); 图1-1主函数main() 定义side[4],i,j 定义t j=(i+1)%4 t=length(p[i],p[j]) fabs(t)EPS) Y N side[i]=t return 0 定义k1,k2 for(i=0;i4;i++) k1=(p[1].y-p[0].y)/(p[1].x-p[0].x) k2=(p[3].y-p[2].y)/(p[3].x-p[2].x) if(fabs(k2-k1)EPS) Y N return 0 return 1 图1-2初步检测四边形函

文档评论(0)

1亿VIP精品文档

相关文档