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

正文內(nèi)容

人機交互圖形客戶端研究及開發(fā)畢業(yè)論文(編輯修改稿)

2025-07-25 12:22 本頁面
 

【文章內(nèi)容簡介】 N插頭已連接狀態(tài)量+1 插頭連接狀態(tài)量值是否大于 2NNY發(fā)出插頭已連接信號Y進入充電硬件檢測流程 圖 充電前硬件檢測線程程序流程圖南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 21 頁 共 57 頁充電前檢測流程圖主程序流程圖:進入檢測電平界面接受到電平正常信號進入檢測系統(tǒng)異常界面接受到系統(tǒng)正常信號進入檢測插頭連接界面接受到插頭連接正常信號進入充電模塊 進入充電中硬件檢測流程圖 硬件檢測主控程序流程圖進入充電界面啟動充電線程進行充電中硬件檢測正常結(jié)束充電接受到硬件異常信號異常結(jié)束充電進入充電結(jié)束模塊結(jié)束硬件檢測流程 圖 硬件檢測主控程序流程圖南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 22 頁 共 57 頁充電中檢測流程圖硬件檢測線程流程圖:充電中硬件檢測將電平狀態(tài),插頭連接狀態(tài)以及系統(tǒng)異常狀態(tài)這三個狀態(tài)量重新置為 0檢測電平 檢測系統(tǒng) 檢測插頭是否正常 是否正常 是否正常Y Y Y電平狀態(tài)量+1系統(tǒng)狀態(tài)量+1插頭狀態(tài)量+1N N N=2? =2? =2?N N N發(fā)出電平異常信號發(fā)出系統(tǒng)異常信號發(fā)出插頭異常信號結(jié)束硬件檢測流程Y Y Y圖 硬件檢測線程程序流程圖 充電模塊設計 在該模塊中,會開啟一個讀電表數(shù)值的線程。系統(tǒng)在用戶選擇充電模式后會用一個結(jié)構(gòu)體將類型和數(shù)據(jù)記錄,當讀電表線程啟動以后,線程會根據(jù)這個結(jié)構(gòu)體里記錄的類型來向系統(tǒng)程序發(fā)送不同的信號,從而使充電界面的顯示會不同。南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 23 頁 共 57 頁以下是主程序設計流程圖:程序啟動用戶信息顯示模塊記錄電價信息充電設置模塊記錄用戶選擇的類型及相關(guān)信息進入充電流程主程序動態(tài)顯示充電進度界面電表讀數(shù)檢測線程充電結(jié)束 圖 充電模塊主控程序流程圖電表檢測線程每 10 秒會讀一次電表讀數(shù),除了會將這個讀數(shù)與上一次讀數(shù)相減得到差值后根據(jù)充電設置類型向主程序發(fā)送不同信號外,還會將這次的充電信息寫進本地數(shù)據(jù)庫,以防意外斷電后無法及時上傳用戶的充電信息。以下是電表檢測線程的流程圖:南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 24 頁 共 57 頁開始初始化 6 個全局變量這 6 個變量用于記錄三個時段的充電度數(shù)及對應的充電金額。在充電結(jié)束模塊以及寫進本地數(shù)據(jù)庫時會用到 讀取電表讀數(shù)獲得初始電度值獲取用戶選擇充電類型讀取電表值,第一次與初始電度值比較,而后與上一次讀取的電表值進行比較,得到充電度數(shù)獲取電價信息判斷當前時間屬于哪個時段得到當前時段的電價,在對應時段變量中記錄充電度數(shù)和充電金額將 3 個記錄度數(shù)的變量求和,將 3 個記錄充電金額的變量求和,將得到的數(shù)據(jù)寫進本地數(shù)據(jù)庫根據(jù)充電類型的不同發(fā)出不同的信號是否達到用戶的期望值?N發(fā)送充電結(jié)束信號Y圖 充電模塊電表檢測線程程序流程圖南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 25 頁 共 57 頁補充說明:電價信息按照需求分為三個時段,峰時段,平時段以及谷時段,具體的時段時間記錄在時段表中,程序每次啟動時通過向服務器發(fā)送請求獲得。根據(jù)用戶選擇不同的充電設置,充電線程會發(fā)送不同的信號。當用戶選擇自動充電設置:線程在每次會將 3 個充電金額變量求和,如果小于 300 就向主程序發(fā)送包含已充電電量,已充電金額的信號;按金額充電設置:線程會將 3 個充電金額變量求和,如果小于用戶的輸入值就向主程序發(fā)送已充電金額占用戶輸入值的百分比;按度數(shù)充電設置:線程會將 3 個充電度數(shù)變量求和,如果小于用戶的輸入值就向主程序發(fā)送已充電度數(shù)占用戶輸入值的百分比;按時間充電設置:線程會求取當前時間,如果小于用戶期望的結(jié)束時間,并且充電金額小于 300,就會向主程序發(fā)送包含當前時間的信號。 充電結(jié)束模塊設計充電結(jié)束模塊分為兩種情況:充電正常結(jié)束:系統(tǒng)會將本次消費記錄上傳服務器,同時刪除本地數(shù)據(jù)庫記錄的充電記錄,成功以后返回歡迎界面。充電異常結(jié)束:系統(tǒng)在重啟后會先讀取本地數(shù)據(jù)庫的數(shù)據(jù),將記錄上傳給服務器成功后刪除本地數(shù)據(jù)庫記錄,并顯示登錄界面. 以下是程序流程圖:南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 26 頁 共 57 頁程序進入充電結(jié)束模塊充電正常結(jié)束獲取 6 個全局變量數(shù)值在充電結(jié)束界面顯示各個時段充電信息,以及總的充電信息。將本次充電記錄上傳數(shù)據(jù)庫刪除本地數(shù)據(jù)庫充電記錄打印記錄返回歡迎界面充電異常結(jié)束異常是否導致程序重啟NY程序重新啟動讀取本地數(shù)據(jù)庫數(shù)據(jù)將充電記錄上傳服務器刪除本地數(shù)據(jù)庫記錄顯示歡迎界面圖 充電結(jié)束模塊程序流程圖南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 27 頁 共 57 頁 本地數(shù)據(jù)庫設計考慮到在進行充電時會發(fā)生一些異常情況導致主控制程序死機重啟或者與后臺服務器中斷連接,而用戶此時又正在充電。這時就需要暫時先把用戶的卡號信息,消費信息存儲于本地數(shù)據(jù)庫,當系統(tǒng)恢復正常后,會讀取本地數(shù)據(jù)庫的信息上傳給后臺服務器。因為運行在開發(fā)板上的最后的程序,那么使用 sqlite3 數(shù)據(jù)庫設計本地數(shù)據(jù)庫。根據(jù)需求分析, deviceNum 的數(shù)據(jù)表用于保存樁體的編號。 cardNum 的數(shù)據(jù)表,當用戶進行刷卡以后,講該卡號存儲在這個數(shù)據(jù)表里,為了防止在充電途中因意外斷電或系統(tǒng)因異常重啟而無法正常完成充電時,向服務器發(fā)送卡的解鎖請求。當系統(tǒng)重新啟動后,會讀取數(shù)據(jù)表里的卡號,向后臺服務器發(fā)送解鎖請求。 ErrInfo 的數(shù)據(jù)表用于保存每次系統(tǒng)發(fā)生異常時的故障代碼故障代碼設計如下:ERR 00 黑名單ERR 01 卡空間配置無效ERR 02 人員類別信息無效ERR 03 基本信息扇區(qū)密碼錯誤ERR 04 消費扇區(qū)密碼錯誤ERR 05 基本信息累加和校驗失敗ERR 06 限制信息累加和校驗失敗ERR 07 用戶余額丟失ERR 08 卡類型錯誤ERR 09 設置卡信息數(shù)據(jù)校驗錯誤故障代碼用于在管理員對系統(tǒng)進行登錄時,在故障信息界面進行顯示。 consumeInfo 的數(shù)據(jù)表用于在充電時實時記錄充電信息,其表項包括充電日期,卡號,充電電量,充電金額,充電開始時間,充電當前時間,用戶當前余額。該表用于在充電發(fā)生異常的情況下,記錄好用戶的消費信息并保存在本地,當系統(tǒng)重新啟動時,會首先讀取本地的消費記錄,上傳后臺服務器。南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 28 頁 共 57 頁第四章 詳細設計 客戶端程序參數(shù)和宏定義的設計define AUTO_FILE 0 define MONEY_FILE 1 define POWER_FILE 2 define TIME_FILE 3 AUTO_FILE 代表自動充電模式MONEY_FILE 代表按金錢充電模式POWER_FILE 代表按電量充電模式TIME_FILE 代表按時間充電模式當用戶確定選擇某種充電模式后,便進入下一個模塊。下面這 5 個宏,用于記錄刷卡的狀態(tài),當用戶刷卡時,狀態(tài)會發(fā)生狀態(tài),用于實現(xiàn)充電過程中的三次刷卡define FOR_GETCARDID 0 define FOR_USERPAY 1 define FOR_SETTLEACCOUNTS 2define FOR_BREAK 3 define ACCEPT 0 //當程序處于這個狀態(tài)時,接收刷卡機發(fā)送過來的信息define PROTECT 1 //當程序處于這個狀態(tài)時,刷卡機向主程序發(fā)送的信息系統(tǒng)將不予理會當系統(tǒng)處于 FOR_GETCARDID 狀態(tài)時,代表程序處于歡迎界面,刷卡會進入登陸界面;當處于 FOR_USERPAY 狀態(tài)時,代表程序處于刷卡預付費界面,刷卡會進入下一界面;南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 29 頁 共 57 頁當處于 FOR_SETTLEACCOUNTS 狀態(tài)時,代表程序處于刷卡結(jié)算界面或者充電界面,刷卡會進入充電結(jié)算界面;FOR_BREAK 該狀態(tài)待作功能擴展用;當程序處于 ACCEPT 狀態(tài)時,接收刷卡機發(fā)送過來的信息;當程序處于 PROTECT 狀態(tài)時,刷卡機向主程序發(fā)送的信息系統(tǒng)將不予理會;typedef struct{ int get_tpye。 double money。 double power。 unsigned int time。}for_get_clickType。這個結(jié)構(gòu)體是用來存儲充電類型的,get_tpye 用于記錄用戶選擇的充電模式,以及不同模式對應的參數(shù) money 金額,power 電量,time 時間;typedef struct{ int time_type。 QTime startTime。 QTime endTime。 double current_price。}time_allInfor。這個結(jié)構(gòu)體是用于分時電價的結(jié)算,記錄充電模式,開始時間,結(jié)束時間和當前電價的。當用戶充電時,會處于某個時間值段,(峰時,平時,谷時)而這三個時間段的電價是有可能不一樣的,因此需要用用這個結(jié)構(gòu)體來記錄充電的開始時間,結(jié)束時間,充電模式,當前電價,用于最后用戶消費金額的計算。typedef struct{ double peakEnergy。 double valleyEnergy。南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 30 頁 共 57 頁 double avergeEnergy。 double peakCost。 double valleyCost。 double avergeCost。}time_costInfor。這個結(jié)構(gòu)體是用于記錄充電信息的,分別記錄峰,平,谷時的充電電量和充電金額define CONNECT_PORT 16666define INITIAL_STATE 0define SENT_CMD_STATE 1define DATA_SIZE_STATE 2define CONFIRM_SIZE_STATE 3define DATA_CONTENT_STATE 4define OPTIONAL_STATE 5define EXCEPTION_STATE 1以上的宏用于服務器程序的使用,關(guān)于服務器之間的通信協(xié)議.//進入充電界面時,檢測電表數(shù)值的線程類 客戶端程序主要工程類的設計class checkDbiaothread : public QThread{ Q_OBJECTpublic: checkDbiaothread(QObject * parent = 0)。 ~checkDbiaothread()。protected:void run()。//線程的運行函數(shù)private:南華大學計算機科學與技術(shù)學院畢業(yè)設計(論文)第 31 頁 共 57 頁double m_current_power。//用于記錄當前的電表值int m_percent。//用于記錄當前充電進度的百分比QSqlDatabase m_db。//數(shù)據(jù)庫的對象,用于將每次線程讀取的電表值等信息實時記錄進本地數(shù)據(jù)庫QTime m_current_time。//用于記錄當前時間//以下成員變量用于記錄數(shù)據(jù),并用于寫進本地數(shù)據(jù)庫 uint m_history_time。 QDateTime m_datetime。 double m_costEnergy。 double m_costMoney。 double m_balance。QObject* m_parent。 //由于線程在結(jié)束后在主線程里綁定的信號槽會隨之失效,因此需要將主線程的指針在線程初始化的時候傳進來,在本線程類的構(gòu)造函數(shù)里進入信號槽的綁定,這樣當新的線程創(chuàng)建后仍然有效int getTheTime()。//用于判斷當前輸入哪個時段的成員函數(shù)signals:void percentEnergy(int)。//用于發(fā)送百分比進度的信號,當處于按電量,按金額充電的模式下會發(fā)出這個信號. void plite()。//用于發(fā)送充電結(jié)束的信號 void connectSqlite(QString)。
點擊復制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1