1. 程式人生 > >四則運算軟件項目報告

四則運算軟件項目報告

加減乘 需求 result 估計 兩個 分享圖片 int git 文檔

github項目地址:https://github.com/18093258022/Calculate.git

一.需求分析

  • 程序可接收一個輸入參數n,然後隨機產生n道加減乘除練習題,每個數字在 0 和 100 之間,運算符在3個到5個之間。
  • 為了讓小學生得到充分鍛煉,每個練習題至少要包含2種運算符。同時,由於小學生沒有分數與負數的概念,你所出的練習題在運算過程中不得出現負數與非整數,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 練習題生成好後,將你的學號與生成的n道練習題及其對應的正確答案輸出到文件“result.txt中,不要輸出額外信息,文件目錄與程序目錄一致。
  • 當程序接收的參數為4時,以下為輸出文件示例。

技術分享圖片

二.功能設計

  • 實現生成n個可以加減乘除四則運算的式子並能輸出正確結果
  • 式子中的每一個值都在0~100之間
  • 式子的結果不為負,且除法不會出現非整數
  • 小學生沒有分數與負數的概念,所出的練習題在運算過程中不得出現負數與非整數,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 練習題生成好後,將學號與生成的n道練習題及其對應的正確答案輸出到文件“result.txt

三.設計實現

此題目為隨機產生四則運算,首先要產生隨機數,故用random()產生兩個兩位的隨機整數,然後用Switch語句分別實現加減乘除,隨機產生0,1,2,3,分別代表加減乘除,考慮到小學生沒有負數的概念,所以在進行減法時,假如出現被減數大於減數,則將兩數交換,在進行減法;考慮到除數不能為0,則在產生一個隨機數,利用while循環,在每個運算符中用if-else語句分了幾種情況。

四.測試運行

技術分享圖片

五.核心代碼

for(int n=0;n<r;n++)
{
a=lianxi.f();
b=lianxi.f();
int i=(int)(Math.random()*100);
int j=(int)(Math.random()*100);
switch((int)(Math.random()*4))
{
case 0:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"+"+j+"=");
else if(k==1)
System.out.println(a+"+"+j+"=");
else if(k==2)
System.out.println(b+"+"+a+"=");
break;
case 1:
k=(int)(Math.random()*3);
if(i<j)
{
int temp=i;
i=j;
j=temp;
}
if(k==0)
System.out.println(i+"-"+j+"=");
else if(k==1)
System.out.println(j+"-"+a+"=");
else if(k==2)
System.out.println(b+"-"+a+"=");
break;
case 2:
k=(int)(Math.random()*3);
if(k==0)
System.out.println(i+"*"+j+"=");
else if(k==1)
System.out.println(a+"*"+j+"=");
else if(k==2)
System.out.println(b+"*"+a+"=");
break;
case 3:
while(j==0)
j= (int)(Math.random()*100);
System.out.println(i+"/"+j+"=");
break;

六.總結

由於對java語言不熟練,導致寫程序時花費了大量時間,而且在寫代碼之前,對需求分析不足,導致只能實現兩個運算數的四則運算。由於時間和能力有限,所以僅完成了部分功能,沒有將運行結果輸出到文本文檔中。

七.psp

PSP2.1

任務內容

計劃完成需要的時間(min)

實際完成需要的時間(min)

Planning

計劃

10

30

Estimate

估計這個任務需要多少時間,並規劃大致工作步驟

15

30

Development

開發

200

300

Analysis

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

25

30

Design Spec

生成設計文檔

10

10

Design Review

設計復審 (和同事審核設計文檔)

15

10

Coding Standard

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

5

5

Design

具體設計

30

30

Coding

具體編碼

120

200

Code Review

代碼復審

10

10

est

測試(自我測試,修改代碼,提交修改)

15

25

Reporting

報告

35

40

Test Report

測試報告

25

35

Size Measurement

計算工作量

3

3

Postmortem & Process

Improvement Plan

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

5

10

四則運算軟件項目報告