首页 > 编程语言 >结对编程-四则运算

结对编程-四则运算

时间:2024-04-15 22:33:05浏览次数:13  
标签:结对 编程 return num1 num2 int 四则运算

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

总结

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

标签:结对,编程,return,num1,num2,int,四则运算
From: https://www.cnblogs.com/moeleven/p/18136861

相关文章

  • 结对编程-C++四则运算
    合作伙伴:22528071.项目要求要求实现四则运算练习题。这个程序有很多种实现方式:·C/C++·C#/VB.net/Java.Excel·UnixShell.Emacs/Powershell/Vbscript.Perl·Python·两个运算符,100以内的数字,不需要写答案。·需要检查答案是否正确,并且保证答案在0……100......
  • 四则运算结对编程
     这次结对编程由我和王振宇同学共同完成,使用C++语言代码及注释如下#include<iostream>usingnamespacestd;//实现加法运算doubleadd(doublex,doubley){returnx+y;}//实现减法运算doublesubtract(doublex,doubley){returnx-y;}//实现乘法运算do......
  • 结对编程——Java实现四则运算
    任务要求请两位同学以结对编码(一个同学coding,另一个同学在旁边审核代码,之后再交换角色)的方式完成本次实验,并把程序、运算结果、博客体会等截屏发到其中一位同学的博客上,并在博客中体现另一位同学的学号(仅学号不体现姓名)。小学老师要每周给同学出300道四则运算练习题。–这个程......
  • 通义灵码×西安交通大学携手打造“云工开物-高校训练营”,解锁 AI 时代编程学习与实战
    作为大学生如何利用AI“整活儿”?欢迎各位同学关注阿里云与西安交通大学计算机学院携手打造的“云工开物-高校训练营”,带你走近AI编程助手“通义灵码”。通义灵码是阿里推出的免费AI编程工具,拥有实时代码续写与优化、自然语言生成代码、单元测试生成、代码注释生成、代码解释......
  • 4A 安全之授权:编程的门禁,你能解开吗?
    概述在安全管理系统里面,授权(Authorization)的概念常常是和认证(Authentication)、账号(Account)和审计(Audit)一起出现的,并称之为4A。就像上一文章提到的,对于安全模块的实现,最好都遵循行业标准和最佳实践,授权也不例外。作为安全系统的一部分,授权的职责如下:确保授权过程的可控:常见的......
  • Java并发编程实战读书笔记
    1.线程池模型    netty实战中讲到的线程池模型可以描述为:1.从线程池中选择一个空间的线程去执行任务,2.任务完成时,把线程归还给线程池。这个模型与连接池类似。    根据jdk源码的研究,具体的实现模型是,线程池ThreadPoolExecutor中有一个静态内部类Worker,使用装饰器模式扩......
  • 简单四则运算程序实现
    功能要求小学老师要每周给同学出300道四则运算练习题。–这个程序有很多种实现方式:C/C++C#/VB.net/JavaExcelUnixShellEmacs/Powershell/VbscriptPerlPython–两个运算符,100以内的数字,不需要写答案(实现)–需要检查答案是否正确,并且保证答案在0..100之间(实现)–尽可......
  • 实验2 C语言分支与循环基础应用编程
    task1#include<stdio.h>#include<stdlib.h>#include<time.h>#defineN5intmain(){intnumber;inti;srand(time(0));for(i=0;i<N;++i){number=rand()%65+1;printf("20238331%04d......
  • 2024.4.15 学习数理结构“栈”后的四则运算
    使用栈的四则运算1.题目描述用顺序栈和算符优先法求解表达式的值2.任务定义和问题分析四则运算基本运要通过算法优先级和后缀表达式的思想完成,应当由以下功能:(1)可以先求解后缀表达式。然后再求值,也可以一并完成。(2)表达式中的运算为加、减、乘、除四种,包括括号,参与运算的数字为......
  • 函数式编程思想 VS 可变性理论 20240415
    函数式编程(FunctionalProgramming,FP)是一种编程范式,它将计算视为数学函数的求值,并避免使用程序状态以及易变对象。函数式编程的核心思想包括:不可变性(Immutability):在函数式编程中,数据是不变的。一旦创建了一个数据结构,就不能再改变它。所有的操作都会产生新的数据结构。纯......