版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、信息科学与技术学院程序设计基础课程设计报告题目名称: 输出指定图形程序 学生姓名: 学号: 专业班级: 指导教师: 2015年 1月 6 日- 13 -目录1 课程设计题目与要求1.1 设计题目 1.2 设计要求1.2.1 要求1.2.2 其他要求2 总体设计2.1 程序总体功能框架图2.2 各个模块的功能说明2.2.1 系统主模块2.2.2 系统依赖模块2.2.3 缓冲区处理模块2.2.4 图形模块3 详细设计3.1 类设计与数据结构3.1.1 数据设计结构3.2 系统模块设计与实现3.2.1 概述3.2.2 系统主模块3.2.3 系统依赖模块3.2.4 缓冲区模块3.2.5 图形模块4 运
2、行与测试4.1 DEBUG阶段4.1.1 系统依赖模块4.1.2 缓冲区处理模块4.1.3 图形模块4.2 模版联调5 课程设计总结 6 参考文献1课程设计题目与要求1.1 设计题目 输出指定图形程序1.2 设计要求1.2.1要求 (1)输出正M边型编写程序输出边长为N的空心正M边型(N,M由用户输入),其边由”*”组成。(2)输出空心圆编写程序在屏幕上输出一个由”*”围成的空心圆。由于屏幕是25行×80列,故将圆心定在屏幕中心40列的位置,将半径定为10行,这样可保证整个图形显示在一屏中。利用圆的方程X2Y2R2(R10)可求出坐标(X,Y),然后用对称性算出右侧对应点的坐标。(3
3、) 利用菜单选择实现上述图形的输出。1.2.2其他要求:只能使用C语言,源程序要有适当的注释,使程序容易阅读至少采用文本菜单界面(如果能采用图形菜单界面更好)学生可自动增加新功能模块(视情况可另外加分)2总体设计2.1 程序总体功能框架图系统主模块缓冲区模块系统依赖模块图形模块 图 2.1.0 程序总体功能框架图2.2 各个模块的功能说明2.2.1系统主模块系统主模块主要完成资源的加载和初始化的工作。2.2.2系统依赖模块系统依赖模块主要提供与操作系统交互相关的功能,以减少系统依赖性。主要包括控制台光标重置函数、按键检测函数。2.2.3缓冲区处理模块缓冲区处理模块主要完成与缓冲区与显示器的交互
4、工作。2.2.4图形模块图形模块主要负责整个图形的绘制工作。3详细设计3.1类设计与数据结构设计3.1.1数据结构设计本程序由于数据量并不大,故采用静态数组和动态数组作为数据容器。3.2 系统模块设计与实现3.2.1概述本程序根据实际情况和基于可移植性的考虑,将程序分为了系统主模块、图形模块、缓冲区处理模块以及系统依赖模块。3.2.2系统主模块系统主模块主要负责整个的逻辑处理和资源加载、初始化功能。调用圆函数输入选项开始开始输入选项3.2.3系统依赖模块本模块主要提供与操作系统交互相关的功能,以减少系统依赖性。主要包括控制台光标重置函数、按键检测函数。调用Input函数调用圆函数数函数功能:返
5、回键盘缓冲区按键消息情况形参说明:本函数无形参判断边长判断*号数l 控制台光标重置函数函数功能:移动控制台光标算法流程图:结束图3.2.3控制台光标重置函数算法流程图3.2.4缓冲区处理模块缓冲区处理模块主要负责输出缓冲区内容到屏幕上。主要包括缓冲区创建函数、缓冲区输出函数和缓冲区回收函数。l 缓冲区创建函数函数功能:创建一个缓冲区算法流程图:图3.2.4 缓冲区创建函数算法流程图l 缓冲区输出函数函数功能:输出指定缓冲区内容算法流程图:l 缓冲区回收函数函数功能:回收指定缓冲区内存1 图3.2.4缓冲区回收函数算法流程图3.2.5图形模块图形模块主要用于处理图形绘制的问题点绘制函数。函数功能
6、:在指定位置绘制并返回绘制情况。4运行与测试4.1 DEBUG阶段DEBUG阶段利用模块逻辑对DEBUG的支持进行模块的单独测试。测试结果如下。4.1.1系统依赖模块l 控制台光标重置函数测试参数:空反馈结果:光标移动到控制台开始处测试结果:功能正常修复方案:无需修复l 按键检测函数反馈结果:第一次检测到按键事件第二次主线程被阻塞直到发生按键事件测试结果:功能不正常修复方案:替换按键检测函数,测试通过4.1.2缓冲区处理模块l 缓冲区创建函数测试参数:测试指针反馈结果:创建了默认大小缓冲区测试结果:功能正常修复方案:无需修复l 缓冲区输出函数测试参数:测试缓冲区指针,C_WIDTH*C_HEI
7、GHT反馈结果:屏幕输出了指定缓冲区内容测试结果:功能正常修复方案:无需修复l 缓冲区回收函数测试参数:测试缓冲区指针反馈结果:删除成功测试结果:功能正常修复方案:无需修复4.1.3图形模块l 点绘制函数测试参数:点(1,1)反馈结果:(1,1)位置被填充为指定指针测试结果:功能正常修复方案:无需修复l 字绘制函数测试结果:功能正常修复方案:无需修复修复方案:无需修复测试结果:功能正常修复方案:无需修复4.2 模块联调 菜单界面测试结果:功能正常图4.2.1 欢迎界面运行测试结果:功能正常 图4.2.2 运行界面操作方式:键盘录入。 程序结束测试结果:功能正常图4.2.3运行界面5课程设计总结
8、程序设计基础是我们进入大学的学习的第一门专业课程,因此它对于我有着非比寻常的意义:它让我第一次有机会接受到系统的编程语言的学习和程序编写训练,从这门课程的学习中,我逐步认识到了程序设计与人类生活的息息相关,在老师的指导下,我对于程序设计的思维方法也得到了很大的提高,因此在这里我首先要对我的老师表示感谢。由于时间缘故,我们的课程教学中并没有过多涉及到图形类程序的设计。为了检验自己的思维能力和学习成果,我选择了此课题进行设计,也如同预期的在开发过程中遇到了许多问题,在老师的指导下,我一一解决了这些问题,拿出了这一份虽不算完美,但凝集了我满满汗水的作品。通过本次课程设计,我再一次体验到计算机的强大作
9、用,同时也发现了自己在知识上的匮乏。因此,虽然这门课的学习已经告一段落,但在未来的学习中,我仍将努力的学习专业知识。6参考文献1.何钦铭 颜晖,C语言程序设计(第2版),北京,高等教育出版社.源代码:#include<stdio.h>#include<math.h>#include<windows.h>void Input(int n);void yuan();int main()char choice;int n;while (1) printf(" *图形输出*n");printf(" 1.输出正M边形nn 2.输出空心圆n
10、n 其他键.退出系统nn");printf(" 请输入选项:");choice=getchar();system("cls");switch(choice)case'1':printf("输入边长:");scanf("%d",&n);getchar();Input(n);/调用绘正多边形函数printf("n");system("pause");break;case'2':yuan();break;default:break;
11、if(choice!='1'&&choice!='2')break;printf("0.返回上一层n任意键.退出系统n");choice=getchar();system("cls");if(choice!='0')break;printf("感谢您的输入!n");return 0;void Input(int n)int m=0,p=0,q=0,r=0,s=0,t=0,i=0,j=0;printf("下面是边长为n的正多边形:n");for(j=0;
12、j<n;j+)printf(" ");for(i=0;i<n;i+)/输入第一条边printf("*");printf(" ");printf("n");for(m=1;m<=n-1;m+)/依次输入两侧斜边上的点for(p=0;p<n-m;p+)printf(" ");printf("*");for(q=0;q<2*n-1+2*(m-1);q+)printf(" ");printf("*");printf
13、("n");for(r=0;r<n-2;r+)/输入依次下面的边for(p=0;p<=r+1;p+)printf(" ");printf("*");for(q=0;q<=4*n-8-2*r;q+)printf(" ");printf("*");printf("n");for(s=0;s<n;s+)/输入最后一条边printf(" ");for(t=0;t<n;t+)printf("*");printf(" ");printf("n");void yuan()double y, m;int x;for(y=10;y>=-10;y-)/圆的半径为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030智慧农业科技行业领域现状需求供给投资评估项目发展规划报告
- 2025-2030智慧农业环境监测系统设施市场分析投资评估发展前景规划
- 2025-2030智慧农业物联网技术应用现状与农产品供应链优化分析
- 2025-2030智慧农业技术现状及市场需求投资规划分析报告
- 石材产业园项目建议书
- 护理学成人高考题库及答案解析
- 注塑安全题库及答案解析
- 银川卫健委护理题库及答案解析
- 行程安全驾驶员考试题库及答案解析
- 银行从业考试初级经验贴及答案解析
- 急诊医学急性意识障碍
- 2023年04月2023年山东潍坊高新区招考聘用社区工作人员40人笔试参考题库附答案解析
- 部编版四年级语文上册第25课《王戎不取道旁李》说课稿+优质教案
- 差分进化算法
- 助听器效果评估
- 第一章儿童生活与教育
- 飞山景区旅游开发运营方案
- 四年级上册语文阅读理解及答案(A4打印版)
- GB/T 3478.1-2008圆柱直齿渐开线花键(米制模数齿侧配合)第1部分:总论
- 服饰编码规则表参考范本
- DID方法与合成控制法-课件
评论
0/150
提交评论