蔡少杭 201421122111git
小程序
項目開發的coding.net 地址:https://git.coding.net/HangZhe/HomeWork3.git學習
在我的做業1中,用各類語言實現了一個命令行的四則運算小程序。進一步,本次要求把這個程序作成GUI,成爲一個有基本功能、必定價值的程序。在下面的功能需求中實現兩個:測試
記錄用戶的對錯總數,程序退出再啓動的時候,能把之前的對錯數量保存並在此基礎上增量計算。字體
有計時功能,能顯示用戶開始答題後的消耗時間。this
界面支持中文簡體/中文繁體/英語,用戶能夠選擇一種;編碼
主要功能分爲:生成題目、記錄對錯數、計時、語言切換。其中計算使用的是第一次做業中的生成四則運算表達式的方式。對錯數打算是用文件記錄,每次運行的開始時候先從文件讀取對錯數,每次答對答錯都會對對錯數進行修改。計時功能,當用戶點擊開始按鈕開始答題時開始計時,結束答題或者答完全部題目後中止計時,使用的是C#中設置事件觸發時間間隔的方式。語言切換默認開始是中文,當用戶選擇對應的語言的時候會作相應的切換,計劃使用切換配置文件的方式來修改全部控件的文本。spa
記錄和讀取對措數.net
if (!File.Exists(@"E:\\result.txt")) { FileStream fss = new FileStream("E:\\result.txt", FileMode.Create); StreamWriter sww = new StreamWriter(fss); //開始寫入 sww.WriteLine("0"); sww.WriteLine("0"); //清空緩衝區 sww.Flush(); //關閉流 sww.Close(); fss.Close(); } FileStream fs = new FileStream("E:\\result.txt", FileMode.Open, FileAccess.Read); StreamReader read = new StreamReader(fs, Encoding.Default); string strReadline; while ((strReadline = read.ReadLine()) != null) { result_list.Add(strReadline); } read.Close(); fs.Close(); right_number=Convert.ToInt32(result_list[0]); wrong_number= Convert.ToInt32(result_list[1]); this.right_show_text.Text = right_number.ToString(); this.wrong_show_text.Text = wrong_number.ToString(); Program.right_wrong_init(right_number, wrong_number);
修改對錯數命令行
if (question_num <a) { if (is_count) { is_count = false; this.anwser.Text = ""; Program.gen(); question_num++; this.count_text.Text = "第" + question_num.ToString() + "題"; this.label7.Text = Program.getNum(); } else { Program.gen(); question_num++; this.count_text.Text = "第" + question_num.ToString() + "題"; this.label7.Text = Program.getNum(); this.right_show_text.Text = Program.get_right_count().ToString(); Program.add_wrong_count(); this.wrong_show_text.Text = Program.get_wrong_count().ToString(); FileStream fs3 = new FileStream("E:\\result.txt", FileMode.Create); StreamWriter sw3 = new StreamWriter(fs3); //開始寫入 sw3.WriteLine(Program.get_right_count().ToString()); sw3.WriteLine(Program.get_wrong_count().ToString()); //清空緩衝區 w3.Flush(); //關閉流 sw3.Close(); fs3.Close(); }
計時
public Form1() { InitializeComponent(); //timer控件可用 this.timer1.Enabled = true; //設置timer控件的Tick事件觸發的時間間隔 this.timer1.Interval = 1800; //中止計時 this.timer1.Stop(); }
//開始計時 this.timer1.Start();
private void timer1_Tick(object sender, EventArgs e) { second_r++; if (second_r > 9) { second_r = 0; secend_l++; } if (secend_l > 5) { secend_l = 0; minute_r++; } if (minute_r > 9) { minute_r = 0; minute_l++; } time = minute_l.ToString()+minute_r.ToString()+":" +secend_l.ToString()+second_r.ToString(); this.time_show_text.Text = time; }
1.主界面
2.開始以前必須輸入題目數和表達式中數的運算範圍,不大於這個值
3.開始答題,同時開始計時,答錯答對的題數是提取自文件的,隨着用戶的答題結果而發生變化
4.用戶輸入答案,點擊肯定進行比較,正確就答對題數加1,錯誤就答錯題數加1,而後點擊下一題換題目
5.題目作完或者結束答題,結束計時
本次做業是在第一次做業的基礎上製做出圖形界面,使用的是C#語言編寫的窗體運用程序,計時和對錯數記錄的功能都已經實現,語言切換方面遇到字體資源沒法加載的問題還在解決。
給我最大的感覺就是團隊協做真的頗有趣,剛開始確實會有一些編碼的不統一而產生分歧,可是隨着雙方規範的約定,就會很快適應對方的代碼,也就能成功地整合。
優勢:隊友的思惟很活躍,我在思考一個問題沒有思路時,她能給出我不曾想到的解決思路,瞬間讓我恍然大悟。
缺點:一些變量名字的定義不是很好理解,須要詢問後才能知道。
但願她提升的地方:在定義變量名字時儘可能定義一些對方能瞬間理解的名字。
1.閱讀做業的要求,肯定此次做業的全部需求。
2.根據任務量和各自熟悉的領域劃分,各自負責對應的功能模塊。
3.制定編碼規範,約定參數傳遞的方式,使用的語言,環境,開發模式等等。
4.開始各自的開發,期間遇到難以解決的問題就提出,共同討論和解決。
5.完成各自功能模塊後,整合代碼,解決整合過程當中遇到的問題。
6.測試程序,排查BUG。
PSP2.1 | Personal Software Process Stages | Time Senior Student | Time |
Planning | 計劃 | 20 | 15 |
· Estimate | 估計這個任務須要多少時間 | 24 | 20 |
Development | 開發 | 500 | 650 |
· Analysis | 需求分析 (包括學習新技術) | 30 | 60 |
· Design Spec | 生成設計文檔 | 30 | 10 |
· Design Review | 設計複審 | 30 | 15 |
· Coding Standard | 代碼規範 | 20 | 20 |
· Design | 具體設計 | 25 | 32 |
· Coding | 具體編碼 | 200 | 350 |
· Code Review | 代碼複審 | 20 | 25 |
· Test | 測試(自我測試,修改代碼,提交修改) | 30 | 25 |
Reporting | 報告 | 30 | 45 |
· | 測試報告 | 25 | 15 |
· | 計算工做量 | 20 | 12 |
· | 並提出過程改進計劃 | 20 | 10 |