結對程式設計-四則運算

莫十一發表於2024-04-15

這是一個由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;
}

程式設計過程

在整個程式的編寫過程中,由於需要遵循許多運算上的規則,所以在初步完成程式碼時有很多小錯誤,但是在我和我的隊友的努力下,我們透過多次實驗逐漸排查程式碼存在的問題並進行修正,最終成功的得到了以上的最終程式碼。

執行結果展示

image

總結

透過這次結對程式設計,我發現了自己在獨自寫程式碼時存在許多不足,在和同伴結對程式設計時,我們雙方可以及時向對方提出建議,發現對方在程式設計中平時注意不到的一些問題和不足,這對我們兩個都是一次成長,讓我們意識到了合作的重要性。

相關文章