四則運算題目生成 BIT軟體工程基礎結隊專案

2021-09-09 05:27:57 字數 2326 閱讀 9698

psppersonal software process stages

計畫用時(min)

實際用時(min)

planning計畫-

-----estimate

估計這個任務需要多長時間

1010

development開發-

-----analysis

需求分析(包括學習新技術)

120200

----design spec

生成設計文件

6080

----design review

設計複審(和同事審核設計文件)

3020

----coding standard

**規範(為目前的開發制定合適的規範)

1010

----design

具體設計

2060

----coding

具體編碼

600600

----code review

**複審

300300

----test

測試(自我測試,修改**,提交修改)

120200

reporting

報告test report

測試報告

2060

size measurement

計算工作量

1010

postmortem & process improvement plan

事後總結,並提出過程改進計畫

180100

合計1480

1650

ide:visual studio 2017

語言:c#

作業系統: windows10

我設計及編碼基礎的資料結構以及圖形介面部分。

另乙個成員實現表示式生成部分。

開發過程

我們共同制定了乙個**標準,為方便隊員讀懂他人**。

我們進行了詳細的需求分析,並進行了概要設計。

組內分工,並進行詳細設計。

編碼並整合。

編寫圖形介面。

因為要生成表示式,所以最好的先生成一顆表示式樹,通過這顆表示式樹,可以完成對表示式的求值,以及中序表示式的生成。

因為涉及到真分數和整數的運算,所以我設計了乙個number類,統一進行數字的運算。

然後,通過乙個expression類將所有表示式操作封裝。

最後,通過乙個argumentparser類分析cmd引數,進行控制。

總的生成過程為:隨機生成一棵樹,樹的葉節點隨機生成number類,非葉節點隨機生成expression類。

使用者輸入答案判定對錯部分,只需比較使用者輸入的string和已經儲存的答案(乙個number例項)的string是否相等即可。

專案所有的類(不包括gui部分):

number(數字及數字運算)——我

operator(運算子)——我

expression(生成表示式)——我&隊友

argumentparser(分析引數)——隊友

program(入口類)——隊友

4.1 number類

number類的想法是,通過將整數看作分母為一的分數,來統一真分數和整數的運算。

當數字的分母為1時,則只輸出分子,這樣在外部看來,整數還是整數,分數還是分數。但實際上整數與整數之間運算還是需要通分之類的分數操作的。

同時,將number與number之間的運算進行了運算子過載,並將防止除零的**封裝進number類中。

還有number類的格式化列印等操作也被統一封裝。

4.2 operator類

operator類很簡單,乙個例項儲存一種運算子,可以進行格式化列印輸出等操作。目的是儲存隨機生成的運算子。

4.3 problem類

在完成expression類之前,我寫了乙個簡單的生成表示式的版本,problem類。這個類通過隨機生成一顆極限深度為3的樹來生成表示式。

因為是簡單版本,所以**混亂,功能不齊全,主要是提供思路,後經過組內另乙個成員的**重構,形成了現在的expression類的版本,新版本**思路清晰,功能更加齊全,封裝更加完善。

4.4 gui

gui很簡單,通過c#的所見即所得程式設計模式和網路上的查閱資料很容易就寫出了圖形介面。

gui中新增加的歷史紀錄功能並沒有利用資料庫,而是求簡單,在本地建立了檔案。

首先,這是我第一次與別人通過**託管共同完成乙個小專案,我熟悉了軟體開發設計的過程,深刻理解了軟體設計、**質量的重要性。乙個好的專案,需要有好的軟體設計思路作為基礎,以及好的**規範作為工具。

同樣,我明白了小組分工合理的重要性,組內成員的配合很大程度上影響了專案的開發進度,以及軟體質量。

四則運算題目生成程式

a.需求分析 看了大家對於本課程的目標和規劃,很多同學都希望能提高自己的實踐能力,沒有捷徑可走,就是練習 練習再練習!那麼就從第乙個個人專案開始吧,用一周的時間完成乙個基於控制台的四則運算程式,實現乙個自動生成小學四則運算題目的命令列程式 從 構建之法 第一章的 程式 例子出發,像阿超那樣,花二十分...

四則運算題目生成程式

一.作業資訊 部落格班級 作業要求 homework 11377 作業目標 寫乙個四則運算出題程式 學號 3180701201 目錄三.提交與截圖 int a 3000 int w 4000 int q 0 int v 0 int o 0 int measure int x,int y 整數 voi...

自動生成四則運算題目

主要功能 用於計算小學四則運算。設計思想 乙個能處理四則運算的程式,實現語言c 可以處理實數。源 include stdafx.h include calc win.h include calc windlg.h ifdef debug define new debug new endif afxe...