VFP程序设计报告 计算器分析由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“程序设计报告计算器”。
VFP程序设计报告
专业:外国语学院英语专业
姓名:段莹婷 学号:9*** 题目:计算器 指导教师:薛春香
一、设计意图
在决定设计计算器程序之前,我有尝试过设计工资管理系统,结果发现工资管理系统比较繁琐有没什么用处,便改为设计程序较为简单,且实用性强的计算器,除了可以完成VFP任务,在平时生活中也可以使用。
二、系统主要功能
该计算器是一款小型的用于简单数学计算的程序,能完成基本算术运算并显示其结果,使用计算器可进行加(+)、减(-)、乘(×)、除(/)、开方(sqrt)、百分数(%)、倒数(1/x)等简单算术计算,但无法进行复杂的平方、求平均数等科学型的计算。
主要表单:欢迎界面(welcome.scx),计算器界面(calculator.scx)。
三、使用方法
1、键入数字时,按下相应的数字键,如果按错可用(CE)键消去一次数值,再重新输入正确的数字;
2、加(+)、减(-)、乘(×)、除(÷)键用于进行四则运算;
3、根号(sqrt)键是开二次方根;
4、1/x 键取倒数;
5、按下(+/-)键可改变数字的正负值;
6、按下等号(=)键显示运算结果;
7、MS键存储显示的数据,MR键读取已存储的数据,MC键清除存储数据,M+键将显示结果与已存储数据相加;
8、C(CLEAR)键表示清零,作用是将计算器恢复到开机状态,而CE(CLEAR ERROR)键仅表示当前数字清除,作用是将当前输入的数字清除回到0状态。
四、设计过程
(一)、准备工作
将F盘中的所有文件清除,放入制作计算器所需的图片。
Set default to F
&&将F盘设为默认目录。
(二)、欢迎界面的设计
文件—新建—项目,新建名为jsq的项目,在项目管理器中新建一表单form1,将form1的Caption属性设为“欢迎”,Picture属性中插入背景图片。在表单中绘制三个标签(Label),将其Caption属性分别设为“欢迎使用计算器”、“进入计算器”及“取消”,并修改相应属性以使界面符合理想要求。
Label 2控件的Click事件代码为: do form calculator thisform.release Label 3控件的Click事件代码为: Thisform.release 最后成品界面如下所示:
将这个表单设为主文件。
(三)、计算器的设计
1、添加控件
在项目管理器中新建第二个表单form2,将其Caption属性设为“计算器”。
首先为表单新建属性,系统菜单栏中选“表单”——“新建属性”——名称:ls ——“添加”。再新建属性mm。
添加27个命令按钮,其命令按钮的Caption属性和Click事件代码分别为:(1)[1] 按钮
Command1.Caption=’1’
Command1.Click事件代码为:thisform.text1.value=thisform.text1.value+'1'(2)[2] 按钮——[9] 按钮的设置同[1] 按钮相似。(3)[0] 按钮
Command10.Caption=’0’
Command10.Click事件代码为:
thisform.text1.value=thisform.text1.value+'0' if alltrim(thisform.text1.value)='00' thisform.text1.value='0' endif(4)[+] 按钮
Command11.Caption=’ +’
Command11.Click事件代码为:thisform.ls=val(thisform.text1.value)
thisform.tag='1'
thisform.text1.value=''(5)[-] 按钮
Command12.Caption=’ -’ Command12.Click事件代码为:thisform.ls=val(thisform.text1.value)
thisform.tag='2'
thisform.text1.value=''
(6)[×] 按钮
Command13.Caption=’ ×’
Command13.Click事件代码为:thisform.ls=val(thisform.text1.value)
thisform.tag='3'
thisform.text1.value=''(7)[÷] 按钮
Command14.Caption=’ ÷’
Command14.Click事件代码为:thisform.ls=val(thisform.text1.value)
thisform.tag='4'
thisform.text1.value=''(8)[=] 按钮
Command15.Caption=’ =’
Command15.Click事件代码为:do case
case thisform.tag='1'
thisform.text1.value=alltrim(str(thisform.ls+val(thisform.text1.value),20,4))
case thisform.tag='2'
thisform.text1.value=alltrim(str(thisform.ls-val(thisform.text1.value),20,4))
case thisform.tag='3'
thisform.text1.value=alltrim(str(thisform.ls*val(thisform.text1.value),20,4))
case thisform.tag='4'
thisform.text1.value=alltrim(str(thisform.ls/val(thisform.text1.value),20,4))
endcase
(9)[MC] 按钮
Command16.Caption=’MC ’
Command16.Click事件代码为:thisform.mm=0
(10)[MR] 按钮
Command17.Caption=’MR ’
Command17.Click事件代码为:thisform.text1.value=alltrim(str(thisform.mm))
(11)[M+] 按钮
Command18.Caption=’M+ ’
Command18.Click事件代码为:
thisform.mm=thisform.mm+val(alltrim(thisform.text1.value))
(12)[MS] 按钮
Command19.Caption=’MS ’
Command19.Click事件代码为:thisform.mm=val(alltrim(thisform.text1.value))
(13)[+/-] 按钮
Command20.Caption=’ +/- ’
Command20.Click事件代码为:if substr(alltrim(thisform.text1.value),1,1)='-'
thisform.text1.value=substr(alltrim(thisform.text1.value),2)
else
thisform.text1.value='-'+alltrim(thisform.text1.value)
endif
(14)[·] 按钮
Command21.Caption=’ · ’
Command21.Click事件代码为:if at('.',thisform.text1.value)=0
thisform.text1.value=thisform.text1.value+'.' endif
(15)[退出] 按钮
Command22.Caption=’ 退出 ’
Command22.Click事件代码为:thisform.release
(16)[1/x] 按钮
Command23.Caption=’ 1/x ’
Command23.Click事件代码为:
thisform.text1.value=alltrim(str(1/val(thisform.text1.value),20,4))
(17)[sqrt] 按钮
Command24.Caption=’ sqrt ’
Command24.Click事件代码为:
thisform.text1.value=alltrim(str(sqrt(val(thisform.text1.value)),20,4))
(18)[退格] 按钮
Command25.Caption=’ 退格’
Command25.Click事件代码为:
thisform.text1.value=substr(alltrim(thisform.text1.value),1,len(alltrim(thisform.text1.value))-1)
(19)[CE] 按钮
Command26.Caption=’CE’
Command26.Click事件代码为:thisform.text1.value=''
(20)[C] 按钮
Command27.Caption=’CE’
Command27.Click事件代码为:thisform.text1.value=''
thisform.ls=0 thisform.tag=''
完成之后修改它们的FontBold、FontName、ForeColor属性进行美化。
添加三个文本框,text1,text2,text3,Text3.ReadOnly=.T.text2.ReadOnly=.T.指定用户不能编辑此控件。
完成之后的界面:
2、创建菜单
3、为“编辑”菜单创建子菜单
4、为“查看”菜单添加子菜单
最后生成菜单。
5、设置菜单属性
设为顶层表单。
(四)、创建程序和配置文件
程序代码为:
do form calculator.scx read events
配置文件代码为: Screen=off
修改表单:
Form1.init=do calculator.mpr with this,.T.Form1.Destroy=thisform.release clear events
(五)、小结
刚开始得知要自己用VFP编写程序的时候,我觉得这几乎是不可能完成的任务,同时也很后悔自己上学期没有认真听讲。在毫无想法地度过了几天之后,我开始面对现实。最初的想法是编写一个工资管理系统,表做得很顺利,但之后做菜单时遇到了问题,绞尽脑汁无法解决后我便放弃了这个系统,转而设计程序简单却很实用的计算器。刚开始跟着书本亦步亦趋,但是越做越发现书上的代码好像有点问题,中间步骤也似乎不是很完整,我决定不按书上的套路来。在查阅了书本、浏览了几个程序设计网站之后,我制作了一个和书上代码不同的计算器程序,添加了一个菜单。计算器程序编写完成之后,我感到自己的程序过于单薄,便又添加了一个欢迎界面。最后连编时又遇到了大问题,无论怎么连编,最后生成的程序都无法运行,为解决这个问题,我用别人的电脑试过,还重装了VFP软件,还浏了许许多多网页,最后很凑巧地成功了。在制作过程中,我对表单的背景、字体等的设置都是经过深思熟虑的,虽然这个程序很简单,但毕竟是自己的劳动成果,我还是很满意的。
VFP程序设计的过程,不仅是完成必须任务的过程,这个过程还让我收获了除了学术知识方面的其他果实。
第一,我体会到了自主学习的重要性。VFP程序设计,不是只有我觉得困难,大家都很苦恼,在这种时候能够依靠的就只有自己,要学会自己搜取需要的资源。
第二,自主学习不代表各管各,只扫自家门前雪,不管他人瓦上霜。遇到实在无法解决的问题时,互帮互助是很重要的。自己不懂的,别人也许很擅长,帮他人解决问题时,自己也可能会学到新的技巧;
第三,耐性很重要。做完计算器程序之后其实我有点后悔,因为当我回过头去看被我放弃的工资管理系统时,我发现之前弄不明白的问题在编写计算器程序的过程中已经找到了答案,如果当初我能多查阅一些资料,也许就能成功完成工资管理系统了。但同时我又庆幸自己坚持做完了计算器。所以做任何事情,碰到任何困难,都不能立即判死刑,再多点耐心,再坚持一会儿,方能柳暗花明又一村;
第四,相信自己!我能编写出一个程序这就是最好的例证!
班级:电气2013-1 学号:20***9 VFP程序设计——课设总结为期几周的VFP数据库设计的课设就快过去了,在这做课设的这段时间,可以说是有苦有甜,令人难忘。因此,有必要写一篇总......
响水电大函授站《VFP语言程序设计》期末试题班级: 学号: 姓名: 得分: 第一部分:计算机基础知识(选择题) 1.下列关于个人移动通信的叙述中,错误的是____ A.第1代个人移动通信(......
“VFP程序设计”教学案例与反思 开县职业教育中心 向生我长期从事计算机专业班的VFP教学,针对VFP课程的特点,在教法上,以‚示例教学法‛、‚‘课机’结合式教学法‛、‚任务驱......
“VFP程序设计”课后反思民勤职专高海霞我从事计算机专业班的VFP教学,针对VFP课程的特点,在教法上, 以“案例教学法”、“课机结合式教学法”、“任务驱动教学法”为主开展教学......
五、VFP高级程序设计(应用性实验)1、本次实验的目的Visual FoxPro不但提供了用于进行简单程序开发的简单语句,而且还提供了许多用于进行高级程序设计的语句(命令):如输入/输出格式......