c语言程序设计抛物线.docxVIP

  • 7
  • 0
  • 约3.9千字
  • 约 14页
  • 2023-03-12 发布于湖北
  • 举报
《程序设计基础(C 语言)》 课程设计说明书 学 班学 院: 级: 号: 姓 名: 教 师: 日 期: 2012 年 6 月 18 日 课程设计要求: 本课程设计作为《程序设计基础(C 语言)》的期末考核,占该课程总成绩的 70%。 本课程设计的题目可以由老师指定或学生自选。 知识点要求包括: 文件常用操作(打开,读/写数据,关闭等); 选择结构; 循环结构; 自定义函数; 数组的使用; 指针的定义与引用; 结构体类型的定义与使用 注意:需要在源代码相应的位置注释出以上知识 点; 课程设计的主体包括题目名称、算法分析、流程设计、代码设计及运行结果。 《 程序设计基础(C 语言) 》 - - PAGE 10 - 算法分析: C 设计抛物线计算器 抛物线计算器程序的开头是文件包含的预处理命令。 语言中,预处理命令都是以“#开”头,# include 表示包含 某个头文件。stdio.h 是标准输入输出头文件。 (#includestdio.h #includemath.h #include graphics.h)。 然后程序对所做图形的大小模型分辨率进行了设置,将 其设置成了合适的图形模式。(initgraph(640, 480);) 再依次输入抛物线的四个参数(1 初始高度,2 初始角度,3 初始速度,4 重力加速度),并且分别对四个参数的要求以及数值范围进行了规范。然后程序中调用函数公式对其 他参数进行计算并且将其输出。再对图形的背景颜色以及线 条颜色进行了设置。 之后程序利用 sprintf 命令将输出的数据添加到字符串中。sprintf%[指定参数][标识符][宽度][.精度]指示符。1. 处理字符方向。负号时表示从后向前处理。2. 填空字元。 0 的话表示空格填 0;空格是内定值,表示空格就放着。3. 字符总宽度。为最小宽度。4. 精确度。指在小数点后的浮点数位数。 最后程序运行正确,数据正确时,将文件保存到指定位 置,打开读取保存的函数文件。 流程设计: 操作开始 调整图像模式 输入参数 h, v1, a, g h0 v10 N a0 g0 Y 调用函数公式计算其他参数,输出其他参数 保存函数,读取函数 N Y 操作结束 代码设计 : 开始部分#includestdio.h #includemath.h #include graphics.h #define PI 3.1415926 double geth_t(double h,double v1,double A,double g,double t); int main(void) { 图像设置 initgraph(640, 480); 输入参数计算参数: double h,v1,a,g; char s[10]; int flag=0; do { InputBox(s, 10, 请输入初始高度); sscanf(s, %lf, h); if(h=0) flag=0; else flag=1; }while(!flag); flag=0; do { InputBox(s, 10, 请输入出始速度); sscanf(s, %lf, v1); if(v1=0) flag=0; else flag=1; }while(!flag); flag=0; do { InputBox(s, 10, 请输入初始角度); sscanf(s, %lf, a); if(a=-90) { if(a=90) flag=1; else flag=0; } else flag=0; }while(!flag); flag=0; do { InputBox(s, 10, 请输入重力加速度); sscanf(s, %lf, g); if(g=0) flag=0; else flag=1; }while(!flag); double A=(a*PI)/180; double v2=sqrt(v1*v1+2*g*h); double cosB=(v1*cos(A))/v2; double sinB=sqrt(1-cosB*cosB); double B=acos(cosB); double T=(v1*sin(A)+v2*sinB)/g; double S=v1*cos(A)*T; double b=-B*180/PI; double h_max; double v_max; if(a=0) { h_max=h; v_max=v1; } else { h_max=h+(v1*v1*sin(A)*sin(A))/g; v_max=v1*sin(A); } 画出图像嵌入数据: double det_s=S/400.0; double det_h=h_max/400.0; double de

文档评论(0)

1亿VIP精品文档

相关文档