Qt_calculator __计算器.

上传人:鲁** 文档编号:511033700 上传时间:2023-07-29 格式:DOC 页数:46 大小:2.05MB
返回 下载 相关 举报
Qt_calculator __计算器._第1页
第1页 / 共46页
Qt_calculator __计算器._第2页
第2页 / 共46页
Qt_calculator __计算器._第3页
第3页 / 共46页
Qt_calculator __计算器._第4页
第4页 / 共46页
Qt_calculator __计算器._第5页
第5页 / 共46页
点击查看更多>>
资源描述

《Qt_calculator __计算器.》由会员分享,可在线阅读,更多相关《Qt_calculator __计算器.(46页珍藏版)》请在金锄头文库上搜索。

1、 题目:科学计算器姓名:张XX学号:2010XXXXXX专业:信息工程姓名:张XX学号:2010XXXXXX专业:信息工程姓名:饶XX学号:2010XXXXXX专业:信息工程姓名:蒲XX学号:2010XXXXXX专业:信息工程姓名:陈XX学号:2010XXXXXX专业:信息工程 201x年x月x日1 引言1.1 设计背景 计算器(calculator;counter)一般是指“电子计算器”,计算器是能进行数学运算的手持机器,拥有集成电路芯片,其结构简单,比现代电脑结构简单得多,可以说是第一代的电子计算机(电脑)。计算器这一小小的程序机器实际上是从计算机中割裂出来的衍生品,虽然功能较单一,但因其

2、操作模式的方便快捷和价格的低廉,携带方便等特点,已经被广泛应用于工程、学习、商业贸易等日常生活中,极大的方便了人们对于数字的整合运算,成为人们生活和办公中的必备品之一,深得使用者的青睐。 计算器在我们的日常生活扮演着很重要的角色,因此不断设计开发出功能更强大,携带更轻便,使用更加快捷迅速的计算器便成为相应工作者奋斗的目标和任务。1.2 设计目的 进一步了解C+语言和高级程序设计语言的结构,了解其好处和可用性,掌握基本的程序设计过程和技巧,掌握基本的分析问题、利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续计算机课程和毕业设计打下坚实基础。 通过该计算器程序软件的设计,培养独立思

3、考、综合运用所学有关相应知识的能力,更好地巩固C+程序语言设计和高级程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,体验理论与实践相结合的过程,同时培养同学之间的团队合作精神,体会在工作中团队合作的重要性和必要性。2.功能需求分析2.1 功能划分 本次我们设计的计算器在功能上大致与Windows系统自带的计算器程序相似,但在某些细节处加入了我们设计同学的独特创新和技巧,具体体现见详细设计部分。对于我们所设计的科学计算器,其功能大致可以如下划分: 算术型计算器功能可以进行加(+)、减(-)、乘(*)、除(/)、开方(sqrt)、百分数(%)等简单算术计算。 科学型计算器

4、功能可以进行乘方、开方、指数、对数、三角函数、等方面的运算。 一元运算和多元运算可以进行表达式和简单运算,且切换较为快捷。 技巧创新功能开机画面,图片的插入,用户使用后数据的记录。2.2 功能描述 对于算术型计算器的功能大家已经非常熟悉,就不再赘述。这里只对科学型计算器功能中的特殊符号、必要函数及技巧创新功能部分作简单描述。 特殊符号和函数Pi 。即 3.1415926 Ln 自然对数,ln(x)是以e为底的x的对数 Log 以10为底的对数,10是可以省略的S in 正弦函数 Arcsin 反正弦函数 Cos 余弦函数 Tan 正切函数 n! 阶乘 Mod 取模运算Clear 清空 等等这些

5、符号有利于我们计算,方便快捷的得出结果。创新部分开机画面:计算器启动时,程序会生成一个我们预先设计的图片作为计算器的启动画面,因与手机电脑等开机画面相似,所以我们称之为开机画面,这一小功能虽然没有实际用途,但改变了一般传统计算器给用户的印象,丰富了视觉,让使用者眼前一亮,增加了愉悦感。图片插入:当使用者使用我们计算器的时候,在计算器运行界面的About us一栏,用户可以看到我们设计者的合照。这点算是我们设计者的小创新吧。使用数据记录:我们都知道,现在市面上一般的计算器虽然在计算上能满足用户的需求,但对于一些重要的数据和运算过程、记录,就无法实现重要过程和数据的记录,所以这项功能的添加让我们的

6、计算器更加科学化,人性化,用户不必要再担心运算的出错和检查的麻烦。这也是我们所设计的计算器相比于其他计算器的重要优点之一。2. 详细设计2.1 普通计算功能(1)界面设计界面设计我们是使用Qt creator进行设计的,首先创建一QMainWindow(parent).ui,这个界面为QWidget。然后在左侧的Widget Box找相应的控件添加到QMainWindow(parent)t里。首先提出一个lineEdit控件作为算式显示窗口和结果显示窗口,在提取出30个QpushButton为0到9按键和加减乘除按键、括号按键、开根号按键、小数点按键、%按键、取模按键、阶乘按键、取倒按键、等于

7、按键、历史按键、标准/科学模式切换按键。然后再把各个pushButton名字改成相应的符号,并且改对应pushbutton的属性,保存后取Qt creator编译QMainWindow(parent).ui,运行程序就可以显示相应界面。具体界面设计效果如下:且各组件的属性设置如下:(2)程序具体实现现在.h文件中对各个按键在私有槽中进行声明,例如: public slots: void clickbtn1();就对1键(槽函数)进行声明,然后就可以在.cpp进行编写程序。声明first,second两个整形表示第一个输入和第二个输入,然后用Qt(Qstring)封装好的append()函数进行

8、添加,当然,这里牵涉到本程序对Btn按键的函数声明,并且使用setText函数,使其按键符号点击后可以在lineEdit上显示,在这里用的是信号和槽的机制,具体的信号于槽的链接在后面会详细说明。2.2 科学计算器功能本界面的主要功能是在普通计算器的基础上,添加了一些科学计算的功能,具体实现的操作功能包括三角函数运算()、反三角函数运算()、双曲三角函数运算()、对数运算()、弧度运算、角度运算、梯度运算。(1) 界面设计 为了隐藏的需要,我们采用Group Box的组件,然后设置“”按键,通过点击“”按键可将窗口由标准型切换为科学型(此时“”按键变为“”按键,再点击一次即可变回标准型),切换为

9、科学型窗口后,在普通窗口的基础上添加一些QPushButton按钮,修改其属性,使其变成相应的功能键,再从左边把QComboBox拖到科学计算窗口中,并修改其属性,用户可以在下拉框中,选择自己想要实现的运算类型(如:弧度、梯度;不同对数运算),然后用对上述按键在窗口中进行合理布局,最后用QtCreator对所设计的界面进行编译形成ui文件,点击运行即可查看所设计界面。 具体界面设计效果如下: 下拉框中显示的设计如下: 各组件的属性设置如下:(2) 程序具体实现这里仍使用信函和槽连接机制,我们没有使用信号和槽编辑器,而是直接在.cpp文件中添编写其代码来实现,首先在.h文件中对各个按键进行声明,

10、如:void clicksin();就是对sin按键进行声明,再到.cpp文件中编写相应的代码实现其功能,当Jing_zhan_unary变量为ture时,执行clickTrigJIng_zhan_TS(“sin”),或当Jing_zhan_Expression变量为ture时,执行sinBian_lian=true;clickJing_zhan_Pro(sin,mu_qianSin);实现sin的运算功能。2.3 计算历史显示功能 本模块包括本系统的删除、保存功能。(1) 界面介绍 这里我要用两个QpushButton控件和一个LineEdit控件,两个QpushButton控件分别表示删除

11、算式、算式另存为,在修改其属性,再拖拽一个LineEdit控件,它用来显示计算机执行的历史事件,而且还可以在其上点击选择算式。 具体界面设计效果如下: 各组件的属性设置如下:(2) 程序具体实现另存为算式:首先声明一个另存为的函数void chendahao:clickHistorySaveas(),添加一个QFileDialog控件作为另存为显示窗口,再把QFileDialog名字改成相应的另存为,并且改对应QFileDialog的属性,然后查询算式表(message),查找最后一个id的值,然后id加一,再把次id和窗口提取的算式存入数据库算式表(message)中,然后通过槽函数ui-s

12、tatusBar-showMessage(Version+ : +tr(已保存),10000);查询整个message表把表中的内容显示出来。删除算式:先用currentIndex().row()把鼠标点中的行选中。提出行数,声明model,再用model中封装好的函数删除这一行,在加上警告函数,判断是否删除,就可以了。2.4 删除功能此功能为删除窗口中的最后一个字符,具体编写过程为:提取窗口中的内容,并把窗口中的内容存放到一个QString型变量中,然后用Qt现有的已经封装好的函数,把这个变量从左边开始将其最后一个字符去掉,使其长度减少一,将改变后的字符串在存放到这个变量中,再把这个变量重新

13、返回到窗口中,这样就达到删除的功能了。2.5 清空功能此功能为清空显示窗口,这里用Qt封装好的函数clear(),直接把窗口给清空,这样就达到效果。2.6 帮助功能在菜单栏里的“about us”按键是本系统的帮助功能,其中包括“618”选项和“about Qt”选项两个子选项,其中“about Qt”介绍了有关Qt软件的相关信息。“618”按键介绍了科学计算器的制作团队各成员姓名和学号以及陈皓同学的空间连接。 具体(618)界面设计效果如下: 各组件的属性设置如下:2.7 操作类型切换功能在菜单栏里添加操作类型选择按键,在操作类型按键下有一元顺序运算和表达式运算两个子选项,当选择一元顺序运算

14、时,将“(”按键和“)”按键设置为不可点击即,而当选择表达式运算时,将“1/x”按键和“”按键设置为不可点击。由于在不同的操作类型下,有些运算符不适用,故将其设置为不可点击,这样可以防止用户进行违规操作。 具体界面设计效果如下:3. 系统的实现:计算分简单计算和科学计算两种功能,又由于要实现表达式的功能,故应该将其分开实现,所以,我们在程序中设置了两逻辑变量进行区分,如下所示。 bool Jing_zhan_unary=false; /一元操作 bool Jing_zhan_Expression=true; /表达式操作 当然,对于下面具体步骤中出现的函数,我们有必要在此说明,这其中也包括整个程序的核心算法。考虑到程序中出现了众多信号与槽的链接,故采用手工链接的方式进行。首先在chendahao.h中声明如下槽函数:public slots: void clickSifirla(); void click_chenhaoQQ(); void clickbtn(QString); void clickbtn1(); void clickbtn2(); void clickbtn3(); void clickbtn4(); void clickbtn5();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号