ペアプログラミング:UI(孤高C ++バージョン)と小型高早期数学学習ソフト

UIとの早期の小さな高い数学学習ソフトウェアを達成することを目的としたペアプログラミングは、個々のプロジェクトの本来の機能の基礎の増加があります:

  1. 登録、ログ機能の実装、ユーザーデータを保存します
  2. ユーザーがパスワードを変更することができます
  3. ユーザーが質問質問トピックの間に質問をして、4つのオプションがあります表示されます
  4. ユーザーによるシステムは、与えられたスコアの正当性に疑問を行う必要があります
  5. UIを持参するソフトウェア

まず、UIインターフェースQTを構築

  私たちはこのプロジェクトを完了するために、言語としてC ++を使用しているため、高齢者の推薦で、QTとのインタフェースです。インタフェースは以前に行われていないため、また使用QT、QTので、始めるために多くの時間を費やしました。初日は踊りやフォーカスの視聴、すぎるため、詳細なチュートリアルB駅のQT自閉症見るためにすべてを読む時間を持っていなかったビデオチュートリアルを見たので、いくつかのエピソードがインタフェースを取るしようとします見ていました。このステップの前には、私が計画され、その後、一つのインタフェースによって1を構築プロセスをインタフェースするソフトウェアをお勧めします。ここではより多くの無知強制初心者の場所は次のとおりです。

  • ジャンプの間のインタフェースは、信号は、溝によって達成されます。
  • 達成するための主要な機能をインターフェイス、あなたはスロットの機能の実装を埋めるために「スロットに」「デザイン」画面、右にコントロールを選択することができます。
  • ちょうどそれについてCSSのように、QSS持っその後、QT見つけたときに最適化されたインターフェースは、実際に、我々は直接スタイルシートを書き換えた「デザイン」インターフェースで、フォーマットはほぼ正確にCSSと同じであることができます
  • これは、スクリーン・インターフェースの背景画像を挿入するが表示されていないときにバックグラウンドで実行され、バックグラウンドコントロールの影響だろう、これはデザインインターフェイスに背景を追加することをお勧めされていない場合、あなたはCPPコンストラクタのインタフェースに次のコードを追加することができます。
    画像1 QImageの; 
    image1.load( "../ MYITEM /サブ背景の.png" ); 
    QImageのの画像2 = image1.scaled(911577 ); 
    setAutoFillBackground(真の);  QPalette PAL = this-> パレット();  // pal.setColor (QPalette ::画像、QColor(19 、54、118)); これは、背景色であるpal.setBrush(backgroundRole()、QBrush( setPalette(PAL)、画像2))。

第二に、式には、正しい答えを計算し、得点します

個々のイベントでは、いない限り、式として正しい答えを計算するが、プログラムのこの結び目正解結果は、計算する必要があるので、得点する必要があります。

私たちは、最初の中学校式「^ 2」「^ 1 /ある 2''sin」 中置式を使って四則演算は、オンライン操作を行うことを特徴と完成された最初の計算のように、その後、四則演算、付属の4つの事業コード(計算ブラケット場合、小数、負)

  #INCLUDE。1 "tcal.h" 
  2の#include <ビット/ STDC ++。H> 
  3の#include <QStringの> 
  4の#include <QChar> 
  5の#include <QByteArray> 
  6の#include <QDebug> 
  7の#include <qmath.h> 
  使用して名前空間8。STD; 
  9にextern QStringのS、
 10のexternダブルTResult; 
 11スタック<ダブル> ヴァル;  12は、スタック<チャー>は、シンボル 13はQByteArrayバイトであり、14 TCAL :: TCAL()15 {16 17 } 19 TCAL 18は:: 〜TCAL()20は、{21 22であるオペレータ// 23との間の優先度比較}チャーTCAL :: CMP 24(チャー、チャーB){//右ブラケット25は、右括弧を記述することなく、スタックを入力しないであろう26 //遭遇優先右括弧は左括弧27をポップアップする場合(==「#」){28 IF(B == '#'){29リターン'=' 30}他{31リターン'<' 32 } 33 } 34 IF(== '+' || == ' - ' ){35 IF(B == '*' || B == '/' || B == '(' ){ 36リターン'<' ; 37}他{38リターン'>' ; 39 } 40 } 41(A == '*' || == '/'であれば){42 IF(B == '(' ){ 43リターン'<' ; 44}他{45リターン'>' ; 46 } 47 } 48(A == '('であれば){49 IF(B == '')){50リターン'=' ; 51}他{52リターン'<' ; 53 } 54 } 55 } 56 //返回计算结果57ダブルTCAL ::B; ' - 'ケース61は:である62を返しA- B、ケース63が'*' :A * 64リターンB; 65 '/'事例:66 A /戻りB; 67 } 68 式の評価の間// 69}空隙70のTCAL ::プロセス(){71 symbol.push( '#'である); I = 0 UINT 72 ; 73はダブルNUM = 0.0であり、74のchar *の; C; BA = 75 QByteArray s.toLatin1(); C = 76 BA .DATA(); // = 0 77文字FF INTを得る; 78ながら(symbol.top()= '#' || Iは<!{IF 79(C [I] ==「 - s.size()) ' )80 {FF = 81 1 ; 82 ++ I; 83 } 84他IF(C [I]> =' 0 '&& C [I] <=' 9 ' ){85 //オペランド86 NUM = 0 ; 87 F INT = 0 ; 88ながら((C [I]> = '0')&&(C [I] <=」9')||(C [I] == '' )){89 IF((I == 0)&& C [I] == ' - ')90 {91 FF = 1 92 }そうでなければ93 IF((C [I] ==)||(F = 0 ' '! ))94 {95 IF(C [I] =!'' )96 {97 NUM * = 10 + = C 98 NUM [I] - '0' 99 F ++ ; 100 ++ I; 101 そう103} 102 {104 ++ I。105 F ++ 106 } 107 そう} 108 109 {110 NUM * = 10 + = C 111 NUM [I] - '0' 112 ++ I; 113 } 114 } 115 IF(FF == 1 )116 {117 NUM = num個の*( - 1 )。118 } 119個のFF = 0 120であれば(F = 0!)121 NUM = NUM / POW(10、F-1 )。122 val.push(NUM)。123 // coutの<< "NUM =" << NUM <<てendl; 124他} 125 126 {127スイッチ(CMP(symbol.top()、[i])とc)の{128ケース'<' :129 symbol.push(C [I])。130 ++ I; 131ブレーク132ケース'=' :133 symbol.pop()。134 ++ I; 135ブレーク136ケース'>' :137ダブルA = val.top()。138 val.pop()。139ダブルB = val.top()。140 val.pop()。141 val.push(cal_t(B、symbol.top()))。142 // COUT << "A =" << << " "<<"、B =" << B << ENDL。143 //cout<<"num="<<val.top()<<endl; 144 symbol.pop()。145ブレーク146 } 147 } 148 } 149ダブルRES = val.top()。150 val.pop()。151 Tresultの=のRES。152リターン; 153 154}

第三に、SMSの確認

我々はプラットフォームに確認コードを送信する++の呼び出しのJava実行可能ファイルおよび電話番号C、Javaを使用してインタフェースを実装し...... C ++はとても悪い尋ね、聞かないでください。ここではより厳しいアリクラウドメッセージングサービス、テンセントの署名の検証があります。

第四に、個人的な経験

このプロジェクトダウンは、大幅にコード、および栽培の能力を高める、最終的には高校に戻るにいるかのように、後で学ぶために朝から一日でした。または達成の大きな意味をなさなく、自分自身の複合体を想像していなかった達成するための機能の多くを知っています。また、コードが実際に焦点最も簡単なものであるノック、少し感情があります

おすすめ

転載: www.cnblogs.com/neti/p/11605053.html