结对编程-四则运算

这是一个由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

总结

通过这次结对编程,我发现了自己在独自写代码时存在许多不足,在和同伴结对编程时,我们双方可以及时向对方提出建议,发现对方在编程中平时注意不到的一些问题和不足,这对我们两个都是一次成长,让我们意识到了合作的重要性。

posted @ 2024-04-15 22:29  莫十一  阅读(14)  评论(0编辑  收藏  举报