云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 小型科学计算器的设计与实现3

小型科学计算器的设计与实现3

  • 62 次阅读
  • 3 次下载
  • 2025/5/3 14:10:12

沈阳航空工业学院毕业设计(论文)

3.1.2关系模型设计

本系统中主要的关系模型设计如下: 算式信息(编号,算式名);

按键信息(编号,按键名,按键功能);

3.1.3数据库结构设计

每个数据文件均有一张定义表。其数据库各表的表头信息更为详细的反映数据间的关系。本系统数据库的内容包括算式表、帮主功能表。

表的具体设计如下所示:

(1)算式表用来存储算是编号和算式名,表名:message。本表用来存储已用户常用的算式,其中可以对算式进行保存、删除、修改,方便用户及使用到常用的式子,提高用户效率。算式表如表3.1所示。

3.1算式表

字段名称 编号 算是名 数据类型 Int QString 长度 4 16 备注 算是编号(Id) 算式(formulanumber)

(2)按键信息表用来存储按键编号,按键名,按键功能,表名:helpmessage。本表用来实现帮助功能,存储帮助功能中按键的信息,可以查看所有的按键功能,也可以看单个按键信息,还可以对案件信息进行增加和删除。按键表如表3.2所示。

3.2按键表

字段名称 编号 按键名 功能 数据类型 自动编号 Vchar Vchar 长度 长整型 1 1 备注 为主码、唯一(id) 按键名(helpname) 按键功能(explain)

11

沈阳航空工业学院毕业设计(论文)

3.2系统功能模拟设计

3.2.1普通计算功能

(1) 界面设计

界面设计我是使用Qt designer进行设计,首先创建一个CounterWidget.Ui,这个界面为QWidget。然后在左侧的Widget Box找相应的控件添加到CounterWidget里。首先提出一个lineEdit控件作为算式显示窗口和结果显示窗口,在提取出26个QpushButton为0到F按键和加减乘除按键、等于按键、帮助按键。然后再把各个pushButton名字改成相应的符号,并且改对应pushbutton的属性,保存后取vs2008编译CounterWidget.Ui,运行程序就可以显示相应界面。

(2) 算法设计

现在.h文件中对各个按键在私有槽中进行声明,例如:void on_zeroButton_clicked();,就对0键进行声明,然后就可以在.cpp进行编写程序。声明first,second两个整形表示第一个输入和第二个输入,然后用Qt封装好的append()函数进行编写代码,使其按键符号点击后可以在lineEdit上显示,在这里用的是信号和槽的机制。

等于好中的算法主要用栈进行编写,在下面科学计算中再详细介绍。

3.2.2科学计算功能

本界面的主要功能是在普通计算上添加一些科学计算,如平方、开放、取倒数、正弦、余弦、大括号、中括号、小括号等功能。

(1) 界面设计:

在普通窗口的基础上添加一些QPushButton按钮,修改其属性,变成相应的功能,再从左面把QRadioButton控件加到界面中,使其分别为普通计算和科学计算。这个控件的功能为只能有一个被点中,然后再拖拽四个QRadioButton控件到界面,使其分别表示二进制、八进制、十进制、十六进制,修改期属性。再到vs2008中编译次ui界面,点击运行时可显示相应的界面,达到想要的效果。

(2) 程序的具体实现:

首先各个按钮控件都得在,h文件中声明,再到,cpp文件中写相应的代码。在二进制、

12

沈阳航空工业学院毕业设计(论文)

八进制、十进制、十六进制的函数中把相应用不到的按键用函数写成不显示,要用的显示,然后读取显示窗口的内容,把其转换成相应进制的数字,并把此时窗口的状态记录成此时的进制,方便其他的运算。

在其他科学运算符的按键的函数编写代码,读取窗口数据,把其转换成double型,然后进行相应的运算,再把结果显示到窗口。

3.2.3时间功能

(1) 界面设计:

在窗口的右侧添加一个lineEdit控件,修改其属性,把它作为显示时间用。再到vs2008中编译ui界面。

(2) 具体功能实现:

这个功能我要在软件刚打开就显示,所以我在构造函数进行编写此功能。在其中声明一个时间的函数,然后在根据startTimer(1000)使其每一秒刷新一次,在编写时间函数,使其显示时间为电脑上的时间,日期为点到日期,时间为时间,再按照年月日时分秒的顺序显示出来。

3.2.4算式提取功能

本模块是本系统的算式提取、删除、保存功能。 (1) 界面介绍:

这里我要用三个QpushButton控件,他们分别表示提取算式、保存算式、删除算式,在修改其属性,在拖拽一个tableView控件,它用来把算式存储的结果显示出来,而且还可以在其上点击选择的算式。

(2) 程序的具体实现:

保存算式:首先提取窗口上的算式,然后查询算式表(message),查找最后一个id的值,然后id加一,再把次id和窗口提取的算式存入数据库算式表(message)中,然后查询整个message表把表中的内容显示出来。

提取算式:先用currentIndex().row()把鼠标点中的行选中,提出行数,把它作为id。然后声明tableView的model,这个是Qt专门为tableview封装好的model, 它的作用为把数据显示到tableView,我再从数据库中查找相应的id,把他的算式通

13

沈阳航空工业学院毕业设计(论文)

过model存储到一个QString型的变量中,然后就可以把它显示到窗口。

删除算式:先用currentIndex().row()把鼠标点中的行选中。提出行数,声明model,再用model中封装好的函数删除这一行,在加上警告函数,判断是否删除,就可以了。

(3)数据库设计

首先创建一个database.h文件,在这个文件中编写创建message表,用sql语句编写,这个表包含两个元素,分别为id和formulanumber,id我设定为自增长,formulanumber为算式,这里我使用的是QSqlite数据库,它小巧,占内存空间小,更快捷,在main主函数连接数据库就可以了。

3.2.5清空功能

此功能为清空显示窗口,这里用Qt封装好的函数clear(),直接把lineEdit给清空,这样就达到效果。

3.2.6删除功能

此功能为删除窗口最后一个字符,具体编写为:提取窗口的内容,把它存到一个QString型变量中,然后用Qt封装好的函数,把这个变量从左开始把最后一个字符去掉,使其长度减少一,在存放到这个变量中,再把这个变量重新输入到窗口中,这样就达到删除的功能了。

3.2.7帮助功能

本模块是本系统的帮助功能,它负责介绍各个按键的功能,他还可以添加按键功能,也可以删除按键功能,还可以查询所有的按键功能,也可以通过条件查询查询单个按键功能。

(1) 界面介绍:

因为这是有一个界面,所以我有创建一个界面helpDialog.ui,它是QDialog比QWidget第一个级别。这里我用新号和槽来实现点击帮助出现这个界面。

在QDialog里放一个大的tableView用来显示帮助按钮的名字和按钮信息,

再加一个QLable表示按键名,再加一个QLineEdit来输入按键名,还有一个

pushButton来表示查询,这样就可以查询用户要查询的单独信息,方便用户快速

14

搜索更多关于: 小型科学计算器的设计与实现3 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

沈阳航空工业学院毕业设计(论文) 3.1.2关系模型设计 本系统中主要的关系模型设计如下: 算式信息(编号,算式名); 按键信息(编号,按键名,按键功能); 3.1.3数据库结构设计 每个数据文件均有一张定义表。其数据库各表的表头信息更为详细的反映数据间的关系。本系统数据库的内容包括算式表、帮主功能表。 表的具体设计如下所示: (1)算式表用来存储算是编号和算式名,表名:message。本表用来存储已用户常用的算式,其中可以对算式进行保存、删除、修改,方便用户及使用到常用的式子,提高用户效率。算式表如表3.1所示。 3.1算式表 字段名称 编号 算是名 数据类型 Int QString 长度 4 16 备注 算是编号(Id) 算式(formulanumber

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com