- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算器是Windows操作系统提供的一个附件功能。可以用Visual Basic、Visual C++等编制计算器,由于这些程序提供了控件,所以实现相对容易。Turbo C没有控件,但我们可以利用它所具有的函数模仿画出其界面,实现计算器的基本功能,进行浮点数的加、减、乘、除、乘方、求模运算。 实现计算器功能,首先是输出计算器图形样式,然后通过按键的方式实现数值运算。 Turbo C通常工作方式是字符文本模式,要显示图形,调用图形函数,则必须进入图形工作方式,此时可以利用initgraph函数。 为了布局合理,操作方便,要根据窗口大小设计按钮的大小和位置。显示的按钮利用bar、rectangle函数画矩形显示,按钮上的文字用outtextxy函数输出。 由于在图形模式下,光标是不可见的,为了能正确地选择按钮,需自己设计一个光标图形,利用putimage函数实现光标的显示和隐藏。 计算器的操作需要通过键盘实现,bioskey函数可用来读取用户所按键的信息。如果按下的是Alt?+?x键可以结束程序。如果按下的是光标键,显示光标相应移动位置。如果按下回车键,判断所按的字符,进行相应处理: (1) 当所选为数字或小数点时,则先判断是否为负数。如果是负数则将该字符连接到字符串中,否则只连接所选的数字或小数点,并显示数据。 (2) 当所选为“-”时,先判断有无操作数。没有,则为负数,做负数标记,否则是做减法,做减法标志,并将当前的操作数保存。 (3) 当所选为“+”、“*”、“/”、“^”、“%”时,处理方式一样,均是先保存第一个操作数,做运算标志,准备接收第二个操作数。 (4) 当所选为“=”时,根据运算符标志进行相应运算,将结果显示。 (5) 当所选为“C”时,表示清零,将第一个和第二个操作数均置0。 (6) 当所选为“Q”时,则运算结束。 数据和结果的显示,依然用outtextxy函数实现。 按照本项目的任务要求,采用模块化的程序设计思想,将计算器开发系统划分成画边框模块、图形系统初始化模块、计算器设计模块、窗口设计模块、鼠标图形设计模块、按键设计模块等;各模块中的数据处理采用在TC环境下,依照图形处理及窗口设计形式来实施具体任务,并在主程序中完成各模块的调用。 通过本项目的学习,初步了解视口的概念并掌握C语言Turbo C图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示等,并理解用户界面编程的基本步骤、结构、语法规则及图形图像标准库函数的使用,掌握通过C语言实现DOS功能调用、通过控制台进行数据输入和数据输出,学会在TC环境下实现C语言图形图像程序设计的基本操作。 【项目分析】 计算器开发的设计思路如下: (1) 在C语言图形工作方式下,合理设置边框、按钮、鼠标及加减乘除乘方等运算功能,掌握图形图像程序设计的基本操作。 (2) 采用模块化设计思想,将项目设计按照其功能划分成图形系统初始化、计算器设计、窗口设计等系列模块。在设计中,注意各模块与Windows系统在显示方式、窗口布局、系统参数等方面的合理性及一致性。 (3) 通过设计一个仿真计算器界面完成具体的操作和计算功能。 通过本程序训练学生程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、转换函数的用法、Turbo C图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示,初步了解视口的概念。 【项目实施】 源程序如下(运行环境:Turbo C2.0): #include dos.h /*DOS接口函数*/ #include math.h /*数学函数的定义*/ #include conio.h /*屏幕操作函数*/ #include stdio.h /*I/O函数*/ #include stdlib.h /*库函数*/ #include stdarg.h /*变量长度参数表*/ #include graphics.h /*图形函数*/ #include string.h /*字符串函数*/ #include ctype.h /*字符操作函数*/ #define UP 0x48 /*光标上移键*/ #define DOWN 0x50 /*光标下移键*/ #define LEFT 0x4b /*光标左移键*/ #define RIGHT 0x4d /*光标右移键*/ #define ENTER 0x0d /*回车键*/ void *rar;
您可能关注的文档
- C#面向对象基础教程 作者 宋楚平 周建辉 第10章 集合和泛型.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第11章 字符串.ppt
- C#面向对象基础教程 作者 宋楚平 周建辉 第12章 程序的异常和调试.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第1章 C++简单程序设计.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第3章 数组.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第5章 程序结构.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第6章 指针与字符串.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第7章 继承与派生.ppt
- C++程序设计语言 第1-8章 作者 揣锦华_ 第8章 多态性.ppt
- C++程序设计语言 第9-10章 作者 揣锦华_ 第10章 异常处理.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 2分支程序设计.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 3循环程序设计.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 4数组.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 5函数.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 7 结构体.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目 9.ppt
- C语言项目实训教程 作者 侯小毛 马凌 项目1 初识C语言.ppt
- DAVINCI技术剖析及实战实用开发指南 作者 张亮_ 第1章.ppt
- DAVINCI技术剖析及实战实用开发指南 作者 张亮_ 第3章.ppt
- DAVINCI技术剖析及实战实用开发指南 作者 张亮_ 第4章.ppt
文档评论(0)