天天看點

作業三—簡易四則混合運算

作業要求來源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

github倉庫位址:https://github.com/tianshizhao/tianshizhao/commits?author=tianshizhao

一、題目要求:

像《建構之法》的人物阿超那樣,寫一個能自動生成國小四則運算題目的指令行 “軟體”。

具體要求:任何程式設計語言都可以,指令行程式接受一個數字輸入,然後輸出相應數目的四則運算題目和答案。例如輸入數字是 30, 那就輸出 30 道題目和答案。 運算式子必須至少有兩個運算符,運算數字是在 100 之内的正整數,答案不能是負數。 如:

23 - 3 * 4 = 11

擴充要求:

1) 要求能出和真分數 (二分之一, 十二分之五,等)相關的練習題。

2) 并且要求能處理使用者的輸入,并判斷對錯,打分統計。 要求能處理使用者輸入的真分數, 如 1/2, 5/12 等。

二.設計

1.用了C語言來設計這個程式

2.主要設計了六個函數,分别是加、減、乘、除、運算符和操作這四個函數

3.答案精确到0.1,主要用了兩個if來加以判斷

4.用了五個随機,從何實作自動生成随機數和随機符号

a=rand()%100;

b=rand()%100;

c=rand()%100;

j=rand()%4;

k=rand()%4;

5.累計所有答對的題目,最後算出最後得分,這裡用了一個全局函數g作媒體實作

f=100/n*g;

printf("\n總共答對%d道題\n",g);

printf("最後得分為%d分\n",f);

三.問題及建構思想

剛開始做的時候,以為隻有一個運算符,導緻前面設計的建構思維全部白費,然後想了很久也沒有找到連接配接兩個式子的混合運算模式,

最後在百度上查了相關資料,才漸漸明白連接配接兩個運算符号。這個運算式子主要由五大部分組成,(數子、運算符、數、運算符、數)

我把他們全部拆除了,全部随機,然後一個一個組出來,最後就實作了一個式子。

p1=fuhao(j);

p2=fuhao(k);

printf("%d %c %d %c %d = ",a,p1,b,p2,c);

scanf("%f",&answer);

四。實驗截圖

作業三—簡易四則混合運算
.個人軟體過程耗時估計與統計表:

PSP2.1 Personal Software Process Stages Time Senior Student(h) Time(h)
Planning 計劃 1
· Estimate 估計這個任務需要多少時間 20 30
Development 開發
· Analysis 需求分析 (包括學習新技術)
· Design Spec 生成設計文檔
· Design Review 設計複審 2
· Coding Standard 代碼規範 5
· Design 具體設計
· Coding 具體編碼 8
· Code Review 代碼複審 3
· Test 測試(自我測試,修改代碼,送出修改) 4 6
Reporting 報告
· 測試報告 0.5
計算工作量
并提出過程改進計劃