QT,C++多项式计算器—version3(厌倦CMD黑框框的走起!)
很激動!
在喬幫主的要求下,我再次寫一次多項式計算器。(對了,這里用的是QT5)
QT的下載在download 或者一般的官網上都有(QT 只是一個加載庫!請各位初學者不要害怕!但是下好了QT的軟件之后,開發會比較容易,在各個系統的電腦都是有相應版本,而且可以做到兼容!)
在一般網站上服務器也是有的。
我記得有一個download開頭的一個網站很不錯。(可惜距離我下載!QT好像有段時間了,不太記得具體網站了)
不過百度一下應該都是會有的。學計算機,首先得先會搜索!(雖然進階版是自己做搜索引擎)
對于本次計算器的描述:
1.集成了一般的計算器,即面對 (1 + 2) *2等這些式子都是可以處理的。(1 - ?2) * 3。不過我忘記加那個除法了(不過好像也就是加幾句話的事而已,這個還是比較輕松的。(version 3 只有加減乘除等,我會在今天把version 4發布出來,有興趣的同學可以留心這篇文章的評論)
2.多項式的加、減、乘、求導、求值。
3.添加多項式。在按鍵界面還是繼承了以前的version 1采用節點輸入的方式。
4.添加了一個 庫。這是一個抽象的庫。用于應用啟動的時候,可以存儲,顯示,刪除,清空等操作。
5.附加了一個文件,作為系統自帶文件,在里面存儲了一些預先寫好的多項式
6.提供了簡單的命令集。
7.設置了快捷鍵,用于頁面切換
先介紹些簡單的東西吧!
version3 和 version1 一樣內部采用的都是多項式類完成的。(CLASS)
相信大家無論學過C++沒有,想必都應該知道類是什么吧?(你都在CSDN上逛了!!)
這是內部實現,雖然是很簡單,但是為了給這個做封裝,還是挺麻煩的。在QT上有很多封裝好的庫,供大家學習。但是同樣是因為這個,導致確實太多了,很難記得全。
計算器會
version1下載鏈接:(CSDN下載)
多項式計算器QT_version1
version3 下載鏈接:(CSDN下載) 我設置的是1個積分(沒辦法最低就一個了emmmm)
多項式計算器_version3
version1是普通版,只包含有計算器的一般性功能。很適合剛做QT的人看。看完之后變成稍微懂點的人了
就可以嘗試看
version3(進階版)的話,看是需要一定時間的,不過,歡迎大家一起學習,有什么疑惑,可以在評論去留言!
version3的源碼有兩千行左右(加起來),所以,我就放頭文件好了
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include "fun.h" #include <QMainWindow>#include <vector>namespace Ui { class MainWindow; }class MainWindow : public QMainWindow {Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots:void on_double_ratio_editingFinished();void on_exponent_editingFinished();void on_btn_node_input_clicked();void on_btn_add_clicked();void on_btn_sub_clicked();void on_btn_muti_clicked();void on_btn_derive_clicked();void on_btn_clear_Store_clicked();void on_btn_Push_back_Store_clicked();void on_btn_p1_push_back_clicked();void on_btn_p2_push_back_clicked();void on_choose1_clicked();void on_choose2_clicked();void on_btn_comboBox_p1_clicked();void on_btn_comboBox_p2_clicked();void on_btn_F_x_clicked();void on_pushButton_clicked();void on_btn_del_clicked();void on_btn_clear_clicked();void on_btn_equal_clicked();void on_lineEdit_returnPressed();void on_tabWidget_currentChanged(int index);void keyPressEvent(QKeyEvent *event);private:double pureMul(QString s) ;bool findInTheStore(QString s);//only check the name;bool isdigit(QString s);bool isPureNumAndCal(QString s);bool findAllNameInTheStore(QString s);polynome pureName(QString s);polynome Calculate(QString s);bool isPureCalculator(QString);bool Equal(QString,QString);void Store_Show();void reSetTheComboBox();Ui::MainWindow *ui;vector<polynome>Store;vector<QString>Store_name;polynome p1,p2,ans;double r;int e;bool is_P1;int ans_time; };#endif // MAINWINDOW_H
總結
以上是生活随笔為你收集整理的QT,C++多项式计算器—version3(厌倦CMD黑框框的走起!)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QT,C++最好的调试工具(抽象定义上的
- 下一篇: class多项式(链表实现)