计算器课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
湖南文理学院课程设计报告
课程名称:计算器程序设计
系部:电气与信息工程学院
专业班级:通信09102班
学生姓名:邱金华
指导教师:杨民生
完成时间:2010/9/25
报告成绩:
计算器程序设计
第一章综述
1.1 课题的现实意义
现实学习生活中,常会遇到一些数目较大数据繁杂的数值运算,徒手运算起来很困难,这时候我们就必须用到计算器,所以便着手开发了这个计算器程序,以便用于自己的学习工作。人们对计算的要求不断提高,普通的功能简单的仅能进行四则运算的计算工具已经不能满足需要,需要一种能进行多种计算。现在已经有一些功能较为强大、涵盖面较广的计算软件,而且各种平台的小工具仍不断出现。这些大大方便了我们的生活给我们更多的选择和实现方式。
这个程序可以直接输入数学表达式,不需要任何转换,就可以直接输出数学四则运算的结果。并且操作简单、界面清晰、灵活、实用、方便等要求出发,它所能完成的主要计算功能有以下几个方面:加法,减法,乘法,除法,求幂,求模,求平方根,求Sin,求Cos,求Log10。计算器的设计使我们所学到的c语言知识在现实中得到检验!
信息时代是科技和经济发展的产物,软件产业是信息时代的产物,它在我们的生活工作中发挥着越来越大的作用,计算器的设计对我们知识的掌握有很大的作用,更能方便他人,可行性很强!
1.2 硬件环境
一台完整的电脑,包括键盘、鼠标,最小硬盘空间1GHz
<1> 386,486,586及兼容机.640K基本内存;
<2> 1M以上扩充内存,10M以上的显示内存.
1.3 软件环境
开发环境:本系统的设计采用的是TC语言开发
Windows XP sp2操作系统,Turbo C 2.0汉化版 , WPS word
第二章程序的作用及设计目的
2.1 程序的功能作用
计算器是Windows 操作系统提供的一个附件功能许多人用Visual Basic Visual C++等编制计算器,由于这些程序提供了控件所以实现相对容易。Turbo C 没有控件,但我们可以利用它所具有的函数模仿画出其界面,实现计算器的基本功能,进行浮点数加、减、乘、除、乘方和求模运算。
2.2 程序设计目的
通过本程序训练读者程序设计的基本技能,掌握字符串的表示方法和字符串函数的功
能、Turbo C 图形操作的基本知识、键盘上特殊键的获取以及图形方式下光标的显示。
第三章程序分析和设计
实现计算器功能,首先是输出计算器图形样式,然后是通过按键的方式实现数值运算。所以程序主要由两大部分实现,一部分功能是显示计算器,一部分是实现计算功能显示。计算器是在屏幕上显示图形,Turbo C 提供了PC 系统环境下扩充的屏幕和图形支持系统,利用此系统提供的字符屏幕处理函数和图形系统的有关信息及函数即可很好地实现。计算功能主要要解决的是接收按键信息的处理,要进行识别,如果按键是数字符号,要将其转变为操作数,如果是运算操作符,则进行相应的处理。
3.1 主界面
首先是画一个带标题calculator 的窗口,窗口为一白色边框,窗口中最上面是一个绿色光条,此光条上显示数字和运算结果,光条下有20 个红色边框的灰色矩形块模拟命令按钮按钮,上面显示有数字和运算符号,并且在按钮上有图形光,标通过移动光标键移动到所需位置,按回车键即选择了相应的符号。
主界面如图2-1。所示光标移动到字符Q 上,
按回车键结束运算.
3.2 设计思路
(1) main()主函数
设置了程序的流程,首先初始化图形系统,然后调用计算器computer()函数进行计算,当从计算器程序返回时,关闭图形系统,结束程序。
(2) initialize()初始化函数
Turbo C 通常的工作方式是字符文本模式,要显示图形,调用图形函数,则必须进入
图形工作方式,应首先调用函数initgraph(&GraphDriver, &GraphMode, "" )初始化图形系统,并装入相应的图形驱动器。该函数把由GraphDriver 所指向的图形驱动器代码装入内存。如果图形驱动器未装入内存,图形函数将不能操作图形函数所用的屏显模式由GraphMode 所指向的整数值确定。该函数的第三个参数为图形驱动器的路径,设为空串表示在当前工作路径上寻找。图形驱动器包含在.BGI 文件中,且必须在该系统下是可用的,.BGI 程序在Turbo 的目录下。用DETECT 自动检测目前系统屏显硬件的类型,并且选用最大分辨率的屏显模式。初始化后将一些信息保存在相应的变量中,以备后用。如果图形初始化失败,则程序结束。为了方便设计计算器界面,在这个函数中,获取了图形屏幕的最大尺寸以及纵横比。
(3) mwindow() 主窗口函数
设置视口大小为当前窗口的一半,然后调用画边框函数drawboder()画出边框。本程序视口设置在左上角位置,读者可以自行计算将视口设在屏幕中央,同时将计算函数中的图形输出做相应的调整。
(4) drawboder()画边框函数
通过函数getviewsettings(&vp)把有关当前视口的信息装入由vp 所指向的结构中。vp 是struct viewporttype 类型,其结构定义如下:
struct viewporttype
{
int left,top,right,bottom;
int clip;
}
域left 、top、right、bottom 中存放视口左上角和右下角的坐标。当clip 为0时不进行对超出视口边界输出的剪裁,否则,执行剪裁以防止超出边界。字符屏幕操作和图形函数的核心是窗口,它是屏幕的活动部分,在这个活动窗口中将显示输出。Turbo C 在字符屏幕和图形系统之间用了稍微不同的术语,以保持两个系统的独立。字符屏幕的函数提供了窗口(Window),而图形系统提供了视口(Viewport),但概念是一样的,但是当屏幕用字符模式时,左上角坐标为(1,1),而在图形状态下,左上角坐标为(0,0)。
根据视口坐标,利用画矩形函数rectangle()画出边框线。本程序视口设置在屏幕的左上角位置,我们可以自行计算将视口设在屏幕中央,同时将计算器函数中的图形输出做相
应的调整。
(5) computer()计算器函数
该函数是本程序的主要函数,其流程是先调用mwindow()函数显示一白色边框的窗口,再在窗口中显示计算器,然后接收按键进行运算。为了布局合理、操作方便要根据窗口大小设计按钮的大小和位置。读取当前窗口的大小后,设置了两个单位变量width 和height,图形显示以这两个变量为计算单位,布局如图2-2 所示。