结对编程作业:在简单的实现四则运算小练习

发布时间 2023-04-12 19:27:01作者: kyrie1234

一、概述

  实现了一个简单的四则运算小练习,能够让用户选择不同的难度等级,并进行相应的数学计算练习。代码通过随机生成两个数字、选择随机的四则运算符号,并显示结果的方式,让用户进行练习。根据用户输入的不同选项,程序会循环执行,直到用户停止练习。同时,该代码也提供了一定的错误处理机制,确保练习过程的顺畅性。

编写人员:

2152122(亚索)

2152110(永恩)

  1. 编写目的

实践结对编程的过程

三、代码

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int s;
    while(s==0){
        int n;
        int a = 0;
        int b = 0;
        int mode = 0;
        int i,j;
        printf("**********************************************************\n");
        printf("\n");
        printf("\n");
        printf("                  欢迎来到四则运算小练习\n");
        printf("                    请选择合适的难度\n");
        printf("              1.小学难度            2.小学以上难度");
        printf("\n");
        printf("\n");
        printf("**********************************************************\n");
        scanf("%d",&n);
        if(n==1){
            int p=0,x;
            while(p==0){
                printf("无法整除请保留一位小数\n");
                for(i=0;i<300;i++)
                {  
                    a = rand() % 100; 
                    b = rand() % 100;
                    if(a>=b){
                        mode = rand() % 4;
                    }
                    if(a<b){
                        mode = rand() % 3;
                    }
                    switch(mode)
{
case 0:
    printf("%2d+%2d =   ",a,b );
    break;
case 1:
    printf("%2d*%2d =   ",a,b );
    break;
case 2:
    printf("%2d/%2d =   ",a,b );
    break;
case 3:
    printf("%2d-%2d =   ",a,b );
    break;
default:
    printf("somethingis wrong!\n");
    break;
}
                }
                printf("是否再次练习?\n 输入1继续练习 输入2返回首页");
                scanf("%d",&x);
                if(x==1){
                    p=0;
                }
                else if(x==2){
                    p++;
                    s=0;
                }
                else{
                    p++;
                    s++;
                }
            }
        }
        if(n==2){
            int p=0,x;
            while(p==0){
                printf("无法整除请保留两位小数\n");
                for(j=0;j<300;j++) 
                {  
                    a = rand() % 100; 
                    b = rand() % 100; 
                    mode = rand() % 4; 
                    switch(mode) 
{
case 0:
    printf("%2d+%2d =   ",a,b );
    break;
case 1:
    printf("%2d-%2d =   ",a,b );
    break;
case 2:
    printf("%2d*%2d =   ",a,b );
    break;
case 3:
    printf("%2d/%2d =   ",a,b );
    break;
default:
    printf("somethingis wrong!\n");
    break;
}
                }
                printf("是否再次练习?\n 输入1继续练习 输入2返回首页");
                scanf("%d",&x);
                if(x==1){
                    p=0;
                }
                else if(x==2){
                    p++;
                    s=0;
                }
                else{
                    p++;
                    s++;
                }
            }
        }
    }
    return 0;
    
}

四、编程过程

这段代码中主要的功能是实现一个简单的四则运算小练习。为了实现这个目标,可以将代码分为三个部分:

Part 1(用户界面):由(亚索)负责,主要包括打印欢迎语和指令,以及接收用户输入的难度等信息。

Part 2(题目生成):由(永恩)负责,主要包括根据用户指定的难度,生成一系列的四则运算题目。

Part 3(控制流程):由(亚索,永恩)共同完成,主要包括控制程序的执行流程,生成新的题目,当用户想要退出时,退出程序等。

最后,由(亚索,永恩)在 Part 1 和 Part 2 的基础上进行集成测试,确保整个程序能够正常地工作。

五、结果展示

六、实验体会

     在这次实验中,我们采用了结对编程的方式来完成代码的开发。通过这种方式,我认识到了许多结对编程的优点,提高代码质量、加快开发进度、增进开发者之间的交流和合作等。

      结对编程可以有效避免单人开发中的偏见思考,减少代码中潜在的错误和缺陷。有时候,我们自己写的代码很容易忽略一些小细节,而两个人协同开发能够更加全面地审查代码,提高代码的质量。两个人相互配合,共同解决问题,不仅能够减少代码中的错误,还可以更好地协调工作安排,提高开发效率。

       在结对编程过程中通过交流和沟通,双方能够互相学习和分享经验,从而增进彼此之间的信任和合作。总的来说,结对编程是一种非常有效的协作开发方式,可以提高代码质量、加快开发进度,同时也能增进开发者之间的交流和合作。这次实验让我更好地认识到了结对编程的优点,并且体验了它所带来的好处。在未来的开发工作中,我会积极采用结对编程的方式,提高代码质量和开发效率。