這是一個由c++實現的簡單的四則運算程式,使用者總共需要完成300題整數四則運算。
結對夥伴:2252721
程式要求
- 兩個運算子,100 以內的數字,不需要寫答案。
- 需要檢查答案是否正確,並且保證答案在0-100之間。
- 需要符合運算規則
透過仔細閱讀分析題目要求,我和我的同伴決定使用c++來完成這個程式
原始碼
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
using namespace std;
int generateRandomNumber(int min, int max) {
return rand() % (max - min + 1) + min;
}
char generateRandomOperator() {
char operators[] = {'+', '-', '*', '/'};
int index = rand() % 4;
return operators[index];
}
int calculate(int num1, char op, int num2) {
switch (op) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
return num1 / num2;
default:
return 0;
}
}
bool isAnswerInRange(int answer) {
return answer >= 0 && answer <= 100;
}
int main() {
srand(time(0));
int count = 300;
int cnt_t=0;
for (int i = 0; i < count; i++) {
int num1 = generateRandomNumber(0, 100);
int num2 = generateRandomNumber(1, 100);
char op = generateRandomOperator();
int result = calculate(num1, op, num2);
if(op=='/' && (num1<num2 || num1 %num2!=0) || op=='-' && (num1<num2 ))
{
i--;
continue;
}
if (!isAnswerInRange(result)) {
i--;
continue;
}
cout << num1 << " " << op << " " << num2 << " = ";
int userAnswer;
cin >> userAnswer;
if (userAnswer == result) {
cout << "答案正確!" << endl;
cnt_t++;
} else {
cout << "答案錯誤. 正確答案為 " << result << endl;
}
}
cout<<"恭喜你完成了300題,你一共答對的題數為"<<cnt_t;
return 0;
}
程式設計過程
在整個程式的編寫過程中,由於需要遵循許多運算上的規則,所以在初步完成程式碼時有很多小錯誤,但是在我和我的隊友的努力下,我們透過多次實驗逐漸排查程式碼存在的問題並進行修正,最終成功的得到了以上的最終程式碼。
執行結果展示
總結
透過這次結對程式設計,我發現了自己在獨自寫程式碼時存在許多不足,在和同伴結對程式設計時,我們雙方可以及時向對方提出建議,發現對方在程式設計中平時注意不到的一些問題和不足,這對我們兩個都是一次成長,讓我們意識到了合作的重要性。