結對程式設計-帶UI的中小學生出題程式
一.簡介
本次部落格主要介紹實現結對程式設計專案,我和毛陸羽同學合作完成這次專案,我負責簡訊傳送,UI設計等功能,毛陸羽同學主要負責出題解題,設定選項等功能。
我們兩個使用的是c++程式設計,然後選擇了Qt來進行介面的顯示。
二.結對程式設計要求
1、所有功能通過圖形化介面操作,可以是桌面應用,可以是網站(程式語言和技術不限);
2、使用者註冊功能。使用者提供手機號碼,點選註冊將收到一個註冊碼,使用者可使用該註冊碼完成註冊;
3、使用者完成註冊後,介面提示設定密碼,使用者輸入兩次密碼匹配後設置密碼成功。密碼6-10位,必須含大小寫字母和數字。使用者在登入狀態下可修改密碼,輸入正確的原密碼,再輸入兩次相同的新密碼後修改密碼成功;
4、密碼設定成功後,跳轉到選擇介面,介面顯示小學、初中和高中三個選項,使用者點選其中之一後,提示使用者輸入需要生成的題目數量;
5、使用者輸入題目數量後,生成一張試卷(同一張卷子不能有相同題目,題目全部為選擇題),介面顯示第一題的題乾和四個選項,使用者選擇四個選項中的一個後提交,介面顯示第二題,…,直至最後一題;
6、最後一題提交後,介面顯示分數,分數根據答對的百分比計算;
7、使用者在分數介面可選擇退出或繼續做題。
三.專案實現以及分析:
在使用Qt時才發現Qt是真的很方便,許多功能實現也非常簡單好用。
1.登入註冊介面:
在登入介面輸入使用者名稱及密碼,在使用者文件中查詢對應的資料進行驗證。初始登入時需要先進行註冊。密碼要求必須6包含字母大小寫及數字。同時電話要11位電話號碼,點選獲取驗證碼後會給輸入的手機號傳送四位的驗證碼。
2.出題介面
出題介面包含了輸入的題目數量,要求題目數量在10-30之間,並且支援修改密碼。
3.做題介面
在做題介面有四個選項,選完之後點選下一題即可繼續做題。
4.公佈成績
在所有題目做完之後,系統會根據正確的題目數量算出對應的百分制的分數。
四.結對程式設計的教訓
由於我們兩個都是用C++寫的個人專案,所以結對專案也是繼續用C++實現,一開始我們被算代數式難住了,後來費了好大力氣才解決算式問題,聽說隔壁Java有函式可以直接算出結果,頓時心態有點小崩,後來在簡訊驗證的時候發現支援C++的驗證碼傳送不是很多,然後使用了一個網站的發現介面總弄不好發不了簡訊,後來換了現在使用的這個才得以解決。
五.總結
我從這次結對程式設計的過程中獲益匪淺,之前很少有過做專案的經驗,像這樣一點點構建、最後成品出來的時候滿足感真的非常強烈。並且學會使用Qt這個軟體,感覺真的非常好用。同時也不得不說毛陸羽同學真的很厲害,中間有許多難住我們的算代數式等問題,他都巧妙的解決了,改bug的能力也很強,也再次感謝他的辛苦勞動,從他那裡我也學到了很多解決問題的方法。