菜单:大学计算机C语言课程设计(调用鼠标).docVIP

菜单:大学计算机C语言课程设计(调用鼠标).doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
菜单:大学计算机C语言课程设计(调用鼠标).doc

课程设计 (2012-----2013 学年度 第二学期) 题 目: 鼠 标 控 制 学生姓名: 高 志 薇 学生学号 : 1108210106 专 业: 计算机科学与技术 班 级: 11级(3)班 指导教师: 目录 1.设计目的……………………………………3 2.设计要求……………………………………3 3.算法说明………………………………………3 4.流程图………………………………………4 4.1 主函数……………………………………4 5.程序测试……………………………………………5. 6.结论与体会…………………………………………5 7.参考资料…………………………………5 8.源代码…………………………………6 1.设计目的 通过一个综合应用程序的开发,掌握C语言程序设计的基本方法和常用算法,学会从实际应用出发来分析问题,进行软件规划和算法设计,逐步求精,养成良好的编程风格,熟悉软件设计的基本步骤,为后续课程的学习打下良好的基础。 2.设计要求: (1) 实现弹出式菜单,菜单至少分为两级 (2) 界面尽量友好,尽量符合人们的操作习惯 (3) 有退出图标,在任意级菜单下点击退出图标退出整个程序 (4) 至少有5个子菜单项 (5) 实现同组同学的菜单集成 相关知识:图形绘制、鼠标操作、循环、分支、数组等 功能扩充:1)三级菜单 2)增加子菜单项 3.算法说明 3.1 鼠标样子的计算(画鼠标) 鼠标的状态是存放在两个一维数组(UpNum[16], DownNum[16])mouse_draw[16][16]里面的。是通过UpNum[16], DownNum[16]两个一维数组给up[16][16],down[16][16]两个二维数组赋值,再通过up[16][16],down[16][16]给mouse_draw[16][16]赋初值。具体的说,UpNum[16], DownNum[16]里的数字都是4位的16进制数,展开后将其值分别赋给up[16][16],down[16][16]两个数组。这样up[16][16],down[16][16]就是仅由0,1组成的数。up[16][16],down[16][16]同位置坐标相比有四种可能。其中两种是没有像素的点。另外两种一种代表鼠标内部颜色,另一种代表鼠标边界颜色。 3.2 菜单模型的控制 按照我设计菜单的思路,上一级菜单可以进入下一级菜单,下一级菜单可以返回上一级菜单或进入下一级菜单。因此对于我要达到的3级菜单,我引入了3个控制菜单的变量,i,j,k。i 是控制其级数,表明处于第i级菜单。j 表示其是第几个一级菜单或其下子菜单。k代表其为3级菜单,处于所在上级菜单的第k个子菜单(功能)。 比如主菜单下:i=0;j=0;k=0; 又如在调用的五子棋,i=2;j=3;k=0; 4.流程图 (判断条件时,红色代表False,绿色代表True。) 4.1 主函数 5.程序测试 在编程过程中,对于我们初学者,经常会出现,程序运行结果和预期不同的情况。以下是我常碰到的几种及解决方法。 1.没有对屏显进行初始化。方法:对屏显进行初始化 2.鼠标留痕迹,或者留“阴影”。方法:没有控制好函数MouseOn(int x,int y),MouseOff()。为了更好的控制我另外定义了一个函数MouseSave()。进行了多次调整。 3.点击时出现画面连续跳转。这是由鼠标左击是连续点击的过程(即便很快地点一下),这时应该能想到计算时间间隔控制它,或者采用延时。延时调用函数少,我采用了延时方法。但是delay(int x)函数,电脑与电脑差别甚大,有些电脑甚至用不了。而sleep()又延时1秒以上,使得画面十分不灵活。经过查阅图书,我发现了另外一种延时方法,用for空循环千万次数量级,可以形成比较稳定的延时,并且通过控制循环次数,可以很方便得改变延时时间。 6.结论与体会 在学习C语言的过程中,我从完全不懂TC,到能自己编出简单的菜单模型,收获了很多很多。一些看似简单的bug,却让没有经验的我调试很久。慢慢就体会到了,那些从事编程工作的人们的辛苦。更让我觉得那些任意盗版他人作品人的可恶。自己起早贪黑做出的程序却被他人未经授权直接拿去从事商业活动。创作人员的积极性正是在这种情况下被一点一点的擦去的。编程其实和写作很像,曾经看过《疯狂的编程员》的前几章,作者说,他从来不把编程序叫作编程序,他把那称为写程序。一字之差,却不难看出程序中包含了多少编程人员的心血。 在此期间,我学习的对象

文档评论(0)

实验室仪器管理 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档