【正文】
tract Because of the calculator which is flying quickly, the mankind have already entered into informationbased ages. The development of the information technique is changing with each passing day. the calculator has already entered each realm of the people’s life,which is very important in the modern times. the large and plicated calculation which is not petent for person39。小型科學(xué)計(jì)算器的設(shè)計(jì)與實(shí)現(xiàn)沈陽航空航天大學(xué)畢業(yè)設(shè)計(jì)(論文)摘 要隨著計(jì)算機(jī)的飛速發(fā)展,人類已經(jīng)進(jìn)入信息化時(shí)代。計(jì)算器具有界面可視化,方便用戶操作等特點(diǎn),并且該計(jì)算器的算式提取與存儲(chǔ)功能使得算式計(jì)算更加快捷方便,為用戶進(jìn)行大量復(fù)雜科學(xué)計(jì)算提供了有效保證。本文設(shè)計(jì)的計(jì)算器不再局限于十進(jìn)制運(yùn)算,可以進(jìn)行二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制的運(yùn)算,擴(kuò)大了用戶的運(yùn)算領(lǐng)域。這里就得自學(xué)Qt,上網(wǎng)查找資料,看書查找例子。 (5) 有幫助功能,可以通過查詢查詢個(gè)按鍵的功能,可以對按鍵功能添加、刪除。并增加了幫助功能,使得用戶及時(shí)查詢幫助功能,快速學(xué)會(huì)使用操作。要實(shí)現(xiàn)計(jì)算功能,可以用C++和Qt的知識(shí)編寫程序來解決此問題。(3) 算式內(nèi)可同時(shí)出現(xiàn)二、八、十六、十等不同進(jìn)制,并可實(shí)現(xiàn)大中小括號(hào)和各類不同函數(shù)及位運(yùn)算。(3)可以刪除算式。這降低了程序員的難度,提高了程序員的效率,并且上手快,以我實(shí)習(xí)的經(jīng)驗(yàn)來看差多10天就可以學(xué)會(huì)一部分了,對于第一次接觸這個(gè)軟件的人來說是一個(gè)不錯(cuò)的選擇,具有一定的可行性。 系統(tǒng)設(shè)計(jì)工具 Visual studio 2008技術(shù)簡介Visual Studio 是微軟公司推出的開發(fā)環(huán)境。同時(shí)Visual Studio 2008支持項(xiàng)目模板、調(diào)試器和部署程序。(1) Qt designer技術(shù)介紹簡單的來說QT Designer是一個(gè)GUI的工具。信號(hào)和槽是一種高級(jí)接口,應(yīng)用于對象之間的通信,它是 QT 的核心特性,也是 QT 區(qū)別于其它工具包的重要地方。這就是真正的信息封裝,它確保對象被當(dāng)作一個(gè)真正的軟件組件來使用。同時(shí),合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實(shí)現(xiàn)。字段名稱數(shù)據(jù)類型長度備注編號(hào)Int4算是編號(hào)(Id)算是名QString16算式(formulanumber)(2)按鍵信息表用來存儲(chǔ)按鍵編號(hào),按鍵名,按鍵功能,表名:helpmessage。聲明first,second兩個(gè)整形表示第一個(gè)輸入和第二個(gè)輸入,然后用Qt封裝好的append()函數(shù)進(jìn)行編寫代碼,使其按鍵符號(hào)點(diǎn)擊后可以在lineEdit上顯示,在這里用的是信號(hào)和槽的機(jī)制。在其他科學(xué)運(yùn)算符的按鍵的函數(shù)編寫代碼,讀取窗口數(shù)據(jù),把其轉(zhuǎn)換成double型,然后進(jìn)行相應(yīng)的運(yùn)算,再把結(jié)果顯示到窗口。提取算式:先用currentIndex().row()把鼠標(biāo)點(diǎn)中的行選中,提出行數(shù),把它作為id。(1) 界面介紹: 因?yàn)檫@是有一個(gè)界面,它是QDialog比QWidget第一個(gè)級(jí)別。這里我使用的是QSqlite數(shù)據(jù)庫,它小巧,占內(nèi)存空間小,更快捷,在main主函數(shù)連接數(shù)據(jù)庫就可以了。該軟件還有算式的提取、保存、刪除功能,對于該軟件可以顯示當(dāng)前時(shí)間,方便用戶,還有幫助功能,可以顯示各個(gè)案件的信息,還可以自己動(dòng)手修改,對其進(jìn)行添加和刪除,可以實(shí)行下面的功能。發(fā)生中斷時(shí),CPU暫停執(zhí)行當(dāng)前的程序,而轉(zhuǎn)去處理中斷。(5) 信號(hào)和槽的問題在幫助添加功能的槽函數(shù)中未寫代碼,寫確定和退出的信號(hào)和槽的連接,這語法為connect(按鈕,信號(hào),界面,接收信號(hào)槽);在這里因?yàn)榇_定按鈕和退出按鈕在同一個(gè)界面,所以認(rèn)為,他們應(yīng)該槽的界面一致,所以最開始用此界面聲明的pDialog,可是確定按鈕不好使添加不了,后來就把這些都改為this,this為主界面,發(fā)現(xiàn)確定好使了,可推出不好使,反而把主界面關(guān)閉,通過都此實(shí)驗(yàn),把確定按鈕和退出按鈕分別改為this,和pDialog,再次運(yùn)行,成功。而且這些學(xué)習(xí)只是讓我了解到編程中的皮毛中的皮毛。因?yàn)橛辛死蠋煹臒o私的指導(dǎo)及幫助,我的畢業(yè)設(shè)計(jì)才得以順利進(jìn)行。再次感謝以上的各位老師及同學(xué)。其次,衷心地感謝在本次畢業(yè)設(shè)計(jì)期間給我?guī)椭耐瑢W(xué)和朋友以及其他老師。在此對他們表示衷心的感謝。還實(shí)現(xiàn)了幫助功能,可以對所有按鍵進(jìn)行功能查詢,也可以對單個(gè)按鍵查詢,并且可以刪除不用的按鍵信息,添加有用的按鍵信息本文雖然實(shí)現(xiàn)了時(shí)間顯示功能,但還差時(shí)間修改功能沒有實(shí)現(xiàn),因?yàn)槲颐看维F(xiàn)實(shí)的時(shí)間是每一秒讀取電腦時(shí)間,而修改后在一次刷新就還原正常時(shí)間,所以這一功能還有待研究。就可以解決問題,實(shí)現(xiàn)警告效果。本模塊是本系統(tǒng)的算式提取、刪除、保存功能。在刪除按鈕的槽函數(shù)中編寫代碼,點(diǎn)擊所選中的行,把行數(shù)定位id,然后刪除相應(yīng)的信息。添加為用戶添加需要的俺家?guī)椭畔?,刪除使用戶刪除用戶不需要的幫助信息,這樣方便用戶查詢,節(jié)省空間。(3)數(shù)據(jù)庫設(shè)計(jì),在這個(gè)文件中編寫創(chuàng)建message表,用sql語句編寫,這個(gè)表包含兩個(gè)元素,分別為id和formulanumber,id我設(shè)定為自增長,formulanumber為算式,這里我使用的是QSqlite數(shù)據(jù)庫,它小巧,占內(nèi)存空間小,更快捷,在main主函數(shù)連接數(shù)據(jù)庫就可以了。在其中聲明一個(gè)時(shí)間的函數(shù),然后在根據(jù)startTimer(1000)使其每一秒刷新一次,在編寫時(shí)間函數(shù),使其顯示時(shí)間為電腦上的時(shí)間,日期為點(diǎn)到日期,時(shí)間為時(shí)間,再按照年月日時(shí)分秒的順序顯示出來。這個(gè)控件的功能為只能有一個(gè)被點(diǎn)中,然后再拖拽四個(gè)QRadioButton控件到界面,使其分別表示二進(jìn)制、八進(jìn)制、十進(jìn)制、十六進(jìn)制,修改期屬性。首先提出一個(gè)lineEdit控件作為算式顯示窗口和結(jié)果顯示窗口,在提取出26個(gè)QpushButton為0到F按鍵和加減乘除按鍵、等于按鍵、幫助按鍵。其數(shù)據(jù)庫各表的表頭信息更為詳細(xì)的反映數(shù)據(jù)間的關(guān)系。你可以將很多信號(hào)與單個(gè)的槽進(jìn)行連接,也可以將單個(gè)的信號(hào)與很多的槽進(jìn)行連接,甚至于將一個(gè)信號(hào)與另外一個(gè)信號(hào)相連接也是可能的,這時(shí)無論第一個(gè)信號(hào)什么時(shí)候發(fā)射系統(tǒng)都將立刻發(fā)射第二個(gè)信號(hào)。 信號(hào)和槽能攜帶任意數(shù)量和任意類型的參數(shù),他們是類型完全安全的,不會(huì)像回調(diào)函數(shù)那樣產(chǎn)生 core dumps。(2) Qt技術(shù)介紹QT 是一個(gè)跨平臺(tái)的 C++ GUI 應(yīng)用構(gòu)架,它提供了豐富的窗口部件集,具有面向?qū)ο?、易于擴(kuò)展、真正的組件編程等特點(diǎn),更為引人注目的是目前 Linux 上最為流行的 KDE 桌面環(huán)境就是建立在 QT 庫的基礎(chǔ)之上。 QSqlite數(shù)據(jù)庫技術(shù)SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。 Visual Basic、Visual C++ 都被擴(kuò)展為支持托管代碼機(jī)制的開發(fā)環(huán)境, 使用Visual Studio SDK創(chuàng)建可以擴(kuò)展Visual Studio I