軟體工程個人作業03

2022-05-09 23:33:52 字數 3269 閱讀 8309

planning

development

•       design

1. 開闢兩個陣列乙個為double型別另乙個為char型別用於存放生成的隨機數和隨機運算子

2.編寫兩個方法分別用於生成指定範圍數內的隨機數和加減乘除四種運算子

3.呼叫這兩個函式將生成的隨機數和運算子分別存到事先設定好的陣列中(存放的個數可以人為設定)

4.為避免出現除數為零的情況設定乙個函式檢驗並修改生成的為零的隨機數

5.呼叫以上編寫好的函式和已經存放資料的陣列編寫output函式用於輸出生成的算式

6.編寫計算算式的方法並返回乙個計算結果(具體方法參見**方法calculate(int number);)

7.變寫主函式並在函式體中實現按需輸出算式判斷正誤的功能。

•       coding

#include

using namespace std;

double date[10];//存放資料的陣列

char operator[11];//存放運算子的陣列

char operatorgo()//生成運算子的方法

if (a == 1)

if (a == 2)

if (a == 3)

/*if (a == 4)*/}

void cun(int number, int scope)//將生成的資料存到陣列內,scope為資料範圍

for (int j = 0; j < number - 1; j++)

}void changedate(int scope)}}

/*void changeopreator(double number)

}}*/

void output(int number, int scope)//輸出計算式

cout << date[number - 1];

cout <

}//以上為生成算式部分

//下面是計算方法

double calculate(int number)

//建立動態陣列用於儲存中間步驟的計算結果

char **couteroperator;

couteroperator = new char *[number - 2];

for (double k = 0; k < number - 2; k++)

for (double i = 0; i < number - 1; i++)

}*/for (int i = 0; i < number-1; i++)

if (operator[i] == '/')

}for (int j = 0; j < number - 1; j++)

if (operator[j] == '-')

}return date[number - 1];

}void main()

if (chooce == '1')

n:cout << "                   請輸入參加計算的資料範圍" << endl;

cin >> scopes;

if (scopes <= 1)

b:cout << "                   請輸入生成表示式的個數" << endl;

cin >> number2;

if (number2 < 0)

for (int k = 0; k < number2; k++)

else

}cout << "您一共計算了" << number2 << "道算式,其中回答正確" << r << "道,回答錯誤" << e << "道" << endl;

goto o;

}if (chooce = '2')

}

•       test

實驗執行結果截圖:

如上圖支援各種符號多個資料的計算;

postmortem:

1.輸出的計算結果有誤;

解決方法:在計算**部分新增中間數值的結果輸出,從而找出**的出錯原因;

2. 在回答計算結果正確的情況下即(輸入的結果等於計算結果)報錯;

解決方法:

目前不知道原因

但是:將if與else的條件調換以後問題就解決了。。。

周總結進度表:

日期任務

聽課程式設計

閱讀準備考試

日總計週日

周一周二

週三周四

周五週六

周總計總計

120+120

220+540

210+100

530+340

平均最大

最小以前各週的累計時間

總計平均

最大最小

事件記錄日誌表:

日期開始時間

結束時間

中斷時間

淨時活動備註c

u3/21

8:00

10:00

聽課14:30

18:00

程式設計序19:00

22:00

預習複習課本知識

3/22

15:00

18:00

未知約200

程式設計,思考

思考加程式設計

3/23

15:00

16:00

閱讀《構建之法》

19:00

20:00

程式設計3/24

14:30

16:30

web

3/25

15:00

18:00

程式設計,作業

《軟體工程概論》進度表

3/26

null

null

null

null

null

null

缺陷記錄日誌表:

日期編號

型別引入階段

排除階段

修復時間

修復缺陷

3/21

正確計算結果為非整數,但是比較進行整數比較(資料型別錯誤)

編譯階段

重新編譯階段

3/23

運算子出錯

編譯階段

斷點檢查階段

存放運算子的陣列開闢記憶體不夠出現溢位

軟體工程個人作業03

設計思路 1 直接輸出整數加減乘除的答案。然後取餘餘數用括號括起來。2 分數先通分 將分母相乘通分 最後答案找分子分母的最小公約數來約分。程式源 include include includeusing namespace std void dealaddandsubtract1 int n 取值 ...

軟體工程個人作業03

設計思想 利用結果判斷,若錯誤則輸出 錯誤!正確則輸出 正確!同時進行計數!程式源 include include include using namespace std void out int x,int x0,int y,int y0,int z,int z0,int i,int j,int ...

軟體工程個人作業03

設計思想 1.儲存 二維陣列 都是數字 數字就是數字符號總是 0,1,2,3 2.輸出 判斷陣列每位上的數字 奇數字就是數字,偶數為就是符號0,1,2,3分別代表加減乘除 3.計算 將相應的陣列賦值給棧,用棧來計算結果,具體思想就是設定兩個棧,乙個為符號棧,乙個是數字棧,判斷符號棧中有連續兩個加減法...