freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機軟件及應用]qt計算器(已修改)

2025-08-30 16:27 本頁面
 

【正文】 QT 課程 程序設計題目:科學計算器姓 名:楊 平學 號:201005070116學 院:信息技術與科學專 業(yè):軟件工程 2012年12月10日 1. 功能需求分析 功能劃分● 本次我們設計的計算器在功能上大致與Windows系統(tǒng)自帶的計算器程序相似,但在某些細節(jié)處加入了我們設計同學的獨特創(chuàng)新和技巧,具體體現(xiàn)見詳細設計部分。對于我們所設計的科學計算器,其功能大致可以如下劃分:① 算術型計算器功能——可以進行加(+)、減()、乘(*)、除(/)、開方(sqrt)、百分數(shù)(%)等簡單算術計算。② 科學型計算器功能——可以進行乘方、開方、指數(shù)、對數(shù)、三角函數(shù)、等方面的運算。③ 一元運算和多元運算——可以進行表達式和簡單運算,且切換較為快捷。 功能描述 ● 對于算術型計算器的功能大家已經(jīng)非常熟悉,就不再贅述。這里只對科學型計算器功能中的特殊符號、必要函數(shù)及技巧創(chuàng)新功能部分作簡單描述。① 特殊符號和函數(shù)Pi —— π 。即 … Ln ——自然對數(shù),ln(x)是以e為底的x的對數(shù) Log ——以10為底的對數(shù),10是可以省略的S in ——正弦函數(shù) Arcsin ——反正弦函數(shù) Cos ——余弦函數(shù) Tan ——正切函數(shù) n! ——階乘 Mod ——取模運算Clear ——清空 等等這些符號有利于我們計算,方便快捷的得出結果。②使用數(shù)據(jù)記錄:我們都知道,現(xiàn)在市面上一般的計算器雖然在計算上能滿足用戶的需求,但對于一些重要的數(shù)據(jù)和運算過程、記錄,就無法實現(xiàn)重要過程和數(shù)據(jù)的記錄,所以這項功能的添加讓我們的計算器更加科學化,人性化,用戶不必要再擔心運算的出錯和檢查的麻煩。這也是我們所設計的計算器相比于其他計算器的重要優(yōu)點之一。2. 詳細設計 普通計算功能(1)界面設計界面設計我們是使用Qt creator進行設計的,首先創(chuàng)建一QMainWindow(parent).ui,這個界面為QWidget。然后在左側的Widget Box找相應的控件添加到QMainWindow(parent)里。首先提出一個lineEdit控件作為算式顯示窗口和結果顯示窗口,在提取出30個QpushButton為0到9按鍵和加減乘除按鍵、括號按鍵、開根號按鍵、小數(shù)點按鍵、%按鍵、取模按鍵、階乘按鍵、取倒按鍵、等于按鍵、歷史按鍵、標準/科學模式切換按鍵。然后再把各個pushButton名字改成相應的符號,并且改對應pushbutton的屬性,保存后取Qt creator編譯QMainWindow(parent).ui,運行程序就可以顯示相應界面。具體界面設計效果如下:且各組件的屬性設置如下:(2)程序具體實現(xiàn),例如: public slots: void clickbtn1()。就對1鍵(槽函數(shù))進行聲明。聲明first,second兩個整形表示第一個輸入和第二個輸入,然后用Qt(Qstring)封裝好的append()函數(shù)進行添加,當然,這里牽涉到本程序對Btn按鍵的函數(shù)聲明,并且使用setText函數(shù),使其按鍵符號點擊后可以在lineEdit上顯示,在這里用的是信號和槽的機制,具體的信號于槽的鏈接在后面會詳細說明。 科學計算器功能本界面的主要功能是在普通計算器的基礎上,添加了一些科學計算的功能,具體實現(xiàn)的操作功能包括三角函數(shù)運算()、反三角函數(shù)運算()、雙曲三角函數(shù)運算()、對數(shù)運算()、弧度運算、角度運算、梯度運算。(1) 界面設計 為了隱藏的需要,我們采用Group Box的組件,然后設置“”按鍵,通過點擊“”按鍵可將窗口由標準型切換為科學型(此時“”按鍵變?yōu)椤啊卑存I,再點擊一次即可變回標準型),切換為科學型窗口后,在普通窗口的基礎上添加一些QPushButton按鈕,修改其屬性,使其變成相應的功能鍵,再從左邊把QComboBox拖到科學計算窗口中,并修改其屬性,用戶可以在下拉框中,選擇自己想要實現(xiàn)的運算類型(如:弧度、梯度;不同對數(shù)運算),然后用對上述按鍵在窗口中進行合理布局,最后用QtCreator對所設計的界面進行編譯形成ui文件,點擊運行即可查看所設計界面。 具體界面設計效果如下: 下拉框中顯示的設計如下: 各組件的屬性設置如下:(2) 程序具體實現(xiàn)這里仍使用信函和槽連接機制,我們沒有使用信號和槽編輯器,,如:void clicksin();就是對sin按鍵進行聲明,當Jing_zhan_unary變量為ture時,執(zhí)行clickTrigJIng_zhan_TS(“sin”),或當Jing_zhan_Expression變量為ture時,執(zhí)行sinBian_lian=true。clickJing_zhan_Pro(sin,],mu_qianSin)。實現(xiàn)sin的運算功能。 計算歷史顯示功能 本模塊包括本系統(tǒng)的刪除、保存功能。(1) 界面介紹 這里我要用兩個QpushButton控件和一個LineEdit控件,兩個QpushButton控件分別表示刪除算式、算式另存為,在修改其屬性,再拖拽一個LineEdit控件,它用來顯示計算機執(zhí)行的歷史事件,而且還可以在其上點擊選擇算式。 具體界面設計效果如下: 各組件的屬性設置如下:(2) 程序具體實現(xiàn)另存為算式:首先聲明一個另存為的函數(shù)void calculate::clickHistorySaveas(),添加一個QFileDialog控件作為另存為顯示窗口,再把QFileDialog名字改成相應的另存為,并且改對應QFileDialog的屬性,然后查詢算式表(message),查找最后一個id的值,然后id加一,再把次id和窗口提取的算式存入數(shù)據(jù)庫算式表(message)中,然后通過槽函數(shù)uistatusBarshowMessage(Version+ : +tr(已保存),10000)。查詢整個message表把表中的內(nèi)容顯示出來。刪除算式:先用currentIndex().row()把鼠標點中的行選中。提出行數(shù),聲明model,再用model中封裝好的函數(shù)刪除這一行,在加上警告函數(shù),判斷是否刪除,就可以了。 刪除功能此功能為刪除窗口中的最后一個字符,具體編寫過程為:提取窗口中的內(nèi)容,并把窗口中的內(nèi)容存放到一個QString型變量中,然后用Qt現(xiàn)有的已經(jīng)封裝好的函數(shù),把這個變量從左邊開始將其最后一個字符去掉,使其長度減少一,將改變后的字符串在存放到這個變量中,再把這個變量重新返回到窗口中,這樣就達到刪除的功能了。 清空功能此功能為清空顯示窗口,這里用Qt封裝好的函數(shù)clear(),直接把窗口給清空,這樣就達到效果。 操作類型切換功能在菜單欄里添加操作類型選擇按鍵,在操作類型按鍵下有一元順序運算和表達式運算兩個子選項,當選擇一元順序運算時,將“(”按鍵和“)”按鍵設置為不可點擊即,而當選擇表達式運算時,將“1/x”按鍵和“177?!卑存I設置為不可點擊。由于在不同的操作類型下,有些運算符不適用,故將其設置為不可點擊,這樣可以防止用戶進行違規(guī)操作。 具體界面設計效果如下:3. 系統(tǒng)的實現(xiàn):計算分簡單計算和科學計算兩種功能,又由于要實現(xiàn)表達式的功能,故應該將其分開實現(xiàn),所以,我們在程序中設置了兩邏輯變量進行區(qū)分,如下所示。 bool Jing_zhan_unary=false。 //一元操作 bool Jing_zhan_Expression=true。 //表達式操作 當然,對于下面具體步驟中出現(xiàn)的函數(shù),我們有必要在此說明,這其中也包括整個程序的核心算法??紤]到程序中出現(xiàn)了眾多信號與槽的鏈接,故采用手工鏈接的方式進行。:public slots: void clickSifirla()。 void clickbtn(QString)。 void clickbtn1()。 void clickbtn2()。 void clickbtn3()。 void clickbtn4()。 void clickbtn5()。 void clickbtn6()。 void clickbtn7()。 void clickbtn8()。 void clickbtn9()。 void clickbtn0()。 void clickPoint()。 void clickPointControl()。 void clickClear()。 void clickPlus()。 void clickDecrease()。 void clickMultiply()。 void clickEliminate()。 void clickEql()。 void clickJing_zhan_()。 void clickJing_zhan_2(QStringList amp。diziPro,QString isaret)。 void clickBackspace()。 void clickChangesign()。 void clickSqrt()。 void click_G()。 void clickCi()。 void click_1_x()。 void clickJie_cheng()。 void clickSwitch()。 void clickSimple()。 void clickSin()。 void clickCos()。 void clickTan()。 void clickCot()。 void clickPi()。 void clickE()。 void clickArcsin()。 void clickArccos()。 void clickArctan()。 void clickArccot()。 void clickSinh()。 void clickCosh()。 void clickTanh()。 void clickCoth()。 void clickLog()。 void clickHistory()。 void clickHistoryDelete()。 void clickHistorySaveas()。 void clickExpression()。 void clickunary()。 void clickReplaceTur(QLabel*,QLabel*,bool)。 void clickJing_zhan_caozuoleixing()。 void clickJing_zhan_Pro(QString,QString,bool)。 void clickTrigJing_zhan_IO(QStringList amp。diziPro,bool amp。trigVar,QString,QString)。 void clickTrigJing_zhan_IS(QString)。 void clickYerReplace(QStringList amp。diziPro,int,double)。 void clickMod()。 void clickZkuohao()。 void clickYkuohao()。 double clickDonusum(int,double)。 void clickQ_zhishu()。 ::calculate(QWidget *parent) : QMainWindow(parent),ui(new Ui::calculate)構造函數(shù)中進行信號于槽的鏈接,也就是各按鍵及工具條等組件的動作響應關系(函數(shù))如下: connect(uibtnSwitch,SIGNAL(clicked()),this,SLOT(clickSwitch()))。 //科學 和 簡單 快速切換鍵 connect(uibtnHistory,SIGNAL(clicked()),this,SLOT(clickHistory()))。 // 歷史鍵 connect(uibtn1,SIGNAL(clicked()),this,SLOT(clickbtn1()))。 // 1 connect(uibtn2,SIGNAL(clicked()),this,SLOT(clickbtn2()))。 // 2 connect(uibtn3,SIGNAL(clicked()),this,SLOT(clickbtn3()))。 // 3 connect(uibtn4,SIGN
點擊復制文檔內(nèi)容
環(huán)評公示相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1