首页 > 编程语言 >结对编程

结对编程

时间:2023-04-12 14:37:08浏览次数:27  
标签:结对 cout 编程 100 include getchar

2152201 2157132

·关于结对编程 

结对编程(Pair programming)来自于极端编程XP(eXtreme Programming),是它的十二个最佳实践之一。顾名思义,结对编程就是两个程序员坐在一起,结对进行代码开发。在极限编程中,所有的软件产品都是由两个程序员并排坐在一起,在同一台机器上共同完成的。

关于结对编程在网上有很多声音,相对比其他的敏捷实践,它的争议几乎是最大的。根据VersionOne的14届年度敏捷状态报告,在组织采用的敏捷工程实践中,结对编程占受访企业的31%,排第八位,仅次于持续部署,高于TDD,由此可见,结对编程还是有一席之地、可取之处的。

 

·编程需求主体:

1.小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式:

- C/C++

- C#/VB.net/Java

- Excel

- Unix Shell

- Emacs/Powershell/Vbscript

- Perl

- Python

2. 一或两个运算符(a+b或a+b+c),100以内的数字,不需要写答案

3. 需要检查答案是否正确,并且保证答案在0..100之间

4. 尽可能地多设置一些条件

 

·设计内容:

1. 随机生成100以内的四则运算题目

2. 支持多运算符

3. 提交后判断对错并显示正确结果

 

·设计思路

采用C++语言,设计了五个函数,分别为打印菜单以及加减乘除的函数,为了保证结果以及题目均为100以内且随机,我们采用rand()%100来生成题目。同时加法和乘法生成后再通过结果是否超过100来改变flag的值从而决定是否更换题目。在除法函数中,还增加了是否出整除题目的选项,供做题人自主选择。同时还可以选择每类运算随机出题的数量,做一道批改一道,方便及时订正。

 

·编程现场

 

·代码

#include <iostream>

#include <ctime>

#include <cstdlib>

#include <conio.h>

#include<cmath>

#include <iomanip>

using namespace std;

void menu();

 

int main()

{

system("cls");

menu();

return 0;

}

void addtion()

{

int a,b,i,d,number;

srand ( (unsigned) time (NULL) );

system("cls");

cout<<"\t请输入题目数!\n\t\t";

cin>>number;

getchar();

cout<<"\t程序将会随机出题,请输入正确答案!\n\t\t";

for(i=0;i<number;i++)

{

a=rand()%100;

b=rand()%100;

if(a+b>=100)

 {

i--;

 continue;

 }

cout<<"\n\t"<<a<<"+"<<b<<"=";

cin>>d;

 if(d==a+b)

{

cout<<"\t恭喜答对了\n";

}

else cout<<"\t很可惜,错了哦!答案是"<<a+b<<"\n";

}

getchar();

cout<<"\t你已经做完测试,请按任意键返回菜单\n";

getchar();

}

 

 

void subtraction()

{int a,b,i,d,number;

srand ( (unsigned) time (NULL) );

system("cls");

cout<<"\t请输入题目数!\n\t\t";

cin>>number;

getchar();

cout<<"\t程序将会随机出题,请输入正确答案!\n\t\t";

for(i=0;i<number;i++)

 {a=rand()%100;

b=rand()%100;

if(a-b<=0)

{ i--;

 continue;

}

cout<<"\n\t"<<a<<" - "<<b<<"=";

 cin>>d;

if(d==a-b)

 {

 

            cout<<"\t恭喜答对了\n";

 

 }

 

        else cout<<"\t很可惜,错了哦!答案是"<<a-b<<"\n";

 

     }

getchar();

cout<<"\t你已经做完测试,请按任意键返回菜单\n";

getchar();

}

 

 

void multiply(){

int a,b,i,d,number;

srand ( (unsigned) time (NULL) );

system("cls");

cout<<"\t请输入题目数!\n\t\t";

cin>>number;

getchar();

cout<<"\t程序将会随机出题,请输入正确答案!\n\t\t";

for(i=0;i<number;i++)

{

a=rand()%100;

b=rand()%100;

if(a*b>=100)

{

i--;

continue;

}

cout<<"\n\t"<<a<<" * "<<b<<"=";

cin>>d;

if(d==a*b)

{

cout<<"\t恭喜答对了\n";

 

}

else cout<<"\t很可惜,错了哦!答案是"<<a*b<<"\n";

}

getchar();

cout<<"\t你已经做完测试,请按任意键返回菜单\n";

getchar();

}

 

 

void division()

{

int i,a,b,number,c,f,g;

double d,e;

srand ( (unsigned) time (NULL) );

system("cls");

cout<<"\t请输入题目数!\n\t\t";

cin>>number;

getchar();

cout<<"\t是否整除?(是1/否0)\n\t\t";

cin>>c;

getchar();

cout<<"\t程序将会随机出题,请输入正确答案!\n\t\t";

if(c==0)

{

for(i=0;i<number;i++)

{

a=rand()%100;

b=rand()%100;

if((a<b)||b==0||a%b==0)

{

i--;

continue;

}

cout<<"\n\t"<<a<<" / "<<b<<"=";

e=(a*1.0)/b;

cin>>d;

if(fabs(e-d)<0.001)

{

cout<<"\t恭喜答对了\n";

}

else

cout<<setprecision(2)<<"\t很可惜,错了哦!答案是"<<e<<"\n";

}

getchar();

cout<<"\t你已经做完测试,请按任意键返回菜单\n";

 

getch();

}

else

{

for(i=0;i<number;i++)

{

a=rand()%100;

b=rand()%100;

if(a<b||b==0||a%b!=0)

{

i--;

continue;

}

cout<<"\n\t"<<a<<" / "<<b<<"=";

g=a/b;

cin>>f;

if(g==f)

{

cout<<"\t恭喜答对了\n";

}

else cout<<"\t很可惜,错了哦!答案是"<<a/b<<"\n";

}

getchar();

cout<<"\t你已经做完测试,请按任意键返回菜单\n";

getch();

}

}

 

 

void menu()

{

int i;

cout<<"\n\n\t******************************\n";

cout<<"\t  欢迎使用四则运算练习软件  \n";

cout<<"\t   2152201 2157132结对编程 \n";

cout<<"\t          1- 加法           \n";

cout<<"\t          2- 减法           \n";

cout<<"\t          3- 乘法           \n";

cout<<"\t          4- 除法           \n";

cout<<"\t          0- 退出           \n";

cout<<"\t******************************";

i=getch();

switch(i)

{

case '1':addtion();break;

case '2':subtraction();break;

case '3':multiply();break;

case '4':division();break;

case '0':exit(0);break;

default:system("cls");

cout<<"\n\t\t请输入1~4!\n\n\n";

getch();

break;

}

main();

}

 

 

 

·演示结果

1.主菜单界面

2.加法界面

3.减法界面

4.乘法界面

5.除法界面(整除)

6.除法界面(非整除)

·心得体会

合作配合:在结对编程中,合作配合是非常重要的。我们需要相互协调,互相支持,尊重对方的想法,并共同解决问题。

分工合作:在编程任务中,我们可以根据个人的专长和技能来分配不同的任务,充分发挥每个人的优势,从而提高整个团队的效率和质量。

代码注释和文档:在编写代码过程中,我们需要及时添加注释和文档,以方便后续的维护和修改,同时也可以提高代码的可读性和可理解性。

测试和调试:在编写程序时,我们需要及时测试和调试程序,以确保程序的正确性和健壮性。我们可以使用单元测试、集成测试等方法来测试程序的各个部分,并尽可能覆盖各种输入和输出情况。

关于组织是否要采用结对编程这项实践,主要是它到底适不适合自己的项目。选择某一项实践的时候我们要形神兼具,如果仅仅是两个人用一台电脑,一个写,一个看,这只是形式上符合,而重点是要理解这项实践它背后的理念。在结对中通常要求两个人水平比较相近,这样可以形成互补,引起讨论。两个人的智慧大于一个人的智慧,这是结对编程的基本依据,这样就会提升质量,提升工作效率。

 

标签:结对,cout,编程,100,include,getchar
From: https://www.cnblogs.com/smrzawyc/p/17309663.html

相关文章

  • 编程语言和编程工具
    使用过的语言:C、C++、Java、PythonC语言的优势:C语言编写的代码效率高,运行速度快。C语言的语法和功能简单,易于学习和理解。C语言具有很高的可移植性,可以在多种不同的平台上运行。C++语言的优势:C++语言是一种强类型的面向对象编程语言,可以方便地进行模块化的设计和开发。C......
  • CodeGeeX论文发表:揭秘AI辅助编程工具背后的大模型
    近日,CodeGeeX模型迭代v1.5版本上线,用户反馈模型效果和使用效率较之前有大幅提升。恰逢CodeGeeX团队在arxiv上发布了论文,详细介绍了CodeGeeXAI编程辅助工具背后的代码生成大模型的架构、训练过程及推理加速等工作。今天我们对这篇论文的核心信息进行解读,让更多的开发者了解Cod......
  • jQueryUI教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介JqueryUI入门教程-从基本到高级概念的简单简单步骤了解JqueryUI,其中包括概述,环境设置,交互,可拖动,可放置,可调整大小,可选,可排序,小部件,手风琴,自动完成,按钮,Datepicker,对话框,菜单,Progressbar,Slider,Spinner,Tabs,Tooltip,Effects,AddClass,ColorAnimation,Effect,Hide,RemoveClass......
  • 结对编程——四则运算
    目录一、实验目的二、实验方法三、实验内容四、实验代码五、实验结果六、实验心得 一、实验目的体验结对编程,两人合力完成一个编程(队友2152231)。二、实验方法两人使用一台机器,使用VisualStudio2019进行编程,一个人输入代码,而另一个人审查他输入的每一行代码,在进行角......
  • JavaScript编程实现tab选项卡切换的效果+1
    之前在“圳品”信息系统使用了tab选项卡来显示信息,详见:JavaScript编程实现tab选项卡切换的效果在tab选项卡中使用其它<div>来显示信息就出现了问题,乱套了,比如下面的这段代码:<!DOCTYPEhtml><html><head><metaname="Author"content="PurpleEndurer"><title>“圳品”信息系......
  • 提升工作效率的顶级AI工具:写作、图像、音视频、编程与效率
    ChatGPT风靡全球,人人可用!小红书上有关ChatGPT的笔记已有10w+篇,相关话题浏览量也达到了1.12亿次。其中讨论最为热烈的,要数“ChatGPT使用教程”。(当然,类似的话题还包括,教你如何使用Midjourney等等)甚至还有人通过ChatGPT教学,月入十万。在如今处处都追求降......
  • C++核心编程之-函数提高
    函数提高函数默认参数在c++中,函数的形参列表中的形参是可以有默认值的。语法:返回值类型函数名(参数=默认值){}注意点:1、如果某个位置参数有默认值,那么从这个位置往后,必须都要有默认值​ 2、如果函数声明有默认值,函数实现的时候就不能有默认参数函数占位参数C++中......
  • C++核心编程之-引用
    引用引用的基本使用作用:给变量起别名语法:数据类型&别名=原名引用的注意事项引用必须初始化引用在初始化后,不可以改变示例:#include<iostream>usingnamespacestd;intmain(){ inta=30; intb=50; //int&c;//这行错误,引用必须初始化 int&c=a......
  • 结对编程——300题四则运算
    一、程序介绍本次我和2152524同学结对编程完成的程序是“300道四则运算练习题”,本次程序开发的难点在于2个运算符的各4种形态也即共16种组合方式。我们采用最传统的方式——穷举法,将十六种组合用switch函数一字排开,一个个去输出结果。二、程序源码1#include<iostr......
  • 结对编程-四则运算
     本次结对编程作业由我和2152714完成源代码:/**Createdbyzouranon2023/4/10.*Description:四则运算*prams:*/#include<ctime>#include<random>#include"iostream"usingnamespacestd;//存储运算符classOperations{private:charoperation[4]{}......