• 结对第二次作业


    结对编程


    一、题目要求

    本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。我们所选择的是题目一。

    • 能够自动生成四则运算练习题
    • 可以定制题目数量
    • 用户可以选择运算符
    • 用户设置最大数(如十以内、百以内等)
      -用户选择是否有括号、是否有小数
    • 用户选择输出方式(如输出到文件、打印机等)
    • 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)

    二、人员组成及角色分配

    驾驶员:姜淼 Coding
    驾驶员:吴东瀚 博客地址


    三、功能实现

    • 设置四则运算生成器模式
    void SetNum()//定制题目数量
    {
        printf("输入题目数量
    ");
        scanf("%d",&num);
    }
    void SetMul()//选择是否有乘除法
    {
        printf("是否有乘除法,是为1,否为0
    ");
        scanf("%d",&mul);
        if(mul==1)
            mul=4;
        else mul=2;
    }
    void SetMax()//用户设置最大数
    {
        printf("输入最大数
    ");
        scanf("%d",&maximum);
    }
    void SetBrackets()//设置是否有括号
    {
        printf("是否有括号,是为1,否为0
    ");
        scanf("%d",&brackets);
    }
    void SetDecimal()//设置是否有小数
    {
        printf("是否有小数,是为1,否为0
    ");
        scanf("%d",&decimal);
    }
    
    void SetIfprint()//设置是否打印
    {
        printf("是否打印,是为1,存入文件为0,以回车结束
    ");
        scanf("%d",&ifprint);
    }
    
    
    • 生成面板
    void Panel()//生成面板
    {
        printf("1.题目数量          当前:%d
    ",num);
        printf("2.设置是否有乘除法  当前:");
        if(mul==2)
            printf("否");
        else
            printf("是");
        printf("	
    ");
        printf("3.最大数            当前:%d
    ",maximum);
        printf("4.设置是否有括号    当前:");
        if(brackets==0)
            printf("否");
        else
            printf("是");
        printf("	
    ");
        printf("5.是否有小数        当前:");
        if(decimal==0)
            printf("否");
        else
            printf("是");
        printf("	
    ");
        printf("6.是否打印          当前:");
        if(ifprint==0)
            printf("否");
        else
            printf("是");
        printf("	
    ");
        printf("7.显示题目                             
    ");
        printf("8.退出                                 
    ");
    }
    
    • 生成题目
    void SetCreat()//生成打印题目
    {
        fp=fopen("data.txt","w");
        for(int i=0; i<num; i++)
        {
            forebracket();
            inttostr(rand()%maximum+1);
            Adddecimal();
            for(int j=0; j<rand()%3+2; j++)
            {
                chartostr(Symbol[rand()%mul]);
                forebracket();
                inttostr(rand()%maximum+1);
                Adddecimal();
                backbracket();
            }
            if(probrackets==1)
                chartostr(')');
            chartostr('=');
            chartostr('
    ');
            chartostr('');
            probrackets=0;
            if(ifprint==1)
                printf("%s
    ",str);
            if(ifprint==0)
                fputs(str,fp);
            I=0;
        }
        if(ifprint==0)
            printf("已存入文件
    ");
    }
    
    

    四、测试

    下面只给出一个测试样例,具体请看导航员博客。


    五、评价与心得体会、合作照片

    • 评价与心得体会
      第二次结对编程实验是由我和领航员合作完成的。在本次实验中,我担任了驾驶员,我的队友担当了领航员角色,辅助我进行了代码的编写。在编写过程中的过程中我们一起讨论了随机数,括号插入等一系列问题。在讨论的过程中我们对于程序算法,以及实现有了更加深层次的认知并付诸以实践。吴东翰在进行代码测试及改进的过程中给我了很大的帮助,在解决问题过程中,驾驶员可以经常以另外一个角度思考协助我解决问题。在进行测试的过程中,我们从多角度,对我们的程序进行了测试并改进了相关问题。在代码的编写过程中,由于很长时间时间没进行代码的编写,编写的很生疏。而且并没有完成图形界面的题目要求,深感不足,以后应加强学习争取早日迎头赶上,弥补不足。这次的结对作业的过程中,最重要的是让我学到了与人合作编程的好处与方法,为以后更多的合作项目打下了良好的基础。
    • 合作照片

  • 相关阅读:
    EasyDarwin云平台:EasyCamera开源摄像机接入海康威视摄像机PS流转ES流
    详解Base64编码和解码
    codeblocks主题修改(vim)
    破解swf文件
    StarUML使用说明-指导手册
    codeBlocks编译undefined reference to错误
    C_文件包含.h文件和包含.c文件总结
    C的面向对象编程
    如何在Windows环境搭建Object C开发环境
    net开源项目
  • 原文地址:https://www.cnblogs.com/inmessionante/p/8870429.html
Copyright © 2020-2023  润新知