設計思路:
功能一:題目避免重複。
1、在原程式中將原程式的資料進行記錄(三組資料用佇列或者是棧);
2、從第二次迴圈開始將三項紀錄依次與之前記錄的資料進行比較(
for迴圈?)
功能二:可定製。控制迴圈的次數
功能三:是否有乘除法:控制運算子
是否有括號:沒有實現
數值範圍:控制隨機數的範圍
有無負數:判斷兩個數值的大小,遞迴
除法有無餘數:若規定無餘數則生成隨機數並判斷是否符合要求,直到符合要求為止。
流程圖:
程式源**:
//執行結果截圖:可憐的二柱子同學,老師又對他的自動出題系統提出了新的要求
//this is a program of math operation 02
//2016/3/17
#include#include
#include
using
namespace
std;
inta;
inta1,a2;
intb;
intb1,b2;
intitem;
intd;
intp;
inty;
char c[4
];int
main()
}if(y == 3
)
if(cy == 0
) }}
else
cout
<< a << "
"<< c[y] << "
"<< b << "
"<< "="
<
}else
//分數
y = (0 + rand()%3
);
if(y == 1
)
if((b1/b2)>(a1/a2))
}if(y == 3
)
}else}}
for(int s = a1;s > 1;s--)
}for(int s = b1;s > 1;s--)
}cout
<< a1<
""<
"<< b1 <
"<
<
}else
}cout
<< a << "
"<< c[y] << "
"<< b << "
"<< "="
<
}else
//分數
y = (0 + rand()%1
); b1 = (1+rand()%max);
b2 = (1+rand()%max);
if(b1>b2)
if((b1/b2)>(a1/a2))
}for(int s = a1;s > 1;s--)
}for(int s = b1;s > 1;s--)
}cout
<< a1<
""<
"<< b1 <
"<
程式分析與反思:
在原來的程式上進行了分數的約分(分子分母同時除以乙個數s若是可以除盡則將這個數約去,可以利用for迴圈,當s大於分子是便可以停止)。
要根據客觀實際即客觀需求,分子分母的大小問題,除法是否有餘數等問題都應該想到。還有沒有實現的功能以及控制運算項為幾項的問題都應該盡快解決。
周活動總結表
姓名:黃麗萍
日期:3.19.2016
日期任務
聽課編寫程式
閱讀課本
準備考試
日總計週日
周一周二
週三周四
周五週六
周總計時間記錄日誌
學生:黃麗萍
教師:王建民老師
課程:psp
日期開始時間
結束時間
中斷時間
淨時間活動備註c
u3/14
9:35
9:50
設計思路
3/14
20:00
21:00
自己先思考補充
聊天了3/15
19:00
19:30
小組討論設計思路
3/17
21:00
21:30
閱讀3/18
19:00
21:00
編寫程式
3/19
8:00
10:00
閱讀3/19
13:00
16:00
編寫程式
學生:黃麗萍
老師:王建民老師
程式編號:02
日期:2016/3/19
日期編號
型別引入階段
排除階段
修復時間
修復缺陷
3/14
忽略問題
此程式的上個版本
10min
描述:未化簡分子分母
3/19
02命名問題
10描述:命名不規範
軟體工程個人作業02
一 設計思想 1 題目避免重複 將數放入陣列,利用陣列進行比較 第1個和2.3.4 n比較,然後第2個跟3.4.5 n比較,以此類推 2 可定製 數量 列印方式 新增語句,設定數量 3 可以控制下列引數 是否有乘除法 有,則呼叫全部的符號,無,則呼叫僅加減符號 是否有括號 最多可以支援十個數參與計算...
軟體工程個人作業02
設計思路 在第一次實驗的基礎上 第一次並沒有建類 建立arithmetic類,然後依次新增新的功能模組 新增新的函式體或者在原有函式體上做改動 通過switch語句實現功能的選擇不同的case語句呼叫不同的函式體實現功能 通過對隨機數對4求餘數來隨機產生不同的運算子 通過隨機數對10求餘來確定括號的...
軟體工程個人作業02
設計思想 1,定義二維陣列,生成隨機數後在陣列內進行依次比較從而避免重複 2,迴圈體終止條件可定義從而可以定義數量 3,控制生成符號的隨機數從而控制有沒有乘除法 4,控制生成隨機數從而控制數值範圍 5,定義全域性變數控制加減有無負數,控制隨機數的生成範圍 6,通過全域性變數控制是否有餘數生成,在除法...